mirror of
https://github.com/scummvm/scummvm-sites.git
synced 2026-05-21 05:40:45 +00:00
BUILDBOT: Add "other" build set.
This is intended to be used to test extensive changes i.e. Pull Requests which could impact across ports and should be tested before merging.
This commit is contained in:
+136
-2
@@ -32,15 +32,26 @@ scumm_tools_branch_master_desc = "tools-master"
|
||||
|
||||
scumm_tools_package_dst_master = "/var/www/snapshots/tools-master"
|
||||
|
||||
# ScummVM "Other" Repository - Used for testing Extensive Changes, Pull Requests etc.
|
||||
scumm_other_changeurl = "https://github.com/scummvm/scummvm"
|
||||
scumm_other_giturl = "%s.git" % scumm_tools_changeurl
|
||||
|
||||
scumm_other_branch = "master"
|
||||
scumm_other_branch_desc = "master"
|
||||
|
||||
scumm_other_package_dst = "/var/www/snapshots/other"
|
||||
|
||||
# toggle nightly builds
|
||||
scumm_build_nightly_master = True
|
||||
scumm_build_nightly_stable = True
|
||||
scumm_tools_build_nightly_master = True
|
||||
scumm_other_build_nightly = True
|
||||
|
||||
# toggle verbose builds
|
||||
scumm_verbose_build_master = True
|
||||
scumm_verbose_build_stable = True
|
||||
scumm_tools_verbose_build_master = True
|
||||
scumm_other_verbose_build = True
|
||||
|
||||
# Files to package for scummvm stable snapshots (common to all ports).
|
||||
scumm_package_stable = [
|
||||
@@ -70,6 +81,9 @@ scumm_package_master = copy.deepcopy(scumm_package_stable)
|
||||
#scumm_package_master.extend( [
|
||||
#] )
|
||||
|
||||
# Files to package for scummvm other snapshots (common to all ports).
|
||||
scumm_package_other = copy.deepcopy(scumm_package_master)
|
||||
|
||||
# Files to package for scummvm-tools master snapshots (common to all ports).
|
||||
scumm_tools_package_master = [
|
||||
"COPYING",
|
||||
@@ -1098,6 +1112,8 @@ scumm_platforms_master["amigaos4"] = p
|
||||
scumm_platforms_stable["amigaos4"] = p
|
||||
scumm_desktop_platforms.append("amigaos4")
|
||||
|
||||
scumm_platforms_other = copy.deepcopy(scumm_platforms_master)
|
||||
|
||||
#######
|
||||
####### buildbot setup
|
||||
#######
|
||||
@@ -1138,6 +1154,11 @@ s_tools_master = SingleBranchScheduler(name = "fetch-tools-master",
|
||||
treeStableTimer = 5,
|
||||
builderNames = [ "fetch-tools-master" ])
|
||||
|
||||
s_other = SingleBranchScheduler(name = "fetch-other",
|
||||
change_filter=ChangeFilter(repository = scumm_other_changeurl, branch = scumm_other_branch),
|
||||
treeStableTimer = 5,
|
||||
builderNames = [ "fetch-other" ])
|
||||
|
||||
# The building schedulers, starting the associated builders
|
||||
|
||||
builders_master = []
|
||||
@@ -1159,13 +1180,20 @@ for i in scumm_desktop_platforms:
|
||||
|
||||
s_build_tools_master = Triggerable(name = "tools-master", builderNames = builders_tools_master)
|
||||
|
||||
builders_other = []
|
||||
for i in scumm_platforms_other.keys():
|
||||
builders_other.append("other-%s" % i)
|
||||
|
||||
s_build_other = Triggerable(name = "other", builderNames = builders_other)
|
||||
|
||||
c["schedulers"] = [
|
||||
s_master,
|
||||
s_stable,
|
||||
s_tools_master,
|
||||
s_build_master,
|
||||
s_build_stable,
|
||||
s_build_tools_master
|
||||
s_build_tools_master,
|
||||
s_build_other
|
||||
]
|
||||
|
||||
# The nightly schedulers.
|
||||
@@ -1193,6 +1221,14 @@ if scumm_tools_build_nightly_master:
|
||||
minute = 2,
|
||||
onlyIfChanged = True))
|
||||
|
||||
if scumm_other_build_nightly:
|
||||
c["schedulers"].append(Nightly(name = "nightly_other",
|
||||
branch = scumm_other_branch,
|
||||
builderNames = [ "nightly-other" ],
|
||||
hour = 4,
|
||||
minute = 3,
|
||||
onlyIfChanged = True))
|
||||
|
||||
####### BUILDERS
|
||||
|
||||
from buildbot.process import factory
|
||||
@@ -1270,6 +1306,26 @@ c["builders"].append( {
|
||||
"locks": [ lock_src.access("exclusive") ]
|
||||
})
|
||||
|
||||
f = factory.BuildFactory()
|
||||
f.useProgress = False
|
||||
f.addStep(Git(mode = "update",
|
||||
workdir = "src",
|
||||
repourl = scumm_other_giturl,
|
||||
branch = scumm_other_branch))
|
||||
f.addStep(Trigger(schedulerNames = [ "other" ],
|
||||
copy_properties = [ 'got_revision' ],
|
||||
updateSourceStamp = True,
|
||||
waitForFinish = True))
|
||||
|
||||
c["builders"].append( {
|
||||
"name": "fetch-other",
|
||||
"slavename": "localslave",
|
||||
"builddir": "src-other",
|
||||
"factory": f,
|
||||
"category": "fetch",
|
||||
"locks": [ lock_src.access("exclusive") ]
|
||||
})
|
||||
|
||||
# Nightly builders
|
||||
|
||||
if scumm_build_nightly_master:
|
||||
@@ -1323,6 +1379,23 @@ if scumm_tools_build_nightly_master:
|
||||
"locks": [ lock_src.access("exclusive") ]
|
||||
})
|
||||
|
||||
if scumm_build_nightly_master:
|
||||
f = factory.BuildFactory()
|
||||
f.addStep(scumm.Clean(prefix = "other"))
|
||||
f.addStep(Trigger(schedulerNames = [ "other" ],
|
||||
updateSourceStamp = True,
|
||||
waitForFinish = True,
|
||||
set_properties = { "package": True }))
|
||||
|
||||
c["builders"].append( {
|
||||
"name": "nightly-other",
|
||||
"slavename": "localslave",
|
||||
"builddir": "nightly-other",
|
||||
"factory": f,
|
||||
"category": "nightly",
|
||||
"locks": [ lock_src.access("exclusive") ]
|
||||
})
|
||||
|
||||
# Dynamic generated builders based on the platforms defined at the top of this file
|
||||
|
||||
configure_path = "../../src-master/src/configure"
|
||||
@@ -1497,6 +1570,67 @@ for name, config in scumm_platforms_master.items():
|
||||
"category": "tools-master"
|
||||
})
|
||||
|
||||
configure_path = "../../src-other/src/configure"
|
||||
for name, config in scumm_platforms_other.items():
|
||||
f = factory.BuildFactory()
|
||||
f.useProgress = False
|
||||
|
||||
f.addStep(scumm.Prepare(configure = configure_path))
|
||||
|
||||
platform_build_verbosity = ""
|
||||
if scumm_verbose_build_other:
|
||||
platform_build_verbosity = "--enable-verbose-build"
|
||||
|
||||
# 20130706 Tests currently break if event recorder is enabled, so disable
|
||||
# for the native (tests) build. Remove when this is fixed.
|
||||
platform_disable_eventrecorder = ""
|
||||
if name in scumm_native_buildname:
|
||||
platform_disable_eventrecorder = "--disable-eventrecorder"
|
||||
|
||||
f.addStep(scumm.Configure(command = [
|
||||
configure_path,
|
||||
"--enable-all-engines",
|
||||
"--disable-engine=testbed",
|
||||
platform_build_verbosity,
|
||||
platform_disable_eventrecorder
|
||||
] + config["configureargs"],
|
||||
env = config["env"]))
|
||||
|
||||
f.addStep(Compile(command = [
|
||||
"make",
|
||||
"-j5"
|
||||
],
|
||||
env = config["env"]))
|
||||
|
||||
if name in scumm_native_buildname:
|
||||
f.addStep(Test(env = config["env"]))
|
||||
|
||||
platform_disttarget = ""
|
||||
if config.has_key("disttarget"):
|
||||
platform_disttarget = config["disttarget"]
|
||||
else:
|
||||
if config.has_key("strip"):
|
||||
f.addStep(scumm.Strip(command = config["strip"]))
|
||||
|
||||
if name not in scumm_buildonly_platforms:
|
||||
f.addStep(scumm.Package(disttarget = platform_disttarget,
|
||||
srcpath = "../../src-other/src/",
|
||||
dstpath = scumm_other_package_dst,
|
||||
package = scumm_package_other,
|
||||
buildname = name + "-%s" % scumm_other_branch_desc,
|
||||
platform_package = config["package"],
|
||||
archive_format = config["archive_format"],
|
||||
env = config["env"]))
|
||||
|
||||
c["builders"].append( {
|
||||
"name": "other-%s" % name,
|
||||
"slavename": "localslave",
|
||||
"builddir": "other-%s" % name,
|
||||
"factory": f,
|
||||
"locks": [ lock_bot.access('counting') ],
|
||||
"category": "other"
|
||||
})
|
||||
|
||||
####### STATUS TARGETS
|
||||
|
||||
c["status"] = []
|
||||
@@ -1528,7 +1662,7 @@ c["status"].append(
|
||||
irc = scumm.IRC("irc.freenode.org", "ScummBot",
|
||||
channel = "#scummvm",
|
||||
password= scummsecret.pwd_nickserv,
|
||||
categories = [ "master", "stable" ],
|
||||
categories = [ "master", "stable", "tools-master", "other" ],
|
||||
stableTimer = 15 * 60)
|
||||
|
||||
c["status"].append(irc)
|
||||
|
||||
Reference in New Issue
Block a user