# -*- 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'}), buildslave.BuildSlave('dragonfly-4.6', secrets['dragonfly-4.6'], max_builds=1, properties={'platform': 'dragonfly-4.6'}), ] 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)) # def startCompile(change): '''Determine whether we want to start a compile pass based on the files that have changed. Only skip compile if ALL changes are in the ignore criteria. ''' compile = True for fn in change.files: # ignore all changes to gpg keys and markdown and text files if fn.endswith('.asc') or fn.endswith('.md') or fn.endswith('.txt') or fn.endswith('.conf'): compile = False # don't ignore changes to CMakeLists.txt files if re.match('CMakeLists.txt', fn): compile = True else: return True return compile ####### 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=['kovri-static-openbsd-amd64', 'kovri-all-openbsd-amd64', 'kovri-static-dragonflybsd-amd64', 'kovri-all-dragonflybsd-amd64', 'monero-snap','monero-core-android-armv7','monero-static-dragonflybsd-amd64','monero-static-netbsd-amd64','monero-static-openbsd-amd64','monero-android-armv7','kovri-static-win32','kovri-static-win64','kovri-static-freebsd64','kovri-static-osx','kovri-static-ubuntu-amd64','kovri-static-ubuntu-i686','kovri-static-ubuntu-arm7','kovri-static-debian-arm8','pigeons-testing','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-dragonflybsd-amd64','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-freebsd','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','monero-core-debian-armv8'], change_filter=util.ChangeFilter(repository='https://github.com/monero-project/monero-core.git') )) c['schedulers'].append(schedulers.SingleBranchScheduler( name='kovri PR builder', fileIsImportant=startCompile, builderNames=['kovri-all-dragonflybsd-amd64', '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='Kovri Nightly', branch='master', builderNames=['kovri-static-dragonflybsd-amd64','kovri-static-win32','kovri-static-win64','kovri-static-freebsd64','kovri-static-osx','kovri-static-ubuntu-amd64','kovri-static-ubuntu-i686','kovri-static-ubuntu-arm7','kovri-static-debian-arm8'], hour=6, minute=0, change_filter=util.ChangeFilter(repository='https://github.com/monero-project/kovri.git'), onlyIfChanged=False)) 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)) c['schedulers'].append(schedulers.Nightly( name='Kovri Nightly', branch='master', builderNames=['kovri-static-dragonflybsd-amd64','kovri-static-win32','kovri-static-win64','kovri-static-freebsd64','kovri-static-osx','kovri-static-ubuntu-amd64','kovri-static-ubuntu-i686','kovri-static-ubuntu-arm7','kovri-static-debian-arm8'], hour=6, minute=0, change_filter=util.ChangeFilter(repository='https://github.com/monero-project/kovri.git'), onlyIfChanged=False)) c['schedulers'].append(schedulers.Nightly( name='Monero Nightly', branch='master', builderNames=['monero-static-dragonflybsd-amd64','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'], hour=7, minute=0, change_filter=util.ChangeFilter(repository='https://github.com/monero-project/monero.git'), onlyIfChanged=False)) # 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', submodules=True)) 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', submodules=True)) 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'})) noCoretestsFactory.addStep(steps.SetPropertyFromCommand(name = "set version", command = ["git", "rev-parse", "--short", "HEAD"], property = 'gitversion')) noCoretestsFactory.addStep(steps.ShellCommand(name = "zip", command = ["tar", "-zcvf", WithProperties("monero-%(gitversion)s-%(platform)s.tar.gz"), "build/release/bin"] )) noCoretestsFactory.addStep(steps.FileUpload(slavesrc=WithProperties("monero-%(gitversion)s-%(platform)s.tar.gz"), masterdest=WithProperties("/home/buildbot/master/public_html/downloads/monero-%(gitversion)s-%(platform)s.tar.gz"), url=WithProperties("https://build.getmonero.org/downloads/monero-%(gitversion)s-%(platform)s.tar.gz"))) ispHijackedFactory = util.BuildFactory() ispHijackedFactory.addStep(steps.Git(repourl='https://github.com/monero-project/monero.git', mode='full', submodules=True)) 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' ", 'GTEST_FILTER': '-DNSResolver.*:AddressFromURL.*'}, logfiles={'LastTest': 'build/release/Testing/Temporary/LastTest.log','CTestCostData.txt': 'build/release/Testing/Temporary/CTestCostData.txt'})) ispHijackedFactory.addStep(steps.SetPropertyFromCommand(name = "set version", command = ["git", "rev-parse", "--short", "HEAD"], property = 'gitversion')) ispHijackedFactory.addStep(steps.ShellCommand(name = "zip", command = ["tar", "-zcvf", WithProperties("monero-%(gitversion)s-%(platform)s.tar.gz"), "build/release/bin"] )) ispHijackedFactory.addStep(steps.FileUpload(slavesrc=WithProperties("monero-%(gitversion)s-%(platform)s.tar.gz"), masterdest=WithProperties("/home/buildbot/master/public_html/downloads/monero-%(gitversion)s-%(platform)s.tar.gz"), url=WithProperties("https://build.getmonero.org/downloads/monero-%(gitversion)s-%(platform)s.tar.gz"))) osxTestsFactory = util.BuildFactory() osxTestsFactory.addStep(steps.Git(repourl='https://github.com/monero-project/monero.git', mode='incremental', submodules=True)) 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', submodules=True)) armv8Factory.addStep(steps.Compile(command = ['make', 'release-static-armv8'])) armv8Factory.addStep(steps.SetPropertyFromCommand(name = "set version", command = ["git", "rev-parse", "--short", "HEAD"], property = 'gitversion')) armv8Factory.addStep(steps.ShellCommand(name = "zip", command = ["tar", "-zcvf", WithProperties("monero-%(gitversion)s-%(platform)s.tar.gz"), "build/release/bin"] )) armv8Factory.addStep(steps.FileUpload(slavesrc=WithProperties("monero-%(gitversion)s-%(platform)s.tar.gz"), masterdest=WithProperties("/home/buildbot/master/public_html/downloads/monero-%(gitversion)s-%(platform)s.tar.gz"), url=WithProperties("https://build.getmonero.org/downloads/monero-%(gitversion)s-%(platform)s.tar.gz"))) armv7Factory = util.BuildFactory() armv7Factory.addStep(steps.Git(repourl='https://github.com/monero-project/monero.git', mode='incremental', submodules=True)) armv7Factory.addStep(steps.Compile(command = ['ccache', 'make', 'release-static-armv7'], timeout=None)) armv7Factory.addStep(steps.SetPropertyFromCommand(name = "set version", command = ["git", "rev-parse", "--short", "HEAD"], property = 'gitversion')) armv7Factory.addStep(steps.ShellCommand(name = "zip", command = ["tar", "-zcvf", WithProperties("monero-%(gitversion)s-%(platform)s.tar.gz"), "build/release/bin"] )) armv7Factory.addStep(steps.FileUpload(slavesrc=WithProperties("monero-%(gitversion)s-%(platform)s.tar.gz"), masterdest=WithProperties("/home/buildbot/master/public_html/downloads/monero-%(gitversion)s-%(platform)s.tar.gz"), url=WithProperties("https://build.getmonero.org/downloads/monero-%(gitversion)s-%(platform)s.tar.gz"))) static32Factory = util.BuildFactory() static32Factory.addStep(steps.Git(repourl='https://github.com/monero-project/monero.git', mode='full', submodules=True)) 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"})) static32Factory.addStep(steps.SetPropertyFromCommand(name = "set version", command = ["git", "rev-parse", "--short", "HEAD"], property = 'gitversion')) static32Factory.addStep(steps.ShellCommand(name = "zip", command = ["tar", "-zcvf", WithProperties("monero-%(gitversion)s-%(platform)s.tar.gz"), "build/release/bin"] )) static32Factory.addStep(steps.FileUpload(slavesrc=WithProperties("monero-%(gitversion)s-%(platform)s.tar.gz"), masterdest=WithProperties("/home/buildbot/master/public_html/downloads/monero-%(gitversion)s-%(platform)s.tar.gz"), url=WithProperties("https://build.getmonero.org/downloads/monero-%(gitversion)s-%(platform)s.tar.gz"))) win32ReleaseFactory = util.BuildFactory() win32ReleaseFactory.addStep(steps.Git(repourl='https://github.com/monero-project/monero.git', mode='full', submodules=True)) 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', submodules=True)) 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"})) win64ReleaseFactory.addStep(steps.SetPropertyFromCommand(name = "set version", command = ["git", "rev-parse", "--short", "HEAD"], property = 'gitversion')) win64ReleaseFactory.addStep(steps.ShellCommand(name = "zip", command = ["tar", "-zcvf", WithProperties("monero-%(gitversion)s-%(platform)s.tar.gz"), "build/release/bin"] )) win64ReleaseFactory.addStep(steps.FileUpload(slavesrc=WithProperties("monero-%(gitversion)s-%(platform)s.tar.gz"), masterdest=WithProperties("/home/buildbot/master/public_html/downloads/monero-%(gitversion)s-%(platform)s.tar.gz"), url=WithProperties("https://build.getmonero.org/downloads/monero-%(gitversion)s-%(platform)s.tar.gz"))) dragonflyFactory = util.BuildFactory() dragonflyFactory.addStep(steps.Git(repourl='https://github.com/monero-project/monero.git', mode='full', submodules=True)) dragonflyFactory.addStep(steps.Compile(command = ['gmake', 'release-static'], env={'LDVER': 'ld.bfd'})) dragonflyFactory.addStep(steps.Test(command = ['gmake', 'release-test'], timeout=None, env={'LDVER': 'ld.bfd', 'ARGS': " -E 'coretests|libwallet_api_tests' "}, logfiles={'LastTest': 'build/release/Testing/Temporary/LastTest.log','CTestCostData.txt': 'build/release/Testing/Temporary/CTestCostData.txt'})) dragonflyFactory.addStep(steps.SetPropertyFromCommand(name = "set version", command = ["git", "rev-parse", "--short", "HEAD"], property = 'gitversion')) dragonflyFactory.addStep(steps.ShellCommand(name = "zip", command = ["tar", "-zcvf", WithProperties("monero-%(gitversion)s-%(platform)s.tar.gz"), "build/release/bin"] )) dragonflyFactory.addStep(steps.FileUpload(slavesrc=WithProperties("monero-%(gitversion)s-%(platform)s.tar.gz"), masterdest=WithProperties("/home/buildbot/master/public_html/downloads/monero-%(gitversion)s-%(platform)s.tar.gz"), url=WithProperties("https://build.getmonero.org/downloads/monero-%(gitversion)s-%(platform)s.tar.gz"))) coreFactory = util.BuildFactory() coreFactory.addStep(steps.Git(repourl='https://github.com/monero-project/monero-core.git', mode='full', submodules=True)) coreFactory.addStep(steps.Compile(command = ["bash", "-ex", "build.sh"], timeout=None)) coreOsxFactory = util.BuildFactory() coreOsxFactory.addStep(steps.Git(repourl='https://github.com/monero-project/monero-core.git', mode='full', submodules=True)) coreOsxFactory.addStep(steps.Compile(command = ["bash", "-ex", "./build.sh"], env={'PATH': '/opt/qt/Qt5.7.0/5.7/clang_64/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin'})) coreOsxFactory.addStep(steps.ShellCommand(command=['make', 'deploy'], name='deploy', description='deploying', workdir='build/build', env={'PATH': '/opt/qt/Qt5.7.0/5.7/clang_64/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin'})) coreOsxFactory.addStep(steps.ShellCommand(name='copy boost', command=['cp', '/usr/local/opt/boost/lib/libboost_system-mt.dylib', 'build/release/bin/monero-wallet-gui.app/Contents/Frameworks/'])) coreOsxFactory.addStep(steps.ShellCommand(name='copy Qt', command=['cp', '-rv', '/opt/qt/Qt5.7.0/5.7/clang_64/qml/Qt', 'build/release/bin/monero-wallet-gui.app/Contents/MacOS/'])) coreOsxFactory.addStep(steps.ShellCommand(name='copy QtQuick', command=['cp', '-Rv', '/opt/qt/Qt5.7.0/5.7/clang_64/qml/QtQuick', 'build/release/bin/monero-wallet-gui.app/Contents/MacOS/'])) coreOsxFactory.addStep(steps.ShellCommand(name='copy QtGraphicalEffects', command=['cp', '-rv', '/opt/qt/Qt5.7.0/5.7/clang_64/qml/QtGraphicalEffects', 'build/release/bin/monero-wallet-gui.app/Contents/MacOS/'])) coreOsxFactory.addStep(steps.ShellCommand(name='copy deps', command=['cp', '-rv', '/opt/qt/Qt5.7.0/5.7/clang_64/lib/QtXmlPatterns.framework', 'build/release/bin/monero-wallet-gui.app/Contents/Frameworks'])) coreOsxFactory.addStep(steps.ShellCommand(name='link', command=['install_name_tool', '-change', '/usr/local/Cellar/openssl/1.0.2j/lib/libcrypto.1.0.0.dylib', '@executable_path/../Frameworks/libcrypto.1.0.0.dylib', 'build/release/bin/monero-wallet-gui.app/Contents/Frameworks/libssl.1.0.0.dylib'])) coreOsxFactory.addStep(steps.SetPropertyFromCommand(name = "set version", command = ["git", "rev-parse", "--short", "HEAD"], property = 'gitversion')) coreOsxFactory.addStep(steps.ShellCommand(name = "zip", command = ["zip", "-r", "-X", WithProperties("monero-wallet-gui-%(gitversion)s-%(platform)s.zip"), "build/release/bin/monero-wallet-gui.app"] )) coreOsxFactory.addStep(steps.FileUpload(slavesrc=WithProperties("monero-wallet-gui-%(gitversion)s-%(platform)s.zip"), masterdest=WithProperties("/home/buildbot/master/public_html/downloads/monero-wallet-gui-%(gitversion)s-%(platform)s.zip"), url=WithProperties("https://build.getmonero.org/downloads/monero-wallet-gui-%(gitversion)s-%(platform)s.zip"))) coreFreebsdFactory = util.BuildFactory() coreFreebsdFactory.addStep(steps.Git(repourl='https://github.com/monero-project/monero-core.git', mode='incremental', submodules=True)) 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', submodules=True)) 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.RemoveDirectory(dir='build/build')) coreMingw64Factory.addStep(steps.Git(repourl='https://github.com/monero-project/monero-core.git', mode='full', submodules=True)) coreMingw64Factory.addStep(steps.Compile(command = ["/msys64/usr/bin/bash.exe","-ex","./build.sh"],env={'MSYSTEM': 'MINGW64', 'PATH': '/c/Qt/qt-everywhere-opensource-src-5.7.0/qtbase/bin;/c/msys64/usr/bin;/c/Windows/system32;/c/Windows;/c/msys64/mingw64/bin'})) coreMingw64Factory.addStep(steps.Compile(name='deploy', description='deploying', descriptionDone='deploy', command = ['make', 'deploy'], workdir='build/build', env={'MSYSTEM_PREFIX': '/mingw64', 'MSYSTEM': 'MINGW64', 'PATH': ["c:\Qt\qt-everywhere-opensource-src-5.7.0\qtbase\\bin", "${PATH}"]})) coreMingw64Factory.addStep(steps.SetPropertyFromCommand(name = "set version", command = ["git", "rev-parse", "--short", "HEAD"], property = 'gitversion')) coreMingw64Factory.addStep(steps.ShellCommand(name = "zip", command = ["zip", "-r", WithProperties("monero-core-%(gitversion)s-%(platform)s.zip"), "build/release/bin"] )) coreMingw64Factory.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"))) 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"])) kovriAllFactory.addStep(steps.Test(command=["./build/kovri-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'})) kovriArmFactory.addStep(steps.Test(command=["./build/kovri-tests"])) 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")) kovriDragonflyFactory = util.BuildFactory() kovriDragonflyFactory.addStep(steps.Git(repourl='https://github.com/monero-project/kovri.git', mode='full', submodules=True)) kovriDragonflyFactory.addStep(steps.Compile(command=["gmake", "all-options"])) kovriDragonflyFactory.addStep(steps.Compile(name="compile tests", command=["gmake", "tests"])) kovriDragonflyFactory.addStep(steps.Test(command=["./build/kovri-tests"])) kovriDragonflyFactory.addStep(steps.Test(name="benchmark", command=["./build/kovri-benchmarks"])) kovriStaticFactory = util.BuildFactory() kovriStaticFactory.addStep(steps.Git(repourl='https://github.com/monero-project/kovri.git', mode='full', submodules=True)) kovriStaticFactory.addStep(steps.Compile(command=["make", "release-static"])) kovriStaticFactory.addStep(steps.Compile(name='make documentation', command=["make", "doxygen"])) kovriStaticFactory.addStep(steps.ShellCommand(name='package', description='packaging', descriptionDone='package', command = ['bash', '-x', './pkg/installers/kovri-install.sh', '-p', '-c', '-f', util.Interpolate('kovri-latest-%(prop:platform)s.tar.bz2')])) kovriStaticFactory.addStep(steps.FileUpload(slavesrc=WithProperties("kovri-latest-%(platform)s.tar.bz2"), masterdest=WithProperties("/home/buildbot/master/public_html/downloads/kovri-latest-%(platform)s.tar.bz2"), url=WithProperties("https://build.getmonero.org/downloads/kovri-latest-%(platform)s.tar.bz2"))) kovriStaticFactory.addStep(steps.FileUpload(name="upload hashes", slavesrc=WithProperties("kovri-latest-%(platform)s.tar.bz2.sha256sum.txt"), masterdest=WithProperties("/home/buildbot/master/public_html/downloads/kovri-latest-%(platform)s.tar.bz2.sha256sum.txt"), url=WithProperties("https://build.getmonero.org/downloads/kovri-latest-%(platform)s.tar.bz2.sha256sum.txt"))) kovriStaticBsdFactory = util.BuildFactory() kovriStaticBsdFactory.addStep(steps.Git(repourl='https://github.com/monero-project/kovri.git', mode='full', submodules=True)) kovriStaticBsdFactory.addStep(steps.Compile(command=["gmake", "release-static"])) kovriStaticBsdFactory.addStep(steps.ShellCommand(name='package', description='packaging', descriptionDone='packaged', command = ['bash', '-x', './pkg/installers/kovri-install.sh', '-p', '-c', '-f', util.Interpolate('kovri-latest-%(prop:platform)s.tar.bz2')])) kovriStaticBsdFactory.addStep(steps.FileUpload(slavesrc=WithProperties("kovri-latest-%(platform)s.tar.bz2"), masterdest=WithProperties("/home/buildbot/master/public_html/downloads/kovri-latest-%(platform)s.tar.bz2"), url=WithProperties("https://build.getmonero.org/downloads/kovri-latest-%(platform)s.tar.bz2"))) kovriStaticBsdFactory.addStep(steps.FileUpload(name="upload hashes", slavesrc=WithProperties("kovri-latest-%(platform)s.tar.bz2.sha256sum.txt"), masterdest=WithProperties("/home/buildbot/master/public_html/downloads/kovri-latest-%(platform)s.tar.bz2.sha256sum.txt"), url=WithProperties("https://build.getmonero.org/downloads/kovri-latest-%(platform)s.tar.bz2.sha256sum.txt"))) kovriStaticBsdFactory.addStep(steps.RemoveDirectory(dir='build/build', hideStepIf=True)) kovriStaticWin32Factory = util.BuildFactory() kovriStaticWin32Factory.addStep(steps.Git(repourl='https://github.com/monero-project/kovri.git', mode='full', submodules=True)) kovriStaticWin32Factory.addStep(steps.Compile(command=["make", "release-static"],env={'MSYSTEM': "MINGW32"})) kovriStaticWin32Factory.addStep(steps.ShellCommand(name='package', description='packaging', descriptionDone='packaged', env={'PATH': ["C:\msys32\usr\\bin\\core_perl", "${PATH}"]}, command = ['bash', '-x', './pkg/installers/kovri-install.sh', '-p', '-c', '-f', util.Interpolate('kovri-latest-%(prop:platform)s.exe')])) kovriStaticWin32Factory.addStep(steps.FileUpload(slavesrc=WithProperties("kovri-latest-%(platform)s.exe"), masterdest=WithProperties("/home/buildbot/master/public_html/downloads/kovri-latest-%(platform)s.exe"), url=WithProperties("https://build.getmonero.org/downloads/kovri-latest-%(platform)s.exe"))) kovriStaticWin32Factory.addStep(steps.FileUpload(name="upload hashes", slavesrc=WithProperties("kovri-latest-%(platform)s.exe.sha256sum.txt"), masterdest=WithProperties("/home/buildbot/master/public_html/downloads/kovri-latest-%(platform)s.exe.sha256sum.txt"), url=WithProperties("https://build.getmonero.org/downloads/kovri-latest-%(platform)s.exe.sha256sum.txt"))) kovriStaticWin64Factory = util.BuildFactory() kovriStaticWin64Factory.addStep(steps.Git(repourl='https://github.com/monero-project/kovri.git', mode='full', submodules=True)) kovriStaticWin64Factory.addStep(steps.Compile(command=["make", "release-static"],env={'MSYSTEM': "MINGW64"})) kovriStaticWin64Factory.addStep(steps.ShellCommand(name='package', description='packaging', descriptionDone='packaged', env={'PATH': ["C:\msys64\usr\\bin\\core_perl", "${PATH}"]}, command = ['bash', '-x', './pkg/installers/kovri-install.sh', '-p', '-c', '-f', util.Interpolate('kovri-latest-%(prop:platform)s.exe')])) kovriStaticWin64Factory.addStep(steps.FileUpload(slavesrc=WithProperties("kovri-latest-%(platform)s.exe"), masterdest=WithProperties("/home/buildbot/master/public_html/downloads/kovri-latest-%(platform)s.exe"), url=WithProperties("https://build.getmonero.org/downloads/kovri-latest-%(platform)s.exe"))) kovriStaticWin64Factory.addStep(steps.FileUpload(name="upload hashes", slavesrc=WithProperties("kovri-latest-%(platform)s.exe.sha256sum.txt"), masterdest=WithProperties("/home/buildbot/master/public_html/downloads/kovri-latest-%(platform)s.exe.sha256sum.txt"), url=WithProperties("https://build.getmonero.org/downloads/kovri-latest-%(platform)s.exe.sha256sum.txt"))) coreUbuntu64Factory = util.BuildFactory() coreUbuntu64Factory.addStep(steps.Git(repourl='https://github.com/monero-project/monero-core.git', mode='full', submodules=True)) coreUbuntu64Factory.addStep(steps.Compile(command = ["bash", "-ex", "./build.sh"], env={'PATH': '/opt/Qt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'})) coreUbuntu64Factory.addStep(steps.Compile(name='deploy', description='deploying', descriptionDone='deploy', command = ['make', 'deploy'],workdir='build/build')) coreUbuntu64Factory.addStep(steps.SetPropertyFromCommand(name = "set version", command = ["git", "rev-parse", "--short", "HEAD"], property = 'gitversion')) coreUbuntu64Factory.addStep(steps.ShellCommand(name = "zip", command = ["tar", "-zcvf", WithProperties("monero-core-%(gitversion)s-%(platform)s.tar.gz"), "build/release/bin"] )) coreUbuntu64Factory.addStep(steps.FileUpload(slavesrc=WithProperties("monero-core-%(gitversion)s-%(platform)s.tar.gz"), masterdest=WithProperties("/home/buildbot/master/public_html/downloads/monero-core-%(gitversion)s-%(platform)s.tar.gz"), url=WithProperties("https://build.getmonero.org/downloads/monero-core-%(gitversion)s-%(platform)s.tar.gz"))) coreDebianFactory = util.BuildFactory() coreDebianFactory.addStep(steps.RemoveDirectory(dir='build/build')) coreDebianFactory.addStep(steps.Git(repourl='https://github.com/monero-project/monero-core.git', mode='full', submodules=True)) coreDebianFactory.addStep(steps.Compile(command = ["bash", "-ex", "./build.sh"])) coreDebianFactory.addStep(steps.Compile(name='deploy', description='deploying', descriptionDone='deploy', command = ['make', 'deploy'],workdir='build/build')) coreDebianFactory.addStep(steps.SetPropertyFromCommand(name = "set version", command = ["git", "rev-parse", "--short", "HEAD"], property = 'gitversion')) coreDebianFactory.addStep(steps.ShellCommand(name = "zip", command = ["tar", "-zcvf", WithProperties("monero-core-%(gitversion)s-%(platform)s.tar.gz"), "build/release/bin"] )) coreDebianFactory.addStep(steps.FileUpload(slavesrc=WithProperties("monero-core-%(gitversion)s-%(platform)s.tar.gz"), masterdest=WithProperties("/home/buildbot/master/public_html/downloads/monero-core-%(gitversion)s-%(platform)s.tar.gz"), url=WithProperties("https://build.getmonero.org/downloads/monero-core-%(gitversion)s-%(platform)s.tar.gz"))) testsFactory = util.BuildFactory() testsFactory.addStep(steps.Git(repourl='https://github.com/monero-project/monero.git', mode='incremental', submodules=True)) 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", submodules=True)) 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", submodules=True)) 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", submodules=True)) 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-dragonflybsd-amd64", slavenames=["dragonfly-4.6"], factory=dragonflyFactory, 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=ispHijackedFactory, 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=ispHijackedFactory, 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-dragonflybsd-amd64", slavenames=["dragonfly-4.6"], factory=kovriDragonflyFactory, 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="kovri-static-dragonflybsd-amd64", slavenames=["dragonfly-4.6"], factory=kovriStaticDragonflyFactory)) 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)) c['builders'].append( util.BuilderConfig(name="kovri-static-ubuntu-i686", slavenames=["linux-i386"], factory=kovriStaticFactory)) c['builders'].append( util.BuilderConfig(name="kovri-static-osx", slavenames=["osx-10.10"], factory=kovriStaticFactory)) c['builders'].append( util.BuilderConfig(name="kovri-static-ubuntu-amd64", slavenames=["linux-amd64"], factory=kovriStaticFactory)) c['builders'].append( util.BuilderConfig(name="kovri-static-ubuntu-arm7", slavenames=["arm7"], factory=kovriStaticFactory)) c['builders'].append( util.BuilderConfig(name="kovri-static-debian-arm8", slavenames=["arm8"], factory=kovriStaticFactory)) c['builders'].append( util.BuilderConfig(name="kovri-static-dragonflybsd-amd64", slavenames=["dragonfly-4.6"], factory=kovriStaticBsdFactory)) c['builders'].append( util.BuilderConfig(name="kovri-static-freebsd64", slavenames=["freebsd64"], env={'CC': 'clang36', 'CXX': 'clang++36'}, factory=kovriStaticBsdFactory)) c['builders'].append( util.BuilderConfig(name="kovri-static-openbsd-amd64", slavenames=["openbsd"], env={'CC': 'egcc', 'CXX': 'eg++'}, factory=kovriStaticBsdFactory)) c['builders'].append( util.BuilderConfig(name="kovri-static-win32", slavenames=["win32"], factory=kovriStaticWin32Factory)) c['builders'].append( util.BuilderConfig(name="kovri-static-win64", slavenames=["win64"], factory=kovriStaticWin64Factory)) # 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', }