# -*- python -*- # ex: set syntax=python: import json from buildbot.changes.filter import ChangeFilter from buildbot.plugins import * c = BuildmasterConfig = {} # BUILDSLAVES secrets = json.load(open('secrets.json')) c['slaves'] = [ buildslave.BuildSlave('linux-amd64', secrets['linux-amd64'], max_builds=1, properties={'platform': 'linux-amd64'}), buildslave.BuildSlave('linux-i386', secrets['linux-i386'], max_builds=1, properties={'platform': 'linux-i686'}), buildslave.BuildSlave('freebsd64', secrets['freebsd64'], max_builds=1, properties={'platform': 'freebsd-amd64'}), buildslave.BuildSlave('arm7', secrets['arm7'], max_builds=1, properties={'platform': 'linux-armv7'}), buildslave.BuildSlave('arm8', secrets['arm8'], max_builds=1, properties={'platform': 'linux-armv8'}), buildslave.BuildSlave('win32', secrets['win32'], max_builds=1, properties={'platform': 'win32'}), buildslave.BuildSlave('win64', secrets['win64'], max_builds=1, properties={'platform': 'win64'}), buildslave.BuildSlave('osx-10.10', secrets['osx-10.10'], max_builds=1, properties={'platform': 'osx-10.10'}), buildslave.BuildSlave('osx-10.11', secrets['osx-10.11'], max_builds=1, properties={'platform': 'osx-10.11'}), buildslave.BuildSlave('osx-10.12', secrets['osx-10.12'], max_builds=1, properties={'platform': 'osx-10.12'}), ] c['protocols'] = {'pb': {'port': 9989}} # CHANGESOURCES c['change_source'] = [] c['change_source'].append(changes.GitPoller( 'https://github.com/monero-project/monero.git', workdir='gitpoller-workdir', branch='master', pollinterval=400)) c['change_source'].append(changes.GitPoller( 'https://github.com/monero-project/monero-core.git', workdir='gitpoller-workdir', branch='master', pollinterval=600)) c['change_source'].append(changes.GitPoller( 'https://github.com/monero-project/kovri.git', workdir='gitpoller-workdir', branch='master', pollinterval=400)) ####### SCHEDULERS # Configure the Schedulers, which decide how to react to incoming changes. c['schedulers'] = [] from buildbot.plugins import schedulers c['schedulers'].append(schedulers.ForceScheduler( name='force', builderNames=['monero-tests-ubuntu-16.04-i686','monero-tests-windows-10-i686','monero-tests-freebsd-10.3-amd64','monero-tests-ubuntu-16.04-amd64','monero-tests-osx-10.11','monero-tests-osx-10.10','monero-tests-osx-10.12','monero-tests-ubuntu-16.04-armv7','monero-tests-debian-armv8','monero-tests-windows-10-amd64','monero-core-win32','monero-core-win64','monero-core-freebsd','monero-core-ubuntu-arm7','monero-core-debian-armv8','kovri-all-freebsd64','kovri-all-osx-10.12','kovri-all-osx-10.10','kovri-all-osx-10.11','kovri-all-ubuntu-arm7','kovri-all-ubuntu-i686','kovri-all-win32','kovri-all-win64','kovri-all-debian-arm8','kovri-all-ubuntu-amd64','monero-core-osx-10.12','monero-core-osx-10.11','monero-core-ubuntu-amd64','monero-core-ubuntu-i686','monero-static-osx-10.10','monero-static-osx-10.11','monero-static-win32','monero-static-win64','monero-static-ubuntu-amd64','monero-static-freebsd64','monero-static-ubuntu-arm7','monero-static-debian-armv8','monero-static-ubuntu-i686','monero-static-osx-10.12'])) c['schedulers'].append(schedulers.SingleBranchScheduler( name='monero PR builder', builderNames=['monero-static-win32','monero-static-win64','monero-static-osx-10.10','monero-static-osx-10.11','monero-static-osx-10.12','monero-static-freebsd64','monero-static-debian-armv8','monero-static-ubuntu-arm7','monero-static-ubuntu-amd64','monero-static-ubuntu-i686'], change_filter=util.ChangeFilter(repository='https://github.com/monero-project/monero.git') )) c['schedulers'].append(schedulers.SingleBranchScheduler( name='monero-core PR builder', builderNames=['monero-core-osx-10.12','monero-core-osx-10.11','monero-core-ubuntu-i686','monero-core-ubuntu-amd64','monero-core-win32','monero-core-win64','monero-core-ubuntu-arm7'], change_filter=util.ChangeFilter(repository='https://github.com/monero-project/monero-core.git') )) c['schedulers'].append(schedulers.SingleBranchScheduler( name='kovri PR builder', builderNames=['kovri-all-win32','kovri-all-win64','kovri-all-freebsd64','kovri-all-osx-10.12','kovri-all-osx-10.10','kovri-all-osx-10.11','kovri-all-ubuntu-amd64','kovri-all-ubuntu-i686','kovri-all-ubuntu-arm7','kovri-all-debian-arm8'], change_filter=util.ChangeFilter(repository='https://github.com/monero-project/kovri.git') )) c['schedulers'].append(schedulers.Nightly( name='Tests', branch='master', builderNames=['monero-tests-ubuntu-16.04-i686','monero-tests-windows-10-amd64','monero-tests-ubuntu-16.04-armv7','monero-tests-windows-10-i686','monero-tests-freebsd-10.3-amd64','monero-tests-ubuntu-16.04-amd64','monero-tests-osx-10.11','monero-tests-osx-10.10','monero-tests-osx-10.12'], hour=5, minute=0, change_filter=util.ChangeFilter(repository='https://github.com/monero-project/monero.git'), onlyIfChanged=True)) # thanks m-labs https://github.com/m-labs/buildbot-config/blob/master/master.cfg def addCoverallsUploadSteps(factory, repo_token): factory.addStep( CoverallsCommand( name = 'coveralls', description = 'uploading', descriptionDone = 'upload', descriptionSuffix = 'coveralls', flunkOnFailure = False, warnOnFailure = True, env = { 'COVERALLS_REPO_TOKEN': repo_token }, # Don't dump env variables potentially containing secret tokens logEnviron = False )) import re from commands import CoverallsCommand from buildbot.steps.shell import ShellCommand from buildbot.process.properties import WithProperties from buildbot.status.results import FAILURE, SUCCESS # BUILD FACTORIES noTestsFactory = util.BuildFactory() noTestsFactory.addStep(steps.Git(repourl='https://github.com/monero-project/monero.git', mode='full')) noTestsFactory.addStep(steps.Compile(command = ['make', 'release-static'])) noCoretestsFactory = util.BuildFactory() noCoretestsFactory.addStep(steps.Git(repourl='https://github.com/monero-project/monero.git', mode='full')) noCoretestsFactory.addStep(steps.Compile(command = ['make', 'release-static'])) noCoretestsFactory.addStep(steps.Test(command = ['make', 'release-test'], timeout=None, env={'ARGS': " -E 'coretests|libwallet_api_tests' "}, logfiles={'LastTest': 'build/release/Testing/Temporary/LastTest.log','CTestCostData.txt': 'build/release/Testing/Temporary/CTestCostData.txt'})) ispHijackedFactory = util.BuildFactory() ispHijackedFactory.addStep(steps.Git(repourl='https://github.com/monero-project/monero.git', mode='full')) ispHijackedFactory.addStep(steps.Compile(command = ['make', 'release-static'])) ispHijackedFactory.addStep(steps.Test(command = ['make', 'release-test'], timeout=None, env={'ARGS': " -E 'coretests|libwallet_api_tests' "}, logfiles={'LastTest': 'build/release/Testing/Temporary/LastTest.log','CTestCostData.txt': 'build/release/Testing/Temporary/CTestCostData.txt'})) osxTestsFactory = util.BuildFactory() osxTestsFactory.addStep(steps.Git(repourl='https://github.com/monero-project/monero.git', mode='incremental')) osxTestsFactory.addStep(steps.Test(command = ['make', 'release-test'], timeout=None, logfiles={'LastTest.log': 'build/debug/Testing/Temporary/LastTest.log','CTestCostData.txt': 'build/debug/Testing/Temporary/CTestCostData.txt','coretests.log': 'build/debug/tests/core_tests/coretests.log'})) armv8Factory = util.BuildFactory() armv8Factory.addStep(steps.Git(repourl='https://github.com/monero-project/monero.git', mode='full')) armv8Factory.addStep(steps.Compile(command = ['make', 'release-static-armv8'])) armv7Factory = util.BuildFactory() armv7Factory.addStep(steps.Git(repourl='https://github.com/monero-project/monero.git', mode='incremental')) armv7Factory.addStep(steps.Compile(command = ['ccache', 'make', 'release-static-armv7'], timeout=None)) static32Factory = util.BuildFactory() static32Factory.addStep(steps.Git(repourl='https://github.com/monero-project/monero.git', mode='full')) static32Factory.addStep(steps.Compile(command = ['make', 'release-static-32'])) static32Factory.addStep(steps.Test(command = ['make', 'release-test'], timeout=None, env={'ARGS': " -E 'coretests|libwallet_api_tests' "}, logfiles={"LastTest": "build/release/Testing/Temporary/LastTest.log","CTestCostData.txt": "build/release/Testing/Temporary/CTestCostData.txt"})) win32ReleaseFactory = util.BuildFactory() win32ReleaseFactory.addStep(steps.Git(repourl='https://github.com/monero-project/monero.git', mode='full')) win32ReleaseFactory.addStep(steps.Compile(command = ["make", "release-static-win32"])) win32ReleaseFactory.addStep(steps.Test(command = ["make", "release-test"], env={'ARGS': " -E 'coretests|libwallet_api_tests' "}, logfiles={"LastTest": "build/release/Testing/Temporary/LastTest.log","CTestCostData.txt": "build/release/Testing/Temporary/CTestCostData.txt"})) win64ReleaseFactory = util.BuildFactory() win64ReleaseFactory.addStep(steps.Git(repourl='https://github.com/monero-project/monero.git', mode='full')) win64ReleaseFactory.addStep(steps.Compile(command = ["make", "release-static-win64"])) win64ReleaseFactory.addStep(steps.Test(command = ["make", "release-test"], env={'ARGS': " -E 'coretests|libwallet_api_tests' "}, logfiles={"LastTest": "build/release/Testing/Temporary/LastTest.log","CTestCostData.txt": "build/release/Testing/Temporary/CTestCostData.txt"})) coreFactory = util.BuildFactory() coreFactory.addStep(steps.Git(repourl='https://github.com/monero-project/monero-core.git', mode='full')) coreFactory.addStep(steps.Compile(command = ["bash", "-ex", "build.sh"])) coreOsxFactory = util.BuildFactory() coreOsxFactory.addStep(steps.Git(repourl='https://github.com/monero-project/monero-core.git', mode='full')) coreOsxFactory.addStep(steps.Compile(command = ["bash", "-ex", "./build.sh"])) coreFreebsdFactory = util.BuildFactory() coreFreebsdFactory.addStep(steps.Git(repourl='https://github.com/monero-project/monero-core.git', mode='incremental')) coreFreebsdFactory.addStep(steps.Compile(command = ["bash", "-ex", "build.sh"],env={'SHELL': '/usr/local/bin/bash', 'PATH': '/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/vagrant/bin:/usr/local/lib/qt5/bin'})) coreMingw32Factory = util.BuildFactory() coreMingw32Factory.addStep(steps.RemoveDirectory(dir='monero')) coreMingw32Factory.addStep(steps.Git(repourl='https://github.com/monero-project/monero-core.git', mode='full', method='clobber')) coreMingw32Factory.addStep(steps.Compile(command = ['/msys32/usr/bin/bash.exe', '-ex', './build.sh'],env={'MSYSTEM': 'MINGW32', 'PATH': '/c/Windows/system32;/c/Windows;/c/Windows/System32/WindowsPowerShell/v1.0;/c/Qt/Qt5.7.0/Tools/mingw530_32/bin;/c/Qt/Qt5.7.0/Tools/mingw530_32/boost/lib;/c/Qt/Qt5.7.0/5.7/mingw53_32/bin;/c/python27/lib/site-packages/pywin32_system32;/c/msys32/mingw32/bin;/c/msys32/usr/bin'})) coreMingw32Factory.addStep(steps.Compile(name='deploy', description='deploying', descriptionDone='deploy', command = ['make', 'deploy'], workdir='build/build', env={'MSYSTEM': 'MINGW32', 'PATH': '/c/Python27;/c/Python27/Scripts;/c/Windows/system32;/c/Windows;/c/Qt/Qt5.7.0/Tools/mingw530_32/bin;/c/Qt/Qt5.7.0/Tools/mingw530_32/boost/lib;/c/Qt/Qt5.7.0/5.7/mingw53_32/bin;/c/python27/lib/site-packages/pywin32_system32;/c/msys32/mingw32/bin;/msys32/usr/bin'})) coreMingw32Factory.addStep(steps.SetPropertyFromCommand(name = "set version", command = ["git", "rev-parse", "--short", "HEAD"], property = 'gitversion')) coreMingw32Factory.addStep(steps.ShellCommand(name = "zip", command = ["zip", "-r", WithProperties("monero-core-%(gitversion)s-%(platform)s.zip"), "build/release/bin"] )) coreMingw32Factory.addStep(steps.FileUpload(slavesrc=WithProperties("monero-core-%(gitversion)s-%(platform)s.zip"), masterdest=WithProperties("/home/buildbot/master/public_html/downloads/monero-core-%(gitversion)s-%(platform)s.zip"), url=WithProperties("https://build.getmonero.org/downloads/monero-core-%(gitversion)s-%(platform)s.zip"))) coreMingw64Factory = util.BuildFactory() coreMingw64Factory.addStep(steps.Git(repourl='https://github.com/monero-project/monero-core.git', mode='full', method="clobber")) coreMingw64Factory.addStep(steps.Compile(command = ["/msys64/usr/bin/bash.exe","-ex","./build.sh"],env={'MSYSTEM': "MINGW64"})) kovriAllFactory = util.BuildFactory() kovriAllFactory.addStep(steps.Git(repourl='https://github.com/monero-project/kovri.git', mode='full', submodules=True)) kovriAllFactory.addStep(steps.Compile(command=["make", "all-options"])) kovriAllFactory.addStep(steps.Compile(name="compile tests", command=["make", "tests"])) kovriArmFactory = util.BuildFactory() kovriArmFactory.addStep(steps.Git(repourl='https://github.com/monero-project/kovri.git', mode='full', submodules=True)) kovriArmFactory.addStep(steps.Compile(command=["make", "all-options"], env={'CC': 'clang35', 'CXX': 'clang++35'})) kovriArmFactory.addStep(steps.Compile(name="compile tests", command=["make", "tests"], env={'CC': 'clang35', 'CXX': 'clang++35'})) kovriUbuntu64Factory = util.BuildFactory() kovriUbuntu64Factory.addStep(steps.Git(repourl='https://github.com/monero-project/kovri.git', mode='full', submodules=True)) kovriUbuntu64Factory.addStep(steps.Compile(command=["make", "coverage"])) kovriUbuntu64Factory.addStep(steps.Compile(name="compile tests", command=["make", "coverage-tests"])) kovriUbuntu64Factory.addStep(steps.Test(command=["./build/kovri-tests"])) addCoverallsUploadSteps(kovriUbuntu64Factory,repo_token=secrets['coveralls_token']) kovriFreebsdFactory = util.BuildFactory() kovriFreebsdFactory.addStep(steps.Git(repourl='https://github.com/monero-project/kovri.git', mode='full', submodules=True)) kovriFreebsdFactory.addStep(steps.Compile(command=["gmake", "all-options"], env={'CC': 'clang36', 'CXX': 'clang++36'})) kovriFreebsdFactory.addStep(steps.Compile(name="compile tests", command=["gmake", "tests"], env={'CC': 'clang36', 'CXX': 'clang++36'})) kovriFreebsdFactory.addStep(steps.Test(command=["./build/kovri-tests"])) kovriMingw32Factory = util.BuildFactory() kovriMingw32Factory.addStep(steps.Git(repourl='https://github.com/monero-project/kovri.git', mode='full', submodules=True)) kovriMingw32Factory.addStep(steps.Compile(command=["/msys32/usr/bin/bash.exe","-c", "make", "all-options"],env={'MSYSTEM': "MINGW32"})) kovriMingw32Factory.addStep(steps.Compile(name="compile tests", command=["make", "tests"])) kovriMingw32Factory.addStep(steps.Test(command=["kovri-tests.exe"], workdir="build/build")) kovriMingw64Factory = util.BuildFactory() kovriMingw64Factory.addStep(steps.Git(repourl='https://github.com/monero-project/kovri.git', mode='full', submodules=True)) kovriMingw64Factory.addStep(steps.Compile(command=["make", "all-options"],env={'MSYSTEM': "MINGW64"})) kovriMingw64Factory.addStep(steps.Compile(name="compile tests", command=["make", "tests"])) kovriMingw64Factory.addStep(steps.Test(command=["kovri-tests.exe"], workdir="build/build")) coreUbuntu64Factory = util.BuildFactory() coreUbuntu64Factory.addStep(steps.Git(repourl='https://github.com/monero-project/monero-core.git', mode='full')) coreUbuntu64Factory.addStep(steps.Compile(command = ["bash", "-ex", "./build.sh"])) coreUbuntu64Factory.addStep(steps.SetPropertyFromCommand(name = "set version", command = ["git", "rev-parse", "--short", "HEAD"], property = 'gitversion')) coreUbuntu64Factory.addStep(steps.FileUpload(slavesrc="build/release/bin/monero-core", masterdest=WithProperties("/home/buildbot/master/public_html/downloads/monero-core-%(gitversion)s-%(platform)s"), url=WithProperties("https://build.getmonero.org/downloads/monero-core-%(gitversion)s-%(platform)s"))) coreDebianFactory = util.BuildFactory() coreDebianFactory.addStep(steps.Git(repourl='https://github.com/monero-project/monero-core.git', mode='full')) coreDebianFactory.addStep(steps.Compile(command = ["bash", "-ex", "./build.sh"])) testsFactory = util.BuildFactory() testsFactory.addStep(steps.Git(repourl='https://github.com/monero-project/monero.git', mode='incremental')) testsFactory.addStep(steps.Compile(command = ["make", "debug"])) testsFactory.addStep(steps.Test(command = ["make", "debug-test"], timeout=None, logfiles={"LastTest.log": "build/debug/Testing/Temporary/LastTest.log","CTestCostData.txt": "build/debug/Testing/Temporary/CTestCostData.txt","coretests.log": "build/debug/tests/core_tests/coretests.log"})) testsFreebsdFactory = util.BuildFactory() testsFreebsdFactory.addStep(steps.Git(repourl='https://github.com/monero-project/monero.git', mode='full', method="clobber")) testsFreebsdFactory.addStep(steps.Compile(command = ["make", "release-static"])) testsFreebsdFactory.addStep(steps.Test(command = ["make", "release-test"], timeout=None, logfiles={"LastTest.log": "build/release/Testing/Temporary/LastTest.log","CTestCostData.txt": "build/release/Testing/Temporary/CTestCostData.txt","coretests.log": "build/release/tests/core_tests/coretests.log"})) testsWin32Factory = util.BuildFactory() testsWin32Factory.addStep(steps.Git(repourl='https://github.com/monero-project/monero.git', mode='full', method="clobber")) testsWin32Factory.addStep(steps.Compile(command = ["make", "release-static-win32"])) testsWin32Factory.addStep(steps.Test(command = ["make", "release-test"], timeout=None, logfiles={"LastTest.log": "build/release/Testing/Temporary/LastTest.log","CTestCostData.txt": "build/release/Testing/Temporary/CTestCostData.txt"})) testsWin64Factory = util.BuildFactory() testsWin64Factory.addStep(steps.Git(repourl='https://github.com/monero-project/monero.git', mode='full', method="clobber")) testsWin64Factory.addStep(steps.Compile(command = ["make", "release-static-win64"])) testsWin64Factory.addStep(steps.Test(command = ["make", "release-test"], timeout=None, logfiles={"LastTest.log": "build/release/Testing/Temporary/LastTest.log","CTestCostData.txt": "build/release/Testing/Temporary/CTestCostData.txt"})) # BUILDERS c['builders'] = [] c['builders'].append( util.BuilderConfig(name="monero-tests-windows-10-i686", slavenames=["win32"], factory=testsWin32Factory)) c['builders'].append( util.BuilderConfig(name="monero-tests-osx-10.12", slavenames=["osx-10.12"], factory=osxTestsFactory)) c['builders'].append( util.BuilderConfig(name="monero-tests-osx-10.10", slavenames=["osx-10.10"], factory=testsFactory)) c['builders'].append( util.BuilderConfig(name="monero-tests-osx-10.11", slavenames=["osx-10.11"], factory=testsFactory)) c['builders'].append( util.BuilderConfig(name="monero-static-debian-armv8", slavenames=["arm8"], factory=armv8Factory, mergeRequests=True, properties={ "github_repo_owner": "monero-project", "github_repo_name": "monero", })) c['builders'].append( util.BuilderConfig(name="monero-static-ubuntu-amd64", slavenames=["linux-amd64"], factory=noCoretestsFactory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "monero", })) c['builders'].append( util.BuilderConfig(name="monero-static-ubuntu-i686", slavenames=["linux-i386"], factory=static32Factory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "monero", })) c['builders'].append( util.BuilderConfig(name="monero-static-ubuntu-arm7", slavenames=["arm7"], factory=armv7Factory, mergeRequests=True, properties={ "github_repo_owner": "monero-project", "github_repo_name": "monero", })) c['builders'].append( util.BuilderConfig(name="monero-static-freebsd64", slavenames=["freebsd64"], factory=noCoretestsFactory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "monero", })) c['builders'].append( util.BuilderConfig(name="monero-static-osx-10.12", slavenames=["osx-10.12"], factory=noCoretestsFactory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "monero", })) c['builders'].append( util.BuilderConfig(name="monero-static-osx-10.10", slavenames=["osx-10.10"], factory=noCoretestsFactory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "monero", })) c['builders'].append( util.BuilderConfig(name="monero-static-osx-10.11", slavenames=["osx-10.11"], factory=noCoretestsFactory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "monero", })) c['builders'].append( util.BuilderConfig(name="monero-static-win32", slavenames=["win32"], factory=win32ReleaseFactory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "monero", })) c['builders'].append( util.BuilderConfig(name="monero-static-win64", slavenames=["win64"], factory=win64ReleaseFactory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "monero", })) c['builders'].append( util.BuilderConfig(name="monero-core-win32", slavenames=["win32"], factory=coreMingw32Factory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "monero-core", })) c['builders'].append( util.BuilderConfig(name="monero-core-win64", slavenames=["win64"], factory=coreMingw64Factory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "monero-core", })) c['builders'].append( util.BuilderConfig(name="monero-core-freebsd", slavenames=["freebsd64"], factory=coreFreebsdFactory)) c['builders'].append( util.BuilderConfig(name="monero-core-ubuntu-arm7", slavenames=["arm7"], factory=coreFactory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "monero-core", })) c['builders'].append( util.BuilderConfig(name="monero-core-debian-armv8", slavenames=["arm8"], factory=coreFactory)) c['builders'].append( util.BuilderConfig(name="monero-core-ubuntu-amd64", slavenames=["linux-amd64"], factory=coreUbuntu64Factory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "monero-core", })) c['builders'].append( util.BuilderConfig(name="monero-core-ubuntu-i686", slavenames=["linux-i386"], factory=coreDebianFactory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "monero-core", })) c['builders'].append( util.BuilderConfig(name="monero-core-osx-10.12", slavenames=["osx-10.12"], factory=coreOsxFactory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "monero-core", })) c['builders'].append( util.BuilderConfig(name="monero-core-osx-10.11", slavenames=["osx-10.11"], factory=coreOsxFactory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "monero-core", })) c['builders'].append( util.BuilderConfig(name="kovri-all-ubuntu-i686", slavenames=["linux-i386"], factory=kovriAllFactory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "kovri", })) c['builders'].append( util.BuilderConfig(name="kovri-all-osx-10.12", slavenames=["osx-10.12"], factory=kovriAllFactory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "kovri", })) c['builders'].append( util.BuilderConfig(name="kovri-all-osx-10.10", slavenames=["osx-10.10"], factory=kovriAllFactory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "kovri", })) c['builders'].append( util.BuilderConfig(name="kovri-all-osx-10.11", slavenames=["osx-10.11"], factory=kovriAllFactory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "kovri", })) c['builders'].append( util.BuilderConfig(name="kovri-all-ubuntu-amd64", slavenames=["linux-amd64"], factory=kovriUbuntu64Factory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "kovri", })) c['builders'].append( util.BuilderConfig(name="kovri-all-ubuntu-arm7", slavenames=["arm7"], factory=kovriAllFactory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "kovri", })) c['builders'].append( util.BuilderConfig(name="kovri-all-debian-arm8", slavenames=["arm8"], factory=kovriAllFactory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "kovri", })) c['builders'].append( util.BuilderConfig(name="kovri-all-freebsd64", slavenames=["freebsd64"], factory=kovriFreebsdFactory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "kovri", })) c['builders'].append( util.BuilderConfig(name="kovri-all-win32", slavenames=["win32"], factory=kovriMingw32Factory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "kovri", })) c['builders'].append( util.BuilderConfig(name="kovri-all-win64", slavenames=["win64"], factory=kovriMingw64Factory, properties={ "github_repo_owner": "monero-project", "github_repo_name": "kovri", })) c['builders'].append( util.BuilderConfig(name="monero-tests-ubuntu-16.04-i686", slavenames=["linux-i386"], factory=testsFactory)) c['builders'].append( util.BuilderConfig(name="monero-tests-ubuntu-16.04-amd64", slavenames=["linux-amd64"], factory=testsFactory)) c['builders'].append( util.BuilderConfig(name="monero-tests-windows-10-amd64", slavenames=["win64"], factory=testsWin64Factory)) c['builders'].append( util.BuilderConfig(name="monero-tests-freebsd-10.3-amd64", slavenames=["freebsd64"], factory=testsFactory)) c['builders'].append( util.BuilderConfig(name="monero-tests-ubuntu-16.04-armv7", slavenames=["arm7"], factory=testsFactory)) c['builders'].append( util.BuilderConfig(name="monero-tests-debian-armv8", slavenames=["arm8"], factory=testsFactory)) # STATUS TARGETS # 'status' is a list of Status Targets. The results of each build will be # pushed to these targets. buildbot/status/*.py has a variety to choose from, # including web pages, email senders, and IRC bots. c['status'] = [] from buildbot.status import html from buildbot.status.web import authz, auth secrets = json.load(open('secrets.json')) authz_cfg=authz.Authz( gracefulShutdown = 'auth', forceBuild = 'auth', forceAllBuilds = 'auth', pingBuilder = 'auth', stopBuild = 'auth', stopAllBuilds = 'auth', cancelPendingBuild = 'auth', pauseSlave = 'auth', cancelAllPendingBuilds = 'auth', ) c['status'].append(html.WebStatus(http_port=8010,authz=authz_cfg, change_hook_dialects={ 'github':{ 'secret': secrets['gh_change_hook'], 'strict': True } })) from buildbot.plugins import status irc = status.IRC('irc.freenode.org', 'xmr_buildbot', useColors=True, channels=[{"channel": "#monero-bots"} ], allowForce=True, notify_events={ 'started': 0, 'finished': 0, 'failure': 1, 'success': 1, 'exception': 1, 'successToFailure': 1, 'failureToSuccess': 1 }) c['status'].append(irc) # Github status reporter from buildbot.plugins import status, util repoOwner = util.Interpolate("%(prop:github_repo_owner)s") repoName = util.Interpolate("%(prop:github_repo_name)s") sha = util.Interpolate("%(src::revision)s") context = util.Interpolate("buildbot/%(prop:buildername)s") gs = status.GitHubStatus(token=secrets['github_token'], repoOwner=repoOwner, repoName=repoName, sha=sha, context=context, startDescription='Build started.', endDescription='Build done.') c['status'].append(gs) # PROJECT IDENTITY # the 'title' string will appear at the top of this buildbot # installation's html.WebStatus home page (linked to the # 'titleURL') and is embedded in the title of the waterfall HTML page. c['title'] = 'Monero Project' c['titleURL'] = 'https://getmonero.org/' c['buildbotURL'] = 'https://build.getmonero.org/' # DB URL c['db'] = { 'db_url':'sqlite:///state.sqlite', }