[152554] contrib/buildbot-test/master.cfg
raimue at macports.org
raimue at macports.org
Mon Sep 12 07:48:39 PDT 2016
Revision: 152554
https://trac.macports.org/changeset/152554
Author: raimue at macports.org
Date: 2016-09-12 07:48:39 -0700 (Mon, 12 Sep 2016)
Log Message:
-----------
buildbot: add buildbot metadata to build env
In order to construct references current build, add buildername, buildnumber
and a URL to this build to the build environment.
Modified Paths:
--------------
contrib/buildbot-test/master.cfg
Modified: contrib/buildbot-test/master.cfg
===================================================================
--- contrib/buildbot-test/master.cfg 2016-09-12 14:24:19 UTC (rev 152553)
+++ contrib/buildbot-test/master.cfg 2016-09-12 14:48:39 UTC (rev 152554)
@@ -9,6 +9,12 @@
def _path(name):
return os.path.join(os.path.dirname(__file__), name)
+def merge_dicts(*dicts):
+ res = {}
+ for d in dicts:
+ res.update(d)
+ return res
+
# This is a buildmaster config file. It must be installed as
# 'master.cfg' in your buildmaster's base directory.
@@ -296,7 +302,7 @@
from buildbot.process.properties import renderer
@renderer
-def make_triggeredby_url(props):
+def make_build_url(props):
buildername = props.getProperty('buildername')
buildnumber = props.getProperty('buildnumber')
url = c['buildbotURL']
@@ -379,7 +385,7 @@
portwatcher_factory.addStep(TriggerWithPortlist(
schedulerNames=[triggerable],
- set_properties={"triggered_by": make_triggeredby_url},
+ set_properties={"triggered_by": make_build_url},
waitForFinish=True,
updateSourceStamp=True))
@@ -483,6 +489,12 @@
baseslaves[plat] = filter(lambda x: x.endswith(plat+"-base"), slavenames)
portsslaves[plat] = filter(lambda x: x.endswith(plat+"-ports"), slavenames)
+env_buildinfo = {
+ "BUILDBOT_BUILDERNAME": WithProperties("%(buildername)s"),
+ "BUILDBOT_BUILDNUMBER": WithProperties("%(buildnumber)s"),
+ "BUILDBOT_BUILDURL": make_build_url
+}
+
c['builders']=[]
extract_os = re.compile("10\.\d+")
for plat in build_platforms:
@@ -495,7 +507,7 @@
slavenames=["base-" + plat],
factory=base_factory,
tags=["base", os_version],
- env={"PATH": path_base})]
+ env=merge_dicts(env_buildinfo, {"PATH": path_base}))]
if 'linux' not in plat and '10.5_ppc' != plat:
c['builders'] += [
BuilderConfig(
@@ -503,13 +515,13 @@
slavenames=["ports-" + plat],
factory=make_portwatcher_factory("ports-" + plat + "-trigger"),
tags=["portwatcher", os_version],
- env={"PATH": path_ports}),
+ env=merge_dicts(env_buildinfo, {"PATH": path_ports})),
BuilderConfig(
name="ports-" + plat + "-builder",
slavenames=["ports-" + plat],
factory=portbuilder_factory,
tags=["portbuilder", os_version],
- env={"PATH": path_ports})]
+ env=merge_dicts(env_buildinfo, {"PATH": path_ports}))]
if "docs" in slavedata['slaves'].keys():
c['builders'] += [
@@ -518,13 +530,13 @@
slavenames=["docs"],
factory=docs_www_factory,
tags=["docs", "www"],
- env={"PATH": path_docs}),
+ env=merge_dicts(env_buildinfo, {"PATH": path_ports})),
BuilderConfig(
name="docs-guide",
slavenames=["docs"],
factory=docs_guide_factory,
tags=["docs", "guide"],
- env={"PATH": path_docs})]
+ env=merge_dicts(env_buildinfo, {"PATH": path_ports}))]
####### STATUS TARGETS
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20160912/d19cc3e3/attachment-0001.html>
More information about the macports-changes
mailing list