From 6bc601bbfca486aaef3b249d1311e483f6345394 Mon Sep 17 00:00:00 2001 From: Ilya Dmitrichenko Date: Thu, 23 Apr 2015 17:13:47 +0100 Subject: [PATCH] Basic automation for publishing documentation --- .travis.yml | 10 ++++++++++ bin/setup-ci-secrets.enc | Bin 0 -> 1280 bytes bin/setup-ci-secrets.readme | 21 +++++++++++++++++++++ site/Gemfile | 3 +++ site/_config.yml | 6 ++++++ site/build-and-publish.sh | 14 ++++++++++++++ 6 files changed, 54 insertions(+) create mode 100644 bin/setup-ci-secrets.enc create mode 100644 bin/setup-ci-secrets.readme create mode 100644 site/Gemfile create mode 100755 site/build-and-publish.sh diff --git a/.travis.yml b/.travis.yml index 1cc66109..10e1814f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,6 +3,9 @@ sudo: false go: - 1.4 +env: + - PATH="${PATH}:${HOME}/.local/bin" + addons: apt: packages: @@ -11,6 +14,11 @@ addons: install: - go clean -i net - go install -tags netgo std + - pip install --user --upgrade gcloud gsutil + - openssl aes-256-cbc + -K $encrypted_5ba036e89377_key -iv $encrypted_5ba036e89377_iv + -in bin/setup-ci-secrets.enc -out bin/setup-ci-secrets -d + - chmod +x bin/setup-ci-secrets - make travis script: @@ -20,3 +28,5 @@ script: after_success: - go get github.com/mattn/goveralls - $HOME/gopath/bin/goveralls -coverprofile=profile.cov -service=travis-ci + - bin/setup-ci-secrets + - site/build-and-publish.sh diff --git a/bin/setup-ci-secrets.enc b/bin/setup-ci-secrets.enc new file mode 100644 index 0000000000000000000000000000000000000000..b9d25c2443d253c587601ad524b5b7ec35be0308 GIT binary patch literal 1280 zcmV+b1^@b(<_*l-0Cx-8(6+(ZflOo7U@t_7Ok1^V`rA6_@-EY>1lZ;|hVw_4f3RDMJ<7J4Y!T{tg>K?Iw7T5s(8ih!H8SUc5i zL9I)uamzp?3zfis?oE&yU7|)NJ#5)7#n?KQvdI)pj!=rhKKQxhO7_IOoopl#(wbKcj-mmd~Jeq$ZzKno6JgO`l7 zW9l$TEGMnYUx;^^^ph-=$s9?JuP~9MTH=9P>}(D+@lCGsGE*FximYew1|C@#FktB0 zmEl@tI-i-U;!A<(FWF)LitpTtidU!|m<%Uz<&a{Wb#^}MVeUxM;6nl_L7#f6Ua~U% z4mSLAC^NtEcVrohjM4pesZw2Rwhh5q15z@iRMQ?sRNoG4H$CTI>yz0-(7i&zTR~Kv z(8^z`CCOH_np{u7U{Cbj@){3y^ZM}avsM1Sc$5wI;9gKN5bIYKtLn*p!ScZQpS-E* zfo#!bE{HX`0inAEirR5**3?Y)?5{wIw4$y}9I9x6XFD`Yr0gT!)SRD0hZ`|i{Q4JNz!;)X zlM-9LlE!Ux*Ng%MfQBF}*a|;nOS~wb{JD}^2`>|NRP<%-2}b7Y7zv@=4ykyE_Un$| zem?&CMjmv95ZIiSNDLOT#^WfAyTB`gX~G9MJriIkIev2rxPRG{Q&Yg?;%j@2M|nu3 z3$ieMLePH8dr>>Q*!2+aN2q}~^lXnFt?)uj3G>_2qMU{E3B%<^#`6s0$nBZxQ4m?- zcmEd+5vRkJ^PV(r!iYwSPXSJeZH$ZJGD#_k@|I}4C1~h_U7_Jr5lvoo3cTQOM8!Tm zny=&F&)TQo)&!TFVyXj?h*1_RE7SWKiNd`bXz(D$;(rrW_hg34b?o;yqdwSFcu)3p(8e2 zxZDDS%GBzrATqrlccjwAXjY#~4kw(v0i@A-J_#QkDz1dT^poa*Rut=6SKZArrPrVS z#D`dIx0%6nEjTcHXLz?SRccJBXD!pQaHZ%$)m3>^6=+!FGy;v*X<(cGuG$JOP)p(S z#Msq&SvbNkVU4|`xk>TS?vOOe0#W`YK5;Fl@kQ)d*z#BJ>JomwL3^@Paf@#phww+L zmRNvqA?$N%^Hh%)a@^=!knSR^a2yE@HtOM<9lMg!2t%RaXexBu#FoPH?Y2h21_5}# zS*CZ3zuB^zDm5K+=AN~p6vtRp^xz(8W0~wSW$+L_h /tmp/boto_gsutil_cert.pem << EOF +-----BEGIN PRIVATE KEY----- +<...> +-----END PRIVATE KEY----- +EOF + +cat > ~/.boto << EOF +[Credentials] +gs_service_client_id = <...> +gs_service_key_file = /tmp/boto_gsutil_cert.pem + +[Boto] +https_validate_certificates = True + +[GSUtil] +content_language = en +default_api_version = 2 +default_project_id = <...> +EOF diff --git a/site/Gemfile b/site/Gemfile new file mode 100644 index 00000000..e8a70063 --- /dev/null +++ b/site/Gemfile @@ -0,0 +1,3 @@ +source 'https://rubygems.org' + +gem 'jekyll' diff --git a/site/_config.yml b/site/_config.yml index cfb2b170..1d373602 100644 --- a/site/_config.yml +++ b/site/_config.yml @@ -2,3 +2,9 @@ markdown: redcarpet redcarpet: extensions: ['fenced_code_blocks', 'smart'] + +exclude: + - 'Gemfile' + - 'Gemfile.lock' + - 'params.json' + - 'build-and-publish.sh' diff --git a/site/build-and-publish.sh b/site/build-and-publish.sh new file mode 100755 index 00000000..41961ac1 --- /dev/null +++ b/site/build-and-publish.sh @@ -0,0 +1,14 @@ +#!/bin/sh -ex + +cd $(dirname $0)/ + +## Use GCS until we set up Route53/CloudFront/S3 + +BRANCH=${TRAVIS_BRANCH:-`git rev-parse --abbrev-ref @`} +COMMIT=${TRAVIS_COMMIT:-`git rev-parse @`} + +export BRANCH COMMIT + +bundle install --path=.bundle +bundle exec jekyll build --verbose +gsutil -m cp -z html,css -a public-read -R _site gs://docs.weave.works/weave/${BRANCH}/${COMMIT}