Compare commits

..

2 Commits

Author SHA1 Message Date
f2cb5fd8d3
Fix revision handling (should fix github/gitea reporting)
Some checks failed
buildbot/multibuild_parent Build done.
buildbot/travis_bionic Build done.
2022-04-11 16:53:39 +08:00
53fcd7e7b9
Optimize steps
Some checks failed
buildbot/travis_bionic Build done.
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 return results
def get_revision(): def get_revision(branch):
proc = Popen(["git", "rev-parse", "HEAD"], stdout=PIPE) proc = Popen(["git", "rev-parse", branch], stdout=PIPE)
retval = proc.stdout.read().strip() retval = proc.stdout.read().strip()
retval = retval.decode('utf-8') retval = retval.decode('utf-8')
return retval return retval
@ -117,7 +117,7 @@ def _get_dockerfile_contents(dockerfile):
return res + dockerfile_extra_contents[os_codename] 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 request_url = buildbotUrl + ty
# List all jobs in the directory # List all jobs in the directory
jobs = list_jobs(directory) jobs = list_jobs(directory)
@ -126,7 +126,7 @@ def trigger_child_hooks(buildbotUrl: str, repository, branch, directory=".buildb
"X-Multibuild-Trigger": get_secret(), "X-Multibuild-Trigger": get_secret(),
"Accept": "text/plain", "Accept": "text/plain",
} }
revision = get_revision() #revision = get_revision(branch)
# Check if build.sh or test.sh exists in each of the jobs # Check if build.sh or test.sh exists in each of the jobs
for job in jobs: for job in jobs:
@ -168,13 +168,14 @@ if __name__ == "__main__":
# expect jobname, repository, branch, buildbotUrl from command line # expect jobname, repository, branch, buildbotUrl from command line
import sys import sys
if len(sys.argv) == 4: if len(sys.argv) == 5:
buildbotUrl = sys.argv[1] buildbotUrl = sys.argv[1]
repository = sys.argv[2] repository = sys.argv[2]
branch = sys.argv[3] branch = sys.argv[3]
revision = sys.argv[4]
trigger_child_hooks(buildbotUrl, repository, branch) trigger_child_hooks(buildbotUrl, repository, branch, revision)
else: else:
sys.exit( 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 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( build_factory.addStep(
steps.ShellCommand( steps.ShellCommand(
name="Execute worker script", name="Execute worker script",
command=[ command=[
"python3", "python3",
'worker_multibuild.py', '/usr/local/bin/worker_multibuild.py',
util.Property("buildboturl"), util.Property("buildboturl"),
util.Property('repository'), util.Property('repository'),
util.Property('branch') util.Property('branch'),
util.Property('revision')
], ],
) )
) )