aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Mulder <felix.mulder@gmail.com>2017-02-02 11:56:25 +0100
committerFelix Mulder <felix.mulder@gmail.com>2017-02-02 15:28:22 +0100
commit6a2d1e0eb1005aa2e3567f256c6e259ede2f6ea7 (patch)
tree3dd2475ee78f417c1dff8c354286e0fa628cacf2
parente64c2e2d01cf30fe843fa3d4eff977c8b1ecccc4 (diff)
downloaddotty-6a2d1e0eb1005aa2e3567f256c6e259ede2f6ea7.tar.gz
dotty-6a2d1e0eb1005aa2e3567f256c6e259ede2f6ea7.tar.bz2
dotty-6a2d1e0eb1005aa2e3567f256c6e259ede2f6ea7.zip
Add script to update orphan gh-pages branch
-rw-r--r--.drone.yml17
-rw-r--r--.drone.yml.sig1
-rwxr-xr-xproject/scripts/genDocs68
3 files changed, 86 insertions, 0 deletions
diff --git a/.drone.yml b/.drone.yml
index 16a5aff49..512f5a39e 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -6,6 +6,23 @@ pipeline:
- ln -s /var/cache/drone/scala-scala scala-scala
- ./scripts/update-scala-library
- sbt -J-Xmx4096m -J-XX:ReservedCodeCacheSize=512m -J-XX:MaxMetaspaceSize=1024m -Ddotty.drone.mem=4096m -ivy /var/cache/drone/ivy2 "${TEST}"
+ when:
+ branch:
+ exclude: gh-pages
+
+ documentation:
+ image: lampepfl/dotty:latest
+ pull: true
+ commands:
+ - ./project/scripts/genDocs "${TEST}" $BOT_PASS
+ when:
+ branch: master
+
+ slack:
+ image: plugins/slack
+ channel: dotty
+ when:
+ branch: master
matrix:
TEST:
diff --git a/.drone.yml.sig b/.drone.yml.sig
new file mode 100644
index 000000000..23edbaae9
--- /dev/null
+++ b/.drone.yml.sig
@@ -0,0 +1 @@
+eyJhbGciOiJIUzI1NiJ9.cGlwZWxpbmU6CiAgdGVzdDoKICAgIGltYWdlOiBsYW1wZXBmbC9kb3R0eTpsYXRlc3QKICAgIHB1bGw6IHRydWUKICAgIGNvbW1hbmRzOgogICAgICAtIGxuIC1zIC92YXIvY2FjaGUvZHJvbmUvc2NhbGEtc2NhbGEgc2NhbGEtc2NhbGEKICAgICAgLSAuL3NjcmlwdHMvdXBkYXRlLXNjYWxhLWxpYnJhcnkKICAgICAgLSBzYnQgLUotWG14NDA5Nm0gLUotWFg6UmVzZXJ2ZWRDb2RlQ2FjaGVTaXplPTUxMm0gLUotWFg6TWF4TWV0YXNwYWNlU2l6ZT0xMDI0bSAtRGRvdHR5LmRyb25lLm1lbT00MDk2bSAtaXZ5IC92YXIvY2FjaGUvZHJvbmUvaXZ5MiAiJHtURVNUfSIKICAgIHdoZW46CiAgICAgIGJyYW5jaDoKICAgICAgICBleGNsdWRlOiBnaC1wYWdlcwoKICBkb2N1bWVudGF0aW9uOgogICAgaW1hZ2U6IGxhbXBlcGZsL2RvdHR5OmxhdGVzdAogICAgcHVsbDogdHJ1ZQogICAgY29tbWFuZHM6CiAgICAgIC0gLi9wcm9qZWN0L3NjcmlwdHMvZ2VuRG9jcyAiJHtURVNUfSIgJEJPVF9QQVNTCiAgICB3aGVuOgogICAgICBicmFuY2g6IG1hc3RlcgoKICBzbGFjazoKICAgIGltYWdlOiBwbHVnaW5zL3NsYWNrCiAgICBjaGFubmVsOiBkb3R0eQogICAgd2hlbjoKICAgICAgYnJhbmNoOiBtYXN0ZXIKCm1hdHJpeDoKICBURVNUOgogICAgLSB0ZXN0CiAgICAtIDtwdWJsaXNoTG9jYWw7ZG90dHktYm9vdHN0cmFwcGVkL3Rlc3QKICAgIC0gcGFydGVzdC1vbmx5LW5vLWJvb3RzdHJhcCAtLXNob3ctZGlmZiAtLXZlcmJvc2UKICAgIC0gcGFydGVzdC1vbmx5IC0tc2hvdy1kaWZmIC0tdmVyYm9zZQo.l7I2yJ5gewe0ObfP09MyJ9iGlXaPffen5Sh3HjS2oKs \ No newline at end of file
diff --git a/project/scripts/genDocs b/project/scripts/genDocs
new file mode 100755
index 000000000..b8d0ba254
--- /dev/null
+++ b/project/scripts/genDocs
@@ -0,0 +1,68 @@
+#!/usr/bin/env bash
+
+# Usage: ./genDocs <test variable> <dotty-bot password>
+
+set -e
+# set extended glob, needed for rm everything but x
+shopt -s extglob
+
+if [ "$1" = "test" ]; then
+
+ # make sure that BOT_PASS is set
+ if [ -z ${2+x} ]; then
+ echo "BOT_PASS unset, unable to push without password" 1>&2
+ exit 1
+ else
+ BOT_PASS=$2
+ fi
+
+ echo "Working directory: $PWD"
+
+ # this command will generate docs in $PWD/docs/_site
+ sbt -J-Xmx4096m \
+ -J-XX:ReservedCodeCacheSize=512m \
+ -J-XX:MaxMetaspaceSize=1024m \
+ -Ddotty.drone.mem=4096m \
+ -ivy /var/cache/drone/ivy2 \
+ "genDocs"
+
+ # make sure that the previous command actually succeeded
+ if [ ! -d "$PWD/docs/_site" ]; then
+ echo "Output directory did not exist: $PWD/docs/_site" 1>&2
+ exit 1
+ fi
+
+ # save current head for commit message in gh-pages
+ GIT_HEAD=$(git rev-parse HEAD)
+
+ # check out correct branch
+ git fetch origin gh-pages:gh-pages
+ git checkout gh-pages
+
+ # move newly generated _site dir to $PWD
+ mv $PWD/docs/_site .
+
+ # remove everything BUT _site dir
+ rm -rf !(_site)
+
+ # copy new contents to $PWD
+ mv _site/* .
+
+ # remove now empty _site dir
+ rm -rf _site
+
+ # set github credentials
+ git config user.name "dotty-bot"
+ git config user.email "felix.mulder@epfl.ch"
+
+ # add all contents of $PWD to commit
+ git add -A
+ git commit -m "Update gh-pages site for $GIT_HEAD"
+
+ # push using dotty-bot to origin
+ git push https://dotty-bot:$BOT_PASS@github.com/lampepfl/dotty.git
+else
+ # wrong parameter passed, should only generate docs if argument is "test"
+ # to avoid multiple site gens
+ echo "Not generating docs for $1"
+fi