From 3aa1abe175b9c5416e9301b650fbbcdbda3875f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20G=C3=B6ttsch?= Date: Fri, 17 Jul 2026 10:17:52 +0200 Subject: [PATCH] ci: ignore busy /var/run/act mount during Kaniko scratch build The runtime stage is FROM scratch with COPY /rootfs /, so Kaniko rebuilds the container root and tries to unlink the act runner's /var/run/act bind-mount (device or resource busy). Pass --ignore-path=/var/run/act so Kaniko skips that runner artifact. --- .github/workflows/deploy.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 8382282..77b18be 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -105,8 +105,14 @@ jobs: # Kaniko clones the context itself (this job has no node for JS actions # like checkout). `dev` is the moving branch tag; the commit SHA is the # immutable ref the moby Deployment pins by digest. + # The runtime stage is `FROM scratch` + `COPY /rootfs /`, so Kaniko + # rebuilds the container root. The act runner bind-mounts /var/run/act + # into the job container; Kaniko can't unlink that busy mount while + # laying down the rootfs (unlinkat ... device or resource busy), so + # ignore it. It is a runner artifact and must not be in the image. /kaniko/executor \ --context "git://${REGISTRY}/moby/brewlog.git#refs/heads/dev" \ --dockerfile Dockerfile \ + --ignore-path=/var/run/act \ --destination "${IMAGE}:${GITHUB_SHA}" \ --destination "${IMAGE}:dev"