commit 36bbc4bc6badcd150ec2ec61d0f7d677def6b7c3
parent d2854799b6712f2d1766188dc64bf844109e5d15
Author: Devan Carpenter <devan@taler.net>
Date: Fri, 25 Aug 2023 02:08:41 -0400
buildbot: use podman as container runtime
despite having an older version of podman, its handling of filesytem
permissions makes it a more sane choice than docker.
Diffstat:
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/buildbot/master.cfg b/buildbot/master.cfg
@@ -195,7 +195,11 @@ def container_add_step(HALT_ON_FAILURE,
return steps.ShellSequence(
name=stepName,
commands=[
- util.ShellArg(command=["sg", "docker", "-c", f"docker run --rm --user $(id -u):$(id -g) --volume {WORK_DIR}:/workdir --volume /home/container-worker/container_artifacts:/artifacts --workdir /workdir {CONTAINER_NAME} {jobCmd}"],
+ util.ShellArg(command=["podman", "run", "--rm",
+ "--volume", f"{WORK_DIR}:/workdir",
+ "--volume", "/home/container-worker/container_artifacts:/artifacts",
+ "--workdir", "/workdir",
+ CONTAINER_NAME, jobCmd],
logname='run inside container',
haltOnFailure=HALT_ON_FAILURE),
],
@@ -206,9 +210,14 @@ def container_add_step(HALT_ON_FAILURE,
return steps.ShellSequence(
name=stepName,
commands=[
- util.ShellArg(command=["sg", "docker", "-c", f"docker build -t {CONTAINER_NAME} -f {containerFile} ."],
+ util.ShellArg(command=["podman", "build", "-t", CONTAINER_NAME,
+ "-f", containerFile, "."],
logname='build container', haltOnFailure=True),
- util.ShellArg(command=["sg", "docker", "-c", f"docker run --rm --user $(id -u):$(id -g) --volume {WORK_DIR}:/workdir --volume /home/container-worker/container_artifacts:/artifacts --workdir /workdir {CONTAINER_NAME} {jobCmd}"],
+ util.ShellArg(command=["podman", "run", "--rm",
+ "--volume", f"{WORK_DIR}:/workdir",
+ "--volume", "/home/container-worker/container_artifacts:/artifacts",
+ "--workdir", "/workdir",
+ CONTAINER_NAME, jobCmd],
logname='run inside container',
haltOnFailure=HALT_ON_FAILURE),
],