From d1e2ad975fab385ad06fb6eaa73abd6d20df7c55 Mon Sep 17 00:00:00 2001 From: Victor Perevertkin Date: Fri, 14 Feb 2020 04:37:12 +0300 Subject: [PATCH] [MASTER] Set build properties, describing the image --- master/master.cfg | 85 ++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 73 insertions(+), 12 deletions(-) diff --git a/master/master.cfg b/master/master.cfg index aebc439..7aaa385 100644 --- a/master/master.cfg +++ b/master/master.cfg @@ -9,6 +9,7 @@ from twisted.internet import defer import configparser import pathlib +import re class ReactOSLDAPUserInfoProvider(auth.UserInfoProviderBase): @@ -207,12 +208,41 @@ bs_livecd = steps.Compile(name="livecd", command=["bash", scripts_root + "build_ bs_upload_iso = steps.ShellCommand(name="uploadiso", command=["bash", scripts_root + "uploadiso"], description=["uploading"], descriptionDone=["uploaded"]) bs_submit_results = steps.ShellCommand(name="submit_results", command=["bash", scripts_root + "submit_result", util.WithProperties('%(buildnumber)s'), util.WithProperties('%(reason:-)s'), util.WithProperties('%(id:-)s')], description=["submitting results"], descriptionDone=["submit results"]) +compiler_re = re.compile("\-\- The C compiler identification is (GNU|MSVC) ([\.\d]+)") +build_type_re = re.compile("\-\- Build Type\: (Debug|Release)") + +def extract_build_props(rc, stdout, stderr): + compiler = compiler_re.search(stdout) + + ret = {'compiler': None, 'compiler_version': None, 'build_type': 'Debug'} + if compiler: + ret['compiler'] = compiler.group(1) + ret['compiler_version'] = compiler.group(2) + + bt = build_type_re.search(stdout) + if bt: + ret['build_type'] = bt.group(1) + return ret + +# parameters are based on "steps.Configure" build step +def make_bs_configure(*args): + cmd = ["bash", scripts_root + "configure"] + list(args) + + return steps.SetPropertyFromCommand( + name="configure", + haltOnFailure=True, + flunkOnFailure=True, + command=cmd, + description=["configuring"], + descriptionDone=["configure"], + extract_fn=extract_build_props + ) Build_GCCLin_x86 = util.BuildFactory(); Build_GCCLin_x86.addStep(bs_clean) Build_GCCLin_x86.addStep(bs_git) Build_GCCLin_x86.addStep(bs_prepare_source) -Build_GCCLin_x86.addStep(steps.Compile(name="configure", command=["bash", scripts_root + "configure"], description=["configure"], descriptionDone=["configured"])) +Build_GCCLin_x86.addStep(make_bs_configure()) Build_GCCLin_x86.addStep(bs_bootcd) Build_GCCLin_x86.addStep(bs_livecd) Build_GCCLin_x86.addStep(steps.Compile(name="regtestcd", command=["bash", scripts_root + "regtestcd", "-DENABLE_ROSTESTS=1"], warningPattern="^(.*warning[: ].*|.*error[: ].*)", description=["TestCD"], descriptionDone=["TestCD"])) @@ -224,7 +254,7 @@ Build_GCCLin_8_x86 = util.BuildFactory(); Build_GCCLin_8_x86.addStep(bs_clean) Build_GCCLin_8_x86.addStep(bs_git) Build_GCCLin_8_x86.addStep(bs_prepare_source) -Build_GCCLin_8_x86.addStep(steps.Compile(name="configure", command=["bash", scripts_root + "configure"], description=["configure"], descriptionDone=["configured"])) +Build_GCCLin_8_x86.addStep(make_bs_configure()) Build_GCCLin_8_x86.addStep(bs_bootcd) Build_GCCLin_8_x86.addStep(bs_livecd) Build_GCCLin_8_x86.addStep(steps.Compile(name="regtestcd", command=["bash", scripts_root + "regtestcd", "-DENABLE_ROSTESTS=1"], warningPattern="^(.*warning[: ].*|.*error[: ].*)", description=["TestCD"], descriptionDone=["TestCD"])) @@ -236,7 +266,7 @@ Build_GCCLin_x86_Release = util.BuildFactory(); Build_GCCLin_x86_Release.addStep(bs_clean) Build_GCCLin_x86_Release.addStep(bs_git) Build_GCCLin_x86_Release.addStep(bs_prepare_source) -Build_GCCLin_x86_Release.addStep(steps.Compile(name="configure", command=["bash", scripts_root + "configure"], description=["configure"], descriptionDone=["configured"])) +Build_GCCLin_x86_Release.addStep(make_bs_configure()) Build_GCCLin_x86_Release.addStep(bs_bootcd) Build_GCCLin_x86_Release.addStep(bs_livecd) Build_GCCLin_x86_Release.addStep(bs_upload_iso) @@ -245,7 +275,7 @@ Build_GCCWin_x86 = util.BuildFactory(); Build_GCCWin_x86.addStep(bs_clean) Build_GCCWin_x86.addStep(bs_git) Build_GCCWin_x86.addStep(bs_prepare_source) -Build_GCCWin_x86.addStep(steps.Compile(name="configure", command=["bash", scripts_root + "configure", "-DENABLE_ROSAPPS=1", "-DENABLE_ROSTESTS=1"], description=["configure"], descriptionDone=["configured"])) +Build_GCCWin_x86.addStep(make_bs_configure("-DENABLE_ROSAPPS=1", "-DENABLE_ROSTESTS=1")) Build_GCCWin_x86.addStep(bs_bootcd) Build_GCCWin_x86.addStep(bs_livecd) @@ -253,7 +283,7 @@ Build_MSVC_x86 = util.BuildFactory(); Build_MSVC_x86.addStep(bs_clean) Build_MSVC_x86.addStep(bs_git) Build_MSVC_x86.addStep(bs_prepare_source) -Build_MSVC_x86.addStep(steps.Compile(name="configure", command=["bash", scripts_root + "configure"], description=["configure"], descriptionDone=["configured"])) +Build_MSVC_x86.addStep(make_bs_configure()) Build_MSVC_x86.addStep(bs_bootcd) Build_MSVC_x86.addStep(bs_livecd) Build_MSVC_x86.addStep(bs_upload_iso) @@ -262,7 +292,7 @@ Build_MSVC_x64 = util.BuildFactory(); Build_MSVC_x64.addStep(bs_clean) Build_MSVC_x64.addStep(bs_git) Build_MSVC_x64.addStep(bs_prepare_source) -Build_MSVC_x64.addStep(steps.Compile(name="configure", command=["bash", scripts_root + "configure"], description=["configure"], descriptionDone=["configured"])) +Build_MSVC_x64.addStep(make_bs_configure()) Build_MSVC_x64.addStep(bs_bootcd) Build_MSVC_x64.addStep(bs_livecd) Build_MSVC_x64.addStep(steps.Compile(name="rostests", command=["bash", scripts_root + "build_rostests"], warningPattern="^(.*warning[: ].*|.*error[: ].*)", description=["rostests"], descriptionDone=["rostests"])) @@ -318,17 +348,48 @@ Test_WHS.addStep(steps.Compile(name="test", command=["bash", scripts_root + "run c['builders'] = [ - util.BuilderConfig(name="Build GCCLin_x86", workernames=["HotelLux"], builddir="Build_GCCLin_x86", factory=Build_GCCLin_x86), - util.BuilderConfig(name="Build GCCLin_8_x86", workernames=["Carrier-GCC8"], builddir="Build_GCCLin_8_x86", factory=Build_GCCLin_8_x86), - util.BuilderConfig(name="Build GCCLin_x86 Release", workernames=["HotelLux"], builddir="Build_GCCLin_x86_Release", factory=Build_GCCLin_x86_Release), + util.BuilderConfig( + name="Build GCCLin_x86", + properties={"rosbe": "2.1.2-Unix", "arch": "i686"}, + workernames=["HotelLux"], + builddir="Build_GCCLin_x86", + factory=Build_GCCLin_x86), + util.BuilderConfig( + name="Build GCCLin_8_x86", + properties={"rosbe": "2.2.0-Unix", "arch": "i686"}, + workernames=["Carrier-GCC8"], + builddir="Build_GCCLin_8_x86", + factory=Build_GCCLin_8_x86), + util.BuilderConfig( + name="Build GCCLin_x86 Release", + properties={"rosbe": "2.1.2-Unix", "arch": "i686"}, + workernames=["HotelLux"], + builddir="Build_GCCLin_x86_Release", + factory=Build_GCCLin_x86_Release), + util.BuilderConfig( + name="Build GCCWin_x86", + properties={"rosbe": "2.2.0-Win", "arch": "i686"}, + workernames=["Carrier-Win7"], + builddir="Build_GCCWin_x86", + factory=Build_GCCWin_x86), + util.BuilderConfig( + name="Build MSVC_x86", + properties={"rosbe": "2.2.0-Win", "arch": "i686"}, + workernames=["Carrier-Win7"], + builddir="Build_MSVC_x86", + factory=Build_MSVC_x86), + util.BuilderConfig( + name="Build MSVC_x64", + properties={"rosbe": "2.2.0-Win", "arch": "amd64"}, + workernames=["Carrier-Win7"], + builddir="Build_MSVC_x64", + factory=Build_MSVC_x64), + util.BuilderConfig(name="Test KVM", workernames=["HotelLux"], builddir="Test_KVM", factory=Test_KVM), util.BuilderConfig(name="Test KVM_x64", workernames=["HotelLux"], builddir="Test_KVM_x64", factory=Test_KVM_x64), #util.BuilderConfig(name="Test KVM AHK", workernames=["AHK-Bot"], builddir="Test_KVM_AHK", factory=Test_KVM_AHK), #util.BuilderConfig(name="Test VMW", workernames=["Fezile"], builddir="Test_VMW", factory=Test_VMW), #util.BuilderConfig(name="Test VMW Hybrid", workernames=["Fezile"], builddir="Test_VMW_Hybrid", factory=Test_VMW_Hybrid), - util.BuilderConfig(name="Build GCCWin_x86", workernames=["Carrier-Win7"], builddir="Build_GCCWin_x86", factory=Build_GCCWin_x86), - util.BuilderConfig(name="Build MSVC_x86", workernames=["Carrier-Win7"], builddir="Build_MSVC_x86", factory=Build_MSVC_x86), - util.BuilderConfig(name="Build MSVC_x64", workernames=["Carrier-Win7"], builddir="Build_MSVC_x64", factory=Build_MSVC_x64), util.BuilderConfig(name="Test Win2003_x64", workernames=["Carrier-Win2003-x64"], builddir="Test_Win2003_x64", factory=Test_Win2003_x64), util.BuilderConfig(name="Test WHS", workernames=["Carrier-WHS-Bot"], builddir="Test_WHS", factory=Test_WHS), util.BuilderConfig(name="Test VBox", workernames=["Testee"], builddir="Test_VBox", factory=Test_VBox),