diff options
author | Christian Grothoff <christian@grothoff.org> | 2020-02-23 14:10:52 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2020-02-23 14:10:52 +0100 |
commit | fba5d65acdf16b96b6af37b9d66f46de392f96fe (patch) | |
tree | a5dbdb2b841f2046da2b155169ec083379c64660 /buildbot | |
parent | 4fb13ac898ec7bea4fb4e282dfca662ed889ca5f (diff) | |
download | deployment-fba5d65acdf16b96b6af37b9d66f46de392f96fe.tar.gz deployment-fba5d65acdf16b96b6af37b9d66f46de392f96fe.tar.bz2 deployment-fba5d65acdf16b96b6af37b9d66f46de392f96fe.zip |
add checker builder
Diffstat (limited to 'buildbot')
-rw-r--r-- | buildbot/master.cfg | 42 | ||||
-rwxr-xr-x | buildbot/update-sources.sh | 30 |
2 files changed, 69 insertions, 3 deletions
diff --git a/buildbot/master.cfg b/buildbot/master.cfg index 5aa5a59..76926a1 100644 --- a/buildbot/master.cfg +++ b/buildbot/master.cfg @@ -56,6 +56,11 @@ c["workers"] = [ worker.Worker("lcov-worker", "lcov-pass"), ## + # This worker builds everything and runs our 'make check' + # test suite against 'everything'. + worker.Worker("checker-worker", "checker-pass"), + + ## # This worker builds manuals / API docs / tutorials. # worker.Worker("doc-worker", "doc-pass"), @@ -222,11 +227,11 @@ ALL_SCHEDULER = schedulers.SingleBranchScheduler( change_filter=util.ChangeFilter( branch_re="(master|stable)", project_re="(backoffice|wallet-core|bank|exchange|" - "merchant|deployment|donations|twister|" + "merchant|deployment|donations|twister|sync|" "blog|help|survey|landing)" ), treeStableTimer=None, - builderNames=["test-builder"] + builderNames=["test-builder", "checker-builder"] ) # Consider adding other Python parts, like the various frontends. @@ -245,6 +250,7 @@ FORCE_SCHEDULER = schedulers.ForceScheduler( name="force-scheduler", builderNames=[ "lcov-builder", + "checker-builder", "auditor-builder-test", "auditor-builder-demo", "test-builder", @@ -468,6 +474,28 @@ LINT_FACTORY.addStep( ) ) +CHECKER_FACTORY = util.BuildFactory() +CHECKER_FACTORY.addStep( + ShellCommand( + name="clone sources", + description="fetching latest deployment repositories from git.gnunet.org", + descriptionDone="GNUnet code base updated", + command=["./update-sources.sh", "git://git.gnunet.org/", "libmicrohttpd", "gnunet"], + workdir="../../deployment/buildbot" + ) +) +CHECKER_FACTORY.addStep( + ShellCommand( + name="clone sources", + description="fetching latest deployment repositories from git.taler.net", + descriptionDone="Taler code base updated", + command=["./update-sources.sh", "git://git.taler.net/", "exchange", "merchant", "wallet-core", "sync", "anastasis", "bank", "twister"], + workdir="../../deployment/buildbot" + ) +) +# FIXME: CHECKER_FACTORY is way incomplete at this time! + + LCOV_FACTORY = create_factory_with_deployment() LCOV_FACTORY.addStep( ShellCommand( @@ -653,6 +681,12 @@ LCOV_BUILDER = util.BuilderConfig( factory=LCOV_FACTORY ) +CHECKER_BUILDER = util.BuilderConfig( + name="checker-builder", + workernames=["checker-worker"], + factory=CHECKER_FACTORY +) + AUDITOR_BUILDER_TEST = util.BuilderConfig( name="auditor-builder-test", workernames=["test-auditor-worker"], @@ -764,11 +798,12 @@ EMAIL = reporters.MailNotifier( mode=("change"), builders=( "lcov-builder", + "checker-builder", "doc-builder", "test-builder", + "wallet-builder", ## # Rarely/never used, excluding. - # "wallet-builder", # "selenium-builder" ), extraRecipients=["buildfailures@taler.net"], @@ -791,6 +826,7 @@ BUILDER_LIST = [ "buildmaster-builder", "doc-builder", "lcov-builder", + "checker-builder", "auditor-builder", "auditor-builder-test", "auditor-builder-demo", diff --git a/buildbot/update-sources.sh b/buildbot/update-sources.sh new file mode 100755 index 0000000..1344a2e --- /dev/null +++ b/buildbot/update-sources.sh @@ -0,0 +1,30 @@ +#!/bin/sh +# This file is in the public domain. + +# Used by the checker-builder to get the latest code. + +# First argument is the base URL from where to clone the Gits. +# Subsequent arguments must be the names of the Git repositories to clone. +# All repositories are either freshly cloned or updated to the latest 'master' branch + +BASE_URL=$1 +shift 1 + +mkdir -p $HOME/sources/ + +for n in "$@" +do + P=$HOME/sources/$n + echo "Updating $P" + + if test -x "$P" + then + git -C $P clean -fdx + git -C $P fetch + git -C $P reset --hard origin/master + else + cd $HOME/sources + git clone ${BASE_URL}$n + cd - + fi +done |