Last active
October 12, 2018 02:43
-
-
Save akabe/24979afbf95c4cf4393f589cda997e1b to your computer and use it in GitHub Desktop.
OPAM/OCaml scripts for CI
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env sh -xeu | |
## | |
## Usage: | |
## curl -sL https://gist.githubusercontent.com/akabe/24979afbf95c4cf4393f589cda997e1b/raw/install_opam.sh | sh -xeu | |
## | |
## Variables: | |
## - $OPAM_PREFIX Path to install opam | |
## - $OPAM_VERSION Version of OPAM to be installed | |
## - $OCAML_VERSION Version of OCaml to be installed | |
## - $OPAM_INIT_FLAGS Parameters passing to `opam init' | |
## | |
if ! which opam; then | |
mkdir -p "$OPAM_PREFIX/bin" | |
curl "https://github.com/ocaml/opam/releases/download/$OPAM_VERSION/opam-$OPAM_VERSION-$(uname -m)-$(uname -s)" \ | |
-Lo "$OPAM_PREFIX/bin/opam" | |
chmod 755 "$OPAM_PREFIX/bin/opam" | |
opam init -a -y --comp "$OCAML_VERSION" ${OPAM_INIT_FLAGS:-} | |
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env sh -exu | |
## | |
## Usage: https://gist.githubusercontent.com/akabe/24979afbf95c4cf4393f589cda997e1b/raw/update-gh-pages-dune.sh | sh -xeu _build/default/lib | |
## | |
## Variables: | |
## - $GIT_REMOTE_URL URL to git remote repository where you can push to. | |
## - $TRAVIS_BRANCH Defined by Travis CI | |
## - $TRAVIS_PULL_REQUEST Defined by Travis CI | |
## | |
if [ "${GIT_REMOTE_URL:-}" == '' ]; then | |
echo "[SKIPPED] \$GIT_REMOTE_URL is empty or undefined." | |
elif [ "$TRAVIS_BRANCH" != 'master' ]; then | |
echo "[SKIPPED] This is not master branch: \$TRAVIS_BRANCH = $TRAVIS_BRANCH" | |
elif [ "$TRAVIS_PULL_REQUEST" == 'true' ]; then | |
echo "[SKIPPED] This is a pull request: \$TRAVIS_PULL_REQUEST = $TRAVIS_PULL_REQUEST" | |
else | |
opam install -y odoc | |
if which dune >/dev/null; then | |
dune subst | |
dune build @doc | |
html_dir=_build/default/_doc | |
else | |
dune subst | |
dune build @doc | |
html_dir=_build/default/_doc/_html | |
fi | |
if git clone "$GIT_REMOTE_URL" -b gh-pages gh-pages; then # `gh-pages' branch already exists. | |
rm -rf gh-pages/*.md gh-pages/api | |
else # Creates orphan `gh-pages' branch. | |
mkdir gh-pages | |
( cd gh-pages | |
git init | |
git checkout --orphan gh-pages | |
git remote add origin "$GIT_REMOTE_URL" ) | |
fi | |
cp *.md gh-pages/ | |
cp -r "$html_dir" gh-pages/api | |
( cd gh-pages | |
git add *.md api | |
git -c user.name='TravisCI' -c user.email='[email protected]' commit -m 'Update documentation' | |
git push origin gh-pages ) | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment