taler-deployment

Deployment scripts and configuration files
Log | Files | Refs | README

commit 2db6335835a0a6909495ae2d6f1fc14406808b23
parent 95e66d13f421402cc37416abe0cb919823121d64
Author: Christian Grothoff <christian@grothoff.org>
Date:   Wed, 21 Apr 2021 15:28:34 +0200

more documentation for BB config

Diffstat:
Mbuildbot/master.cfg | 72++++++++++++++++++++++++++++++++++++++++--------------------------------
1 file changed, 40 insertions(+), 32 deletions(-)

diff --git a/buildbot/master.cfg b/buildbot/master.cfg @@ -54,16 +54,16 @@ BUILDERS = [] SCHEDULERS = [] # Array of builders to be scheduled every night. -NIGHTLY_BUILDERS=[] +NIGHTLY_TRIGGERS=[] # Array of builders to be scheduled whenever any of the code Git repos change -CODECHANGE_BUILDERS=[] +CODECHANGE_TRIGGERS=[] # Array of builders to be scheduled whenever the wallet-core or deployment change -WALLETCHANGE_BUILDERS=[] +WALLETCHANGE_TRIGGERS=[] # Array of builder names for which build status reports should be sent via e-mail -EMAIL_ALERT_BUILDERS=[] +EMAIL_ALERTS=[] ############Convenience functions ################# @@ -117,6 +117,17 @@ def update_deployment(factory): )) +######################## JOBS #################################### + +# For every job, we have (in this order!): +# - worker(s): hosts/users that run the job +# - factory: list of steps that define what to do +# - builder: gives the job a name and binds it to the factory and worker +# - (OPTIONAL) alerts: notifications to trigger when the job fails +# Pre-defined: EMAIL_ALERTS +# - scheduler: rules that define when to run the job +# Pre-defined: NIGHTLY_TRIGGERS, CODECHANGE_TRIGGERS, WALLETCHANGE_TRIGGERS + ################ 1: BUILDMASTER JOB ################################### ## @@ -142,7 +153,7 @@ BUILDERS.append(util.BuilderConfig( factory=BUILDMASTER_FACTORY )) -EMAIL_ALERT_BUILDERS.append("buildmaster-builder") +EMAIL_ALERTS.append("buildmaster-builder") # Buildmaster is notified whenever deployment.git changes SCHEDULERS.append(schedulers.SingleBranchScheduler( @@ -179,7 +190,7 @@ BUILDERS.append(util.BuilderConfig( name="doc-builder", workernames=["doc-worker"], factory=DOC_FACTORY )) -EMAIL_ALERT_BUILDERS.append("doc-builder") +EMAIL_ALERTS.append("doc-builder") #sphinxErrorNotifier = reporters.MailNotifier( # fromaddr="bb@taler.net", @@ -227,7 +238,7 @@ BUILDERS.append(util.BuilderConfig( name="sites-builder", workernames=["sites-worker"], factory=SITES_FACTORY )) -EMAIL_ALERT_BUILDERS.append("sites-builder") +EMAIL_ALERTS.append("sites-builder") # The web page changed if 'www' changed OR if 'web' in the 'twister' repo changed: def twister_web_page(change): @@ -300,8 +311,8 @@ BUILDERS.append(util.BuilderConfig( factory=LCOV_FACTORY )) -EMAIL_ALERT_BUILDERS.append("lcov-builder") -NIGHTLY_BUILDERS.append("lcov-builder") +EMAIL_ALERTS.append("lcov-builder") +NIGHTLY_TRIGGERS.append("lcov-builder") ################ 5: UNIT TEST JOB ################################### @@ -448,8 +459,8 @@ BUILDERS.append(util.BuilderConfig( factory=INTEGRATIONTEST_FACTORY )) -EMAIL_ALERT_BUILDERS.append("checker-builder") -CODECHANGE_BUILDERS.append("checker-builder") +EMAIL_ALERTS.append("checker-builder") +CODECHANGE_TRIGGERS.append("checker-builder") ################ 6: 'test.taler.net' deployment JOB ################################### @@ -477,7 +488,7 @@ BUILDERS.append(util.BuilderConfig( factory=BUILDSLAVETEST_FACTORY )) -EMAIL_ALERT_BUILDERS.append("buildslavetest-builder") +EMAIL_ALERTS.append("buildslavetest-builder") # buildslavetest SCHEDULER SCHEDULERS.append(schedulers.SingleBranchScheduler( @@ -514,7 +525,7 @@ BUILDERS.append(util.BuilderConfig( workernames=["test-auditor-worker"], factory=AUDITOR_FACTORY_TEST )) -NIGHTLY_BUILDERS.append("auditor-builder-test") +NIGHTLY_TRIGGERS.append("auditor-builder-test") ################ 8: 'demo-auditor' deployment JOB ################################### @@ -541,7 +552,7 @@ BUILDERS.append(util.BuilderConfig( factory=AUDITOR_FACTORY_DEMO )) -NIGHTLY_BUILDERS.append("auditor-builder-demo") +NIGHTLY_TRIGGERS.append("auditor-builder-demo") ################ 8: 'build wallet-core' JOB ################################### @@ -604,7 +615,7 @@ BUILDERS.append(util.BuilderConfig( factory=WALLET_FACTORY )) -EMAIL_ALERT_BUILDERS.append("wallet-builder") +EMAIL_ALERTS.append("wallet-builder") # Wallet is re-build whenever wallet-core or deployment changes SCHEDULERS.append(schedulers.SingleBranchScheduler( @@ -667,7 +678,7 @@ SERVICES.append(reporters.MailNotifier( extraRecipients=['linkcheck@taler.net'] )) -NIGHTLY_BUILDERS.append("linkchecker-builder") +NIGHTLY_TRIGGERS.append("linkchecker-builder") ################ 10: 'check spelling' JOB ################################### @@ -775,7 +786,7 @@ BUILDERS.append(util.BuilderConfig( factory=CODESPELL_FACTORY )) -CODECHANGE_BUILDERS.append("codespell-builder") +CODECHANGE_TRIGGERS.append("codespell-builder") ################ 11: 'demo checks' JOB ################################### @@ -803,7 +814,7 @@ BUILDERS.append(util.BuilderConfig( workernames="demo-worker", factory=DEMO_SERVICES_INTEGRATIONTEST_FACTORY )) -EMAIL_ALERT_BUILDERS.append("demo-services-checker-builder") +EMAIL_ALERTS.append("demo-services-checker-builder") # We check demo once per hour. SCHEDULERS.append(schedulers.Periodic( @@ -855,7 +866,7 @@ BUILDERS.append(util.BuilderConfig( factory=TALER_DEMO_HEALTHCHECK_FACTORY )) -WALLETCHANGE_BUILDERS.append("taler-demo-healthcheck-builder") +WALLETCHANGE_TRIGGERS.append("taler-demo-healthcheck-builder") ################ 13: 'test health wallet-cli check' JOB ################################### @@ -899,7 +910,7 @@ BUILDERS.append(util.BuilderConfig( )) -WALLETCHANGE_BUILDERS.append("taler-test-healthcheck-builder") +WALLETCHANGE_TRIGGERS.append("taler-test-healthcheck-builder") ################ 14: upgrade test deployment JOB ################################### @@ -920,7 +931,6 @@ BUILD_FACTORY.addStep( haltOnFailure=True ) ) - BUILD_FACTORY.addStep( ShellCommand( name="config", @@ -931,7 +941,6 @@ BUILD_FACTORY.addStep( haltOnFailure=True ) ) - BUILD_FACTORY.addStep( ShellCommand( name="keys generation and sign", @@ -943,7 +952,6 @@ BUILD_FACTORY.addStep( env={'BRANCH': util.Property("branch")} ) ) - BUILD_FACTORY.addStep( ShellCommand( name="restart services", @@ -955,7 +963,6 @@ BUILD_FACTORY.addStep( env={'BRANCH': util.Property("branch")} ) ) - BUILD_FACTORY.addStep( ShellCommand( name="check services correctly restarted", @@ -967,7 +974,6 @@ BUILD_FACTORY.addStep( env={'DEPLOYMENT': "test"} ) ) - BUILD_FACTORY.addStep( ShellCommand( name="create instances", @@ -984,14 +990,15 @@ BUILDERS.append(util.BuilderConfig( name="test-builder", workernames=["test-worker"], factory=BUILD_FACTORY )) -EMAIL_ALERT_BUILDERS.append("test-builder") +EMAIL_ALERTS.append("test-builder") # Scheduler that triggers if anything changes -CODECHANGE_BUILDERS.append("test-builder") +CODECHANGE_TRIGGERS.append("test-builder") ################ 15: Python linting JOB ################################### +# This job is noat active / complete yet! def lint_dispatcher(project): return "./lint_%s.sh" % project @@ -1026,7 +1033,7 @@ LINT_FACTORY.addStep( ################ 16: Selenium JOB ################################### - +# This job is noat active! SELENIUM_FACTORY = create_factory_with_deployment() SELENIUM_FACTORY.addStep( ShellCommand( @@ -1047,6 +1054,7 @@ SELENIUM_FACTORY.addStep( ################ 99: debug stuff JOB ################################### +# This does nothing, just a starting point for a factory. DEBUG_FACTORY = util.BuildFactory() DEBUG_FACTORY.addStep( ShellCommand( @@ -1085,7 +1093,7 @@ SERVICES.append(reporters.MailNotifier( # notify from pass to fail, and viceversa. generators=[BuildStatusGenerator( mode=('change','problem','failing','exception',), - builders=EMAIL_ALERT_BUILDERS, + builders=EMAIL_ALERTS, message_formatter=reporters.MessageFormatter( template_type='plain', wantSteps=True, @@ -1108,7 +1116,7 @@ SCHEDULERS.append(schedulers.SingleBranchScheduler( project_re="(wallet|deployment)" ), treeStableTimer=None, - builderNames=WALLETCHANGE_BUILDERS + builderNames=WALLETCHANGE_TRIGGERS )) SCHEDULERS.append(schedulers.SingleBranchScheduler( @@ -1120,13 +1128,13 @@ SCHEDULERS.append(schedulers.SingleBranchScheduler( "help|taler-merchant-demos)" ), treeStableTimer=None, - builderNames=CODECHANGE_BUILDERS + builderNames=CODECHANGE_TRIGGERS )) # Scheduler for all nightly builds. SCHEDULERS.append(schedulers.Nightly( name="nightly-scheduler", - builderNames=list(NIGHTLY_BUILDERS), + builderNames=list(NIGHTLY_TRIGGERS), branch="master", hour=6, minute=0