forked from MariaDB/buildbot
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MDBF-713 - Move scheduler helper functions
- Loading branch information
1 parent
28b429d
commit 0daf983
Showing
2 changed files
with
136 additions
and
118 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,43 +1,146 @@ | ||
from buildbot.plugins import * | ||
from buildbot.plugins import schedulers, util | ||
|
||
from constants import (builders_autobake, builders_big, builders_dockerlibrary, | ||
builders_eco, builders_install, builders_upgrade, | ||
builders_wordpress, github_status_builders, | ||
supportedPlatforms) | ||
|
||
|
||
####### SCHEDULER HELPER FUNCTIONS | ||
@util.renderer | ||
def getBranchBuilderNames(props): | ||
mBranch = props.getProperty("master_branch") | ||
|
||
builders = list( | ||
filter(lambda x: x not in github_status_builders, supportedPlatforms[mBranch]) | ||
) | ||
|
||
return builders | ||
|
||
|
||
@util.renderer | ||
def getProtectedBuilderNames(props): | ||
mBranch = props.getProperty("master_branch") | ||
|
||
builders = list( | ||
filter(lambda x: x in supportedPlatforms[mBranch], github_status_builders) | ||
) | ||
|
||
return builders | ||
|
||
|
||
@util.renderer | ||
def getAutobakeBuilderNames(props): | ||
builderName = props.getProperty("parentbuildername") | ||
for b in builders_autobake: | ||
if builderName in b: | ||
return [b] | ||
return [] | ||
|
||
|
||
@util.renderer | ||
def getBigtestBuilderNames(props): | ||
builderName = str(props.getProperty("parentbuildername")) | ||
|
||
for b in builders_big: | ||
if builderName in b: | ||
return [b] | ||
return [] | ||
|
||
|
||
@util.renderer | ||
def getInstallBuilderNames(props): | ||
builderName = str(props.getProperty("parentbuildername")) | ||
|
||
for b in builders_install: | ||
if builderName in b: | ||
builders = [b] | ||
if "rhel" in builderName: | ||
builders.append(b.replace("rhel", "almalinux")) | ||
return builders | ||
return [] | ||
|
||
|
||
@util.renderer | ||
def getUpgradeBuilderNames(props): | ||
builderName = str(props.getProperty("parentbuildername")) | ||
|
||
builds = [] | ||
for b in builders_upgrade: | ||
if builderName in b: | ||
if "rhel" in builderName: | ||
builds.append(b.replace("rhel", "almalinux")) | ||
builds.append(b) | ||
return builds | ||
|
||
|
||
@util.renderer | ||
def getEcoBuilderNames(props): | ||
builderName = str(props.getProperty("parentbuildername")) | ||
|
||
builds = [] | ||
for b in builders_eco: | ||
if builderName in b: | ||
builds.append(b) | ||
return builds | ||
|
||
|
||
@util.renderer | ||
def getDockerLibraryNames(props): | ||
return builders_dockerlibrary[0] | ||
|
||
|
||
@util.renderer | ||
def getWordpressNames(props): | ||
return builders_wordpress[0] | ||
|
||
from utils import * | ||
|
||
def getSchedulers(): | ||
l = [] | ||
|
||
l.append(schedulers.Triggerable(name="s_upstream_all", | ||
builderNames=getBranchBuilderNames)) | ||
l.append( | ||
schedulers.Triggerable( | ||
name="s_upstream_all", builderNames=getBranchBuilderNames | ||
) | ||
) | ||
|
||
schedulerProtectedBranches = schedulers.Triggerable(name="s_protected_branches", | ||
builderNames=getProtectedBuilderNames) | ||
schedulerProtectedBranches = schedulers.Triggerable( | ||
name="s_protected_branches", builderNames=getProtectedBuilderNames | ||
) | ||
l.append(schedulerProtectedBranches) | ||
|
||
schedulerPackages = schedulers.Triggerable(name="s_packages", | ||
builderNames=getAutobakeBuilderNames) | ||
schedulerPackages = schedulers.Triggerable( | ||
name="s_packages", builderNames=getAutobakeBuilderNames | ||
) | ||
l.append(schedulerPackages) | ||
|
||
schedulerBigtests = schedulers.Triggerable(name="s_bigtest", | ||
builderNames=getBigtestBuilderNames) | ||
schedulerBigtests = schedulers.Triggerable( | ||
name="s_bigtest", builderNames=getBigtestBuilderNames | ||
) | ||
l.append(schedulerBigtests) | ||
|
||
schedulerInstall = schedulers.Triggerable(name="s_install", | ||
builderNames=getInstallBuilderNames) | ||
schedulerInstall = schedulers.Triggerable( | ||
name="s_install", builderNames=getInstallBuilderNames | ||
) | ||
l.append(schedulerInstall) | ||
|
||
schedulerUpgrade = schedulers.Triggerable(name="s_upgrade", | ||
builderNames=getUpgradeBuilderNames) | ||
schedulerUpgrade = schedulers.Triggerable( | ||
name="s_upgrade", builderNames=getUpgradeBuilderNames | ||
) | ||
l.append(schedulerUpgrade) | ||
|
||
schedulerEco = schedulers.Triggerable(name="s_eco", | ||
builderNames=getEcoBuilderNames) | ||
schedulerEco = schedulers.Triggerable(name="s_eco", builderNames=getEcoBuilderNames) | ||
l.append(schedulerEco) | ||
|
||
schedulerDockerlibrary = schedulers.Triggerable(name="s_dockerlibrary", | ||
builderNames=getDockerLibraryNames) | ||
schedulerDockerlibrary = schedulers.Triggerable( | ||
name="s_dockerlibrary", builderNames=getDockerLibraryNames | ||
) | ||
l.append(schedulerDockerlibrary) | ||
|
||
l.append(schedulers.Triggerable(name="s_wordpress", builderNames=getWordpressNames)) | ||
|
||
l.append(schedulers.Triggerable(name="s_release_prep", builderNames=["release-prep"])) | ||
l.append( | ||
schedulers.Triggerable(name="s_release_prep", builderNames=["release-prep"]) | ||
) | ||
|
||
return l |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters