Compare commits

...

2 Commits

Author SHA1 Message Date
Peter Šurda f2cb5fd8d3
Fix revision handling (should fix github/gitea reporting)
buildbot/multibuild_parent Build done. Details
buildbot/travis_bionic Build done. Details
2022-04-11 16:53:39 +08:00
Peter Šurda 53fcd7e7b9
Optimize steps
buildbot/travis_bionic Build done. Details
2022-04-08 11:20:50 +08:00
2 changed files with 11 additions and 27 deletions

View File

@ -81,8 +81,8 @@ def list_jobs(directory=".buildbot"):
return results
def get_revision():
proc = Popen(["git", "rev-parse", "HEAD"], stdout=PIPE)
def get_revision(branch):
proc = Popen(["git", "rev-parse", branch], stdout=PIPE)
retval = proc.stdout.read().strip()
retval = retval.decode('utf-8')
return retval
@ -117,7 +117,7 @@ def _get_dockerfile_contents(dockerfile):
return res + dockerfile_extra_contents[os_codename]
def trigger_child_hooks(buildbotUrl: str, repository, branch, directory=".buildbot"):
def trigger_child_hooks(buildbotUrl: str, repository, branch, revision, directory=".buildbot"):
request_url = buildbotUrl + ty
# List all jobs in the directory
jobs = list_jobs(directory)
@ -126,7 +126,7 @@ def trigger_child_hooks(buildbotUrl: str, repository, branch, directory=".buildb
"X-Multibuild-Trigger": get_secret(),
"Accept": "text/plain",
}
revision = get_revision()
#revision = get_revision(branch)
# Check if build.sh or test.sh exists in each of the jobs
for job in jobs:
@ -168,13 +168,14 @@ if __name__ == "__main__":
# expect jobname, repository, branch, buildbotUrl from command line
import sys
if len(sys.argv) == 4:
if len(sys.argv) == 5:
buildbotUrl = sys.argv[1]
repository = sys.argv[2]
branch = sys.argv[3]
revision = sys.argv[4]
trigger_child_hooks(buildbotUrl, repository, branch)
trigger_child_hooks(buildbotUrl, repository, branch, revision)
else:
sys.exit(
"Usage: python3 multibuild.py <buildbotUrl> <repository> <branch>"
"Usage: python3 multibuild.py <buildbotUrl> <repository> <branch> <revision>"
)

View File

@ -32,33 +32,16 @@ def add_parent_step(build_factory):
Add a step to the parent build factory that will trigger the child hooks
"""
build_factory.addStep(steps.ShellCommand(
name="Update APT cache",
command=["sudo", "apt", "update"]
))
build_factory.addStep(steps.ShellCommand(
name="Install dependencies",
command=["sudo", "apt", "-y", "install", "python3-requests"]
))
build_factory.addStep(
steps.FileDownload(
workerdest="worker_multibuild.py",
mastersrc="buildbot_multibuild/lib/worker_multibuild.py",
mode=0o444
)
)
build_factory.addStep(
steps.ShellCommand(
name="Execute worker script",
command=[
"python3",
'worker_multibuild.py',
'/usr/local/bin/worker_multibuild.py',
util.Property("buildboturl"),
util.Property('repository'),
util.Property('branch')
util.Property('branch'),
util.Property('revision')
],
)
)