CI: give the deploy runner a label of its own (catcrafts-deploy)
All checks were successful
Deploy / build-deploy (push) Successful in 7m17s
All checks were successful
Deploy / build-deploy (push) Successful in 7m17s
A job goes to whichever runner carrying its label polls first, and the `flatpak` label this job shared with imsd's package job is also on the organisation-wide cx33-org-flatpak runner (registered 2026-10-14), which has no deploy mounts, no Flatpak volume and defaults to an alpine image. Crafter.Build's run 550 landed there on 2026-10-16 and failed before building; runs 549 and 552 of this job reached the right runner only because it polled first. The repository's runner now declares `catcrafts-deploy:docker://archlinux:latest` (a config edit and a service restart; labels are not part of the registration), and the job asks for that. Nothing else changes. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
b978e8884e
commit
15af22eea5
2 changed files with 25 additions and 15 deletions
|
|
@ -13,15 +13,19 @@ concurrency:
|
|||
|
||||
jobs:
|
||||
build-deploy:
|
||||
# `flatpak` is a privileged runner registered to this repository alone
|
||||
# (/etc/forgejo-runner/config-catcrafts.yaml on the box, label
|
||||
# flatpak:docker://archlinux:latest): crafter-build is the Crafter.Build
|
||||
# Flatpak, and bubblewrap inside the job container needs the privilege.
|
||||
# The same runner carries the two deploy bind mounts (/deploy, /deploy-app)
|
||||
# and a docker volume at /var/lib/flatpak that keeps the installed Flatpak
|
||||
# and its Sdk between runs. Same route as imsd's package job; see
|
||||
# deploy/README.md "Runner configuration".
|
||||
runs-on: flatpak
|
||||
# `catcrafts-deploy` is a privileged runner registered to this repository
|
||||
# alone (/etc/forgejo-runner/config-catcrafts.yaml on the box, label
|
||||
# catcrafts-deploy:docker://archlinux:latest): crafter-build is the
|
||||
# Crafter.Build Flatpak, and bubblewrap inside the job container needs the
|
||||
# privilege. The same runner carries the two deploy bind mounts (/deploy,
|
||||
# /deploy-app) and a docker volume at /var/lib/flatpak that keeps the
|
||||
# installed Flatpak and its Sdk between runs. Same route as imsd's package
|
||||
# job, but under a label of its own: imsd's `flatpak` label is also on
|
||||
# the organisation-wide runner (cx33-org-flatpak, since 2026-10-14), which
|
||||
# has no mounts and defaults to alpine, and a job goes to whichever runner
|
||||
# with the label polls first. Crafter.Build's run 550 (2026-10-16) failed
|
||||
# that way. See deploy/README.md "Runner configuration".
|
||||
runs-on: catcrafts-deploy
|
||||
env:
|
||||
# Which crafter-build. `stable` is the branch Crafter.Build publishes
|
||||
# from its release tags, `beta` follows every push to its master (the
|
||||
|
|
|
|||
|
|
@ -83,14 +83,20 @@ systemctl reload caddy
|
|||
## Runner configuration
|
||||
|
||||
The deploy job runs on a privileged runner registered to this repository alone
|
||||
(`runs-on: flatpak`), not on the shared `arch-latest` runner. crafter-build is
|
||||
the Crafter.Build Flatpak, and bubblewrap inside the job container needs the
|
||||
privilege; imsd's package job is set up the same way. On the box since
|
||||
2026-10-12:
|
||||
(`runs-on: catcrafts-deploy`), not on the shared `arch-latest` runner.
|
||||
crafter-build is the Crafter.Build Flatpak, and bubblewrap inside the job
|
||||
container needs the privilege; imsd's package job is set up the same way. The
|
||||
label is this repository's own on purpose: a job goes to whichever runner
|
||||
carrying its label polls first, and imsd's `flatpak` label is also on the
|
||||
organisation-wide `cx33-org-flatpak` runner (since 2026-10-14), which has no
|
||||
mounts and defaults to an alpine image. Crafter.Build's run 550 (2026-10-16)
|
||||
landed there and failed before building. On the box since 2026-10-12:
|
||||
|
||||
* `/etc/forgejo-runner/config-catcrafts.yaml`: label
|
||||
`flatpak:docker://archlinux:latest`, `privileged: true`, cache proxy on port
|
||||
34570.
|
||||
`catcrafts-deploy:docker://archlinux:latest` (was `flatpak` until
|
||||
2026-10-17), `privileged: true`, cache proxy on port 34570. Labels live in
|
||||
this file; the runner declares them at start, so a label change is an edit
|
||||
plus a service restart, never a re-registration.
|
||||
* `forgejo-runner-catcrafts.service`, a copy of the imsd unit, working
|
||||
directory `/var/lib/forgejo-runner-catcrafts`. Its `.runner` is the
|
||||
registration: scope `Catcrafts/catcrafts.net`, name
|
||||
|
|
|
|||
Loading…
Reference in a new issue