From c6d43b1274c044c275f8dbea343aff33593a7485 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Tue, 6 Feb 2018 04:06:40 +0100 Subject: build docs the same way as blue/green --- buildbot/build-docs.sh | 14 ++++++++++++ buildbot/master.cfg | 24 ++++---------------- taler-build/update_doc_backoffice.sh | 20 ----------------- taler-build/update_doc_bank.sh | 23 ------------------- taler-build/update_doc_exchange.sh | 25 --------------------- taler-build/update_doc_landing.sh | 19 ---------------- taler-build/update_doc_merchant.sh | 21 ----------------- taler-build/update_manual.sh | 13 ----------- taler-build/update_onboarding.sh | 20 ----------------- taler-build/update_tutorials.sh | 24 -------------------- taler-build/update_www_and_stage.sh | 21 ----------------- taler-docbuild/.gitignore | 1 + taler-docbuild/Makefile | 40 +++++++++++++++++++++++++++++++++ taler-docbuild/README | 2 ++ taler-docbuild/invalidate.sh | 13 +++++++++++ taler-docbuild/update_api.sh | 17 ++++++++++++++ taler-docbuild/update_doc_backoffice.sh | 20 +++++++++++++++++ taler-docbuild/update_doc_bank.sh | 23 +++++++++++++++++++ taler-docbuild/update_doc_exchange.sh | 25 +++++++++++++++++++++ taler-docbuild/update_doc_landing.sh | 19 ++++++++++++++++ taler-docbuild/update_doc_merchant.sh | 21 +++++++++++++++++ taler-docbuild/update_onboarding.sh | 20 +++++++++++++++++ taler-docbuild/update_tutorials.sh | 24 ++++++++++++++++++++ taler-docbuild/update_www_and_stage.sh | 21 +++++++++++++++++ 24 files changed, 264 insertions(+), 206 deletions(-) create mode 100755 buildbot/build-docs.sh delete mode 100755 taler-build/update_doc_backoffice.sh delete mode 100755 taler-build/update_doc_bank.sh delete mode 100755 taler-build/update_doc_exchange.sh delete mode 100755 taler-build/update_doc_landing.sh delete mode 100755 taler-build/update_doc_merchant.sh delete mode 100755 taler-build/update_manual.sh delete mode 100755 taler-build/update_onboarding.sh delete mode 100755 taler-build/update_tutorials.sh delete mode 100755 taler-build/update_www_and_stage.sh create mode 100644 taler-docbuild/.gitignore create mode 100644 taler-docbuild/Makefile create mode 100644 taler-docbuild/README create mode 100755 taler-docbuild/invalidate.sh create mode 100755 taler-docbuild/update_api.sh create mode 100755 taler-docbuild/update_doc_backoffice.sh create mode 100755 taler-docbuild/update_doc_bank.sh create mode 100755 taler-docbuild/update_doc_exchange.sh create mode 100755 taler-docbuild/update_doc_landing.sh create mode 100755 taler-docbuild/update_doc_merchant.sh create mode 100755 taler-docbuild/update_onboarding.sh create mode 100755 taler-docbuild/update_tutorials.sh create mode 100755 taler-docbuild/update_www_and_stage.sh diff --git a/buildbot/build-docs.sh b/buildbot/build-docs.sh new file mode 100755 index 0000000..92f5078 --- /dev/null +++ b/buildbot/build-docs.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +set -eu + +cd $HOME/deployment + +# like "git pull", but discard local changes +git fetch +git reset --hard FETCH_HEAD + +cd $HOME/deployment/taler-docbuild +./invalidate.sh + +make diff --git a/buildbot/master.cfg b/buildbot/master.cfg index 2ba4e4e..68761e8 100644 --- a/buildbot/master.cfg +++ b/buildbot/master.cfg @@ -266,32 +266,16 @@ SELENIUM_FACTORY.addStep(ShellCommand( command=["launch_selenium_test"], env={'PATH': "${HOME}/local/bin:/usr/lib/chromium:${PATH}"})) -def doc_dispatcher(project): - switch = { - "docs-landing": ["./update_doc_landing.sh"], - "api": ["./update_api.sh"], - "backoffice": ["./update_doc_backoffice.sh"], - "www": ["./update_www_and_stage.sh"], - "bank": ["./update_bank.sh"], - "merchant": ["./update_doc_merchant.sh"], - "exchange": ["./update_doc_exchange.sh"], - "merchant-frontend-examples": ["./update_tutorials.sh"], - "deployment": ["./update_onboarding.sh"], - "help": ["echo", "dispatcher", "debug"] - } - # Force schedules trigger the default. - return switch.get(project, "./update_api.sh") - DOC_FACTORY = util.BuildFactory() DOC_FACTORY.addStep(git_step( "git://git.taler.net/deployment.git")) DOC_FACTORY.addStep(ShellCommand( name="build docs", - description="Building documentation.", + description="Building documentation", descriptionDone="Documentation built.", - command=util.Transform(doc_dispatcher, - util.Property("project")), - workdir="build/taler-build")) + command=["./build-docs.sh"], + workdir="build/buildbot", + haltOnFailure=True)) DEBUG_BUILDER = util.BuilderConfig( name="debug-builder", diff --git a/taler-build/update_doc_backoffice.sh b/taler-build/update_doc_backoffice.sh deleted file mode 100755 index dc5d773..0000000 --- a/taler-build/update_doc_backoffice.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -set -eu - -fetch () { - git clean -fdx - git fetch - # reset to updated upstream branch, but only if we're tracking a branch - branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo head) - git reset --hard "$branch" -} - -cd $HOME/backoffice/doc/ -fetch -make -mkdir -p $HOME/build/backoffice/pdf -mkdir -p $HOME/build/backoffice/html -cp manual.pdf $HOME/build/backoffice/pdf/ -cp manual.html $HOME/build/backoffice/html/ -cp *.css $HOME/build/backoffice/html/ diff --git a/taler-build/update_doc_bank.sh b/taler-build/update_doc_bank.sh deleted file mode 100755 index 3c8a6ac..0000000 --- a/taler-build/update_doc_bank.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -set -eu - -fetch () { - git clean -fdx - git fetch - # reset to updated upstream branch, but only if we're tracking a branch - branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo head) - git reset --hard "$branch" -} - -cd $HOME/bank -fetch -./bootstrap -./configure --enable-only-doc -make pdf -make html -mkdir -p $HOME/build/bank/manual/pdf -mkdir -p $HOME/build/bank/manual/html -cp doc/taler-bank.pdf $HOME/build/bank/manual/pdf/ -cp doc/taler-bank.html $HOME/build/bank/manual/html/ -cp doc/*.css $HOME/build/exchange/manual/html/ diff --git a/taler-build/update_doc_exchange.sh b/taler-build/update_doc_exchange.sh deleted file mode 100755 index f5054d0..0000000 --- a/taler-build/update_doc_exchange.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -set -eu - -fetch () { - git clean -fdx - git fetch - # reset to updated upstream branch, but only if we're tracking a branch - branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo HEAD) - git reset --hard "$branch" -} - -cd $HOME/exchange -fetch -./bootstrap -./configure --enable-only-doc -make pdf -make html -doxygen -cp doc/taler-exchange.pdf $HOME/build/exchange/manual/pdf/ -cp doc/taler-exchange.html $HOME/build/exchange/manual/html/ -cp doc/*.css $HOME/build/exchange/manual/html/ -cp doc/*.png $HOME/build/exchange/manual/html/ -cp doc/*.js $HOME/build/exchange/manual/html/ -cp -r doxygen-doc/html/* $HOME/build/exchange/doxygen/ diff --git a/taler-build/update_doc_landing.sh b/taler-build/update_doc_landing.sh deleted file mode 100755 index bbc0086..0000000 --- a/taler-build/update_doc_landing.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -set -eu - -fetch () { - git clean -fdx - git fetch - # reset to updated upstream branch, but only if we're tracking a branch - branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo head) - git reset --hard "$branch" -} - -cd $HOME/docs-landing/ -fetch -git submodule update --force --init - -# No compilation needed so far. -mkdir -p $HOME/build/docs-landing/ -cp -t $HOME/build/docs-landing/ *.{html,css,svg} diff --git a/taler-build/update_doc_merchant.sh b/taler-build/update_doc_merchant.sh deleted file mode 100755 index abc4c10..0000000 --- a/taler-build/update_doc_merchant.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -set -eu - -fetch () { - git clean -fdx - git fetch - # reset to updated upstream branch, but only if we're tracking a branch - branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo HEAD) - git reset --hard "$branch" -} - -cd $HOME/merchant -fetch -./bootstrap -./configure --enable-only-doc -make -doxygen -cp doc/manual.pdf $HOME/build/merchant-backend/manual/pdf/ -cp doc/*.{html,png,css,js} $HOME/build/merchant-backend/manual/html/ -cp -r doxygen-doc/html/* $HOME/build/merchant-backend/doxygen/ diff --git a/taler-build/update_manual.sh b/taler-build/update_manual.sh deleted file mode 100755 index f18ebf1..0000000 --- a/taler-build/update_manual.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -cd /var/www/merchant/ -git clean -fdx -git fetch -# reset to updated upstream branch, but only if we're tracking a branch -branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo HEAD) -git reset --hard "$branch" - -./bootstrap -./configure -cd doc/ -make diff --git a/taler-build/update_onboarding.sh b/taler-build/update_onboarding.sh deleted file mode 100755 index 9e38c80..0000000 --- a/taler-build/update_onboarding.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -set -eu - -fetch () { - git clean -fdx - git fetch - # reset to updated upstream branch, but only if we're tracking a branch - branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo head) - git reset --hard "$branch" -} - -cd $HOME/deployment -fetch -cd doc/ -make all -cp *.css $HOME/build/onboarding/html/ -cp onboarding.html $HOME/build/onboarding/html/ -cp onboarding.pdf $HOME/build/onboarding/pdf/ - diff --git a/taler-build/update_tutorials.sh b/taler-build/update_tutorials.sh deleted file mode 100755 index cef16ca..0000000 --- a/taler-build/update_tutorials.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -set -eu - -fetch () { - git clean -fdx - git fetch - # reset to updated upstream branch, but only if we're tracking a branch - branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo HEAD) - git reset --hard "$branch" -} - -cd $HOME/merchant-frontend-examples -fetch -make -cp php/doc/tutorial.pdf $HOME/build/merchant-frontend/php/pdf/ -cp php/doc/tutorial.html $HOME/build/merchant-frontend/php/html/ -cp php/doc/*.css $HOME/build/merchant-frontend/php/html/ -cp php/doc/*.jpg $HOME/build/merchant-frontend/php/html/ -cp python/doc/tutorial.pdf $HOME/build/merchant-frontend/python/pdf/ -cp python/doc/tutorial.html $HOME/build/merchant-frontend/python/html/ -cp python/doc/*.css $HOME/build/merchant-frontend/python/html/ -cp python/doc/*.jpg $HOME/build/merchant-frontend/python/html/ - diff --git a/taler-build/update_www_and_stage.sh b/taler-build/update_www_and_stage.sh deleted file mode 100755 index a57c889..0000000 --- a/taler-build/update_www_and_stage.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -set -eu - -fetch () { - git clean -fdx - git fetch - # reset to updated upstream branch, but only if we're tracking a branch - branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo HEAD) - git reset --hard "$branch" -} - -cd $HOME/stage.taler.net -fetch -git submodule update --init --force -make - -cd $HOME/www.taler.net -fetch -git submodule update --init --force -make diff --git a/taler-docbuild/.gitignore b/taler-docbuild/.gitignore new file mode 100644 index 0000000..c337aa9 --- /dev/null +++ b/taler-docbuild/.gitignore @@ -0,0 +1 @@ +*-stamp diff --git a/taler-docbuild/Makefile b/taler-docbuild/Makefile new file mode 100644 index 0000000..ce75e67 --- /dev/null +++ b/taler-docbuild/Makefile @@ -0,0 +1,40 @@ +all: api-stamp backoffice bank-stamp exchange-stamp +all: docs-landing-stamp merchant-stamp +all: www.taler.net-stamp stage.taler.net-stamp + + +api-stamp: + ./update_api.sh + touch $@ + +backoffice-stamp: + ./update_doc_backoffice.sh + touch $@ + +bank-stamp: + ./update_doc_bank.sh + touch $@ + +landing-stamp: + ./update_doc_landing.sh + touch $@ + +merchant-stamp: + ./update_doc_merchant.sh + touch $@ + +deployment-stamp: + ./update_onboarding.sh + touch $@ + +tutorials-stamp: + ./update_tutorials.sh + touch $@ + +stage.taler.net-stamp: + ./update_www_and_stage.sh + touch $@ + +www.taler.net-stamp: + ./update_www_and_stage.sh + touch $@ diff --git a/taler-docbuild/README b/taler-docbuild/README new file mode 100644 index 0000000..115fe29 --- /dev/null +++ b/taler-docbuild/README @@ -0,0 +1,2 @@ +Makefile for all taler components, using one timestamp +file in this folder to represent each component. diff --git a/taler-docbuild/invalidate.sh b/taler-docbuild/invalidate.sh new file mode 100755 index 0000000..e094441 --- /dev/null +++ b/taler-docbuild/invalidate.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +set -eu +components="merchant exchange backoffice stage.taler.net www.taler.net api docs-landing" + +for component in $components ; do + cd $HOME/$component + git fetch + if git status -sb | grep behind; then + echo "invalidating $component" + rm -f $HOME/deployment/taler-docbuild/$component-stamp + fi +done diff --git a/taler-docbuild/update_api.sh b/taler-docbuild/update_api.sh new file mode 100755 index 0000000..ec0cc0d --- /dev/null +++ b/taler-docbuild/update_api.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +set -eu + +fetch () { + git clean -fdx + git fetch + # reset to updated upstream branch, but only if we're tracking a branch + branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo head) + git reset --hard "$branch" +} + +cd $HOME/api +fetch +make html +cp -r _build/html/* $HOME/build/api/html/ + diff --git a/taler-docbuild/update_doc_backoffice.sh b/taler-docbuild/update_doc_backoffice.sh new file mode 100755 index 0000000..dc5d773 --- /dev/null +++ b/taler-docbuild/update_doc_backoffice.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +set -eu + +fetch () { + git clean -fdx + git fetch + # reset to updated upstream branch, but only if we're tracking a branch + branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo head) + git reset --hard "$branch" +} + +cd $HOME/backoffice/doc/ +fetch +make +mkdir -p $HOME/build/backoffice/pdf +mkdir -p $HOME/build/backoffice/html +cp manual.pdf $HOME/build/backoffice/pdf/ +cp manual.html $HOME/build/backoffice/html/ +cp *.css $HOME/build/backoffice/html/ diff --git a/taler-docbuild/update_doc_bank.sh b/taler-docbuild/update_doc_bank.sh new file mode 100755 index 0000000..3c8a6ac --- /dev/null +++ b/taler-docbuild/update_doc_bank.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +set -eu + +fetch () { + git clean -fdx + git fetch + # reset to updated upstream branch, but only if we're tracking a branch + branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo head) + git reset --hard "$branch" +} + +cd $HOME/bank +fetch +./bootstrap +./configure --enable-only-doc +make pdf +make html +mkdir -p $HOME/build/bank/manual/pdf +mkdir -p $HOME/build/bank/manual/html +cp doc/taler-bank.pdf $HOME/build/bank/manual/pdf/ +cp doc/taler-bank.html $HOME/build/bank/manual/html/ +cp doc/*.css $HOME/build/exchange/manual/html/ diff --git a/taler-docbuild/update_doc_exchange.sh b/taler-docbuild/update_doc_exchange.sh new file mode 100755 index 0000000..f5054d0 --- /dev/null +++ b/taler-docbuild/update_doc_exchange.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +set -eu + +fetch () { + git clean -fdx + git fetch + # reset to updated upstream branch, but only if we're tracking a branch + branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo HEAD) + git reset --hard "$branch" +} + +cd $HOME/exchange +fetch +./bootstrap +./configure --enable-only-doc +make pdf +make html +doxygen +cp doc/taler-exchange.pdf $HOME/build/exchange/manual/pdf/ +cp doc/taler-exchange.html $HOME/build/exchange/manual/html/ +cp doc/*.css $HOME/build/exchange/manual/html/ +cp doc/*.png $HOME/build/exchange/manual/html/ +cp doc/*.js $HOME/build/exchange/manual/html/ +cp -r doxygen-doc/html/* $HOME/build/exchange/doxygen/ diff --git a/taler-docbuild/update_doc_landing.sh b/taler-docbuild/update_doc_landing.sh new file mode 100755 index 0000000..bbc0086 --- /dev/null +++ b/taler-docbuild/update_doc_landing.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +set -eu + +fetch () { + git clean -fdx + git fetch + # reset to updated upstream branch, but only if we're tracking a branch + branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo head) + git reset --hard "$branch" +} + +cd $HOME/docs-landing/ +fetch +git submodule update --force --init + +# No compilation needed so far. +mkdir -p $HOME/build/docs-landing/ +cp -t $HOME/build/docs-landing/ *.{html,css,svg} diff --git a/taler-docbuild/update_doc_merchant.sh b/taler-docbuild/update_doc_merchant.sh new file mode 100755 index 0000000..abc4c10 --- /dev/null +++ b/taler-docbuild/update_doc_merchant.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +set -eu + +fetch () { + git clean -fdx + git fetch + # reset to updated upstream branch, but only if we're tracking a branch + branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo HEAD) + git reset --hard "$branch" +} + +cd $HOME/merchant +fetch +./bootstrap +./configure --enable-only-doc +make +doxygen +cp doc/manual.pdf $HOME/build/merchant-backend/manual/pdf/ +cp doc/*.{html,png,css,js} $HOME/build/merchant-backend/manual/html/ +cp -r doxygen-doc/html/* $HOME/build/merchant-backend/doxygen/ diff --git a/taler-docbuild/update_onboarding.sh b/taler-docbuild/update_onboarding.sh new file mode 100755 index 0000000..9e38c80 --- /dev/null +++ b/taler-docbuild/update_onboarding.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +set -eu + +fetch () { + git clean -fdx + git fetch + # reset to updated upstream branch, but only if we're tracking a branch + branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo head) + git reset --hard "$branch" +} + +cd $HOME/deployment +fetch +cd doc/ +make all +cp *.css $HOME/build/onboarding/html/ +cp onboarding.html $HOME/build/onboarding/html/ +cp onboarding.pdf $HOME/build/onboarding/pdf/ + diff --git a/taler-docbuild/update_tutorials.sh b/taler-docbuild/update_tutorials.sh new file mode 100755 index 0000000..cef16ca --- /dev/null +++ b/taler-docbuild/update_tutorials.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +set -eu + +fetch () { + git clean -fdx + git fetch + # reset to updated upstream branch, but only if we're tracking a branch + branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo HEAD) + git reset --hard "$branch" +} + +cd $HOME/merchant-frontend-examples +fetch +make +cp php/doc/tutorial.pdf $HOME/build/merchant-frontend/php/pdf/ +cp php/doc/tutorial.html $HOME/build/merchant-frontend/php/html/ +cp php/doc/*.css $HOME/build/merchant-frontend/php/html/ +cp php/doc/*.jpg $HOME/build/merchant-frontend/php/html/ +cp python/doc/tutorial.pdf $HOME/build/merchant-frontend/python/pdf/ +cp python/doc/tutorial.html $HOME/build/merchant-frontend/python/html/ +cp python/doc/*.css $HOME/build/merchant-frontend/python/html/ +cp python/doc/*.jpg $HOME/build/merchant-frontend/python/html/ + diff --git a/taler-docbuild/update_www_and_stage.sh b/taler-docbuild/update_www_and_stage.sh new file mode 100755 index 0000000..a57c889 --- /dev/null +++ b/taler-docbuild/update_www_and_stage.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +set -eu + +fetch () { + git clean -fdx + git fetch + # reset to updated upstream branch, but only if we're tracking a branch + branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo HEAD) + git reset --hard "$branch" +} + +cd $HOME/stage.taler.net +fetch +git submodule update --init --force +make + +cd $HOME/www.taler.net +fetch +git submodule update --init --force +make -- cgit v1.2.3