## # This file is part of TALER # (C) 2016-2020 Taler Systems SA # # TALER is free software; you can redistribute it and/or # modify it under the terms of the GNU Affero General Public # License as published by the Free Software Foundation; either # version 3, or (at your option) any later version. # # TALER is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty # of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # See the GNU General Public License for more details. # # You should have received a copy of the GNU General Public # License along with TALER; see the file COPYING. If not, # see # # @author Florian Dold # @author Marcello Stanisci # @author ng0 # @author Christian Grothoff import re from buildbot.steps.source.git import Git from buildbot.steps.shell import ShellCommand from buildbot.plugins import (worker, changes, schedulers, util) c = BuildmasterConfig = {} # Silence warning and allow very basic phoning home. c["buildbotNetUsageData"] = "basic" ####### WORKERS c["workers"] = [ worker.Worker("unittests-worker", "unittests-pass"), worker.Worker("integration-tests-worker", "integration-tests-pass") ] c["protocols"] = {"pb": {"port": "tcp:9990:interface=127.0.0.1"}} ####### CHANGESOURCES # the 'change_source' setting tells the buildmaster how it should # find out about source code changes. # NOTE: BB is bound to localhost ALLCS = changes.PBChangeSource(user="allcs", passwd="allcs") c["change_source"] = [ALLCS] ####### SCHEDULERS GITPUSH_SCHEDULER = schedulers.SingleBranchScheduler( name="gitpush-scheduler", change_filter=util.ChangeFilter( branch="master", project_re="(libeufin)" ), treeStableTimer=None, builderNames=["unittests-builder", "integration-tests-builder"] ) c["schedulers"] = [ GITPUSH_SCHEDULER ] ####### FACTORIES UNITTESTS_FACTORY = util.BuildFactory() UNITTESTS_FACTORY.addSteps([ Git(repourl="git://git.taler.net/libeufin"), ShellCommand( name="Unit tests", description="Running unit tests", descriptionDone="Unit tests done", command=["make check"] ) ]) INTEGRATION_TESTS_FACTORY = util.BuildFactory() INTEGRATION_TESTS_FACTORY.addSteps([ Git(repourl="git://git.taler.net/libeufin"), ShellCommand( name="Integration tests", description="Running the integration tests", descriptionDone="Integration tests done", command=["make tests"] ) ]) ##### BUILDERS UNITTESTS_BUILDER = util.BuilderConfig( name="unittests-builder", workernames=["unittests-worker"], factory=UNITTESTS_FACTORY ) INTEGRATION_TESTS_BUILDER = util.BuilderConfig( name="integration-tests-builder", workernames=["integration-tests-worker"], factory=INTEGRATION_TESTS_FACTORY ) c["builders"] = [ UNITTESTS_BUILDER, INTEGRATION_TESTS_BUILDER ] ####### PROJECT IDENTITY c["title"] = "LibEuFin" c["titleURL"] = "https://buildbot.libeufin.tech" c["buildbotURL"] = "https://buildbot.libeufin.tech" BUILDER_LIST = [ "unit-tests", "integration-tests" ] c["www"] = { "port": 8020, "plugins": { "waterfall_view": {}, "console_view": {} }, "allowed_origins": ["https://*.libeufin.tech"], "avatar_methods": [], } ####### DB URL c["db"] = { # This specifies what database buildbot uses to store its # state. You can leave this at its default for all but the # largest installations. "db_url": "sqlite:///state.sqlite", }