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:
|
jobs:
|
||||||
build-deploy:
|
build-deploy:
|
||||||
# `flatpak` is a privileged runner registered to this repository alone
|
# `catcrafts-deploy` is a privileged runner registered to this repository
|
||||||
# (/etc/forgejo-runner/config-catcrafts.yaml on the box, label
|
# alone (/etc/forgejo-runner/config-catcrafts.yaml on the box, label
|
||||||
# flatpak:docker://archlinux:latest): crafter-build is the Crafter.Build
|
# catcrafts-deploy:docker://archlinux:latest): crafter-build is the
|
||||||
# Flatpak, and bubblewrap inside the job container needs the privilege.
|
# Crafter.Build Flatpak, and bubblewrap inside the job container needs the
|
||||||
# The same runner carries the two deploy bind mounts (/deploy, /deploy-app)
|
# privilege. The same runner carries the two deploy bind mounts (/deploy,
|
||||||
# and a docker volume at /var/lib/flatpak that keeps the installed Flatpak
|
# /deploy-app) and a docker volume at /var/lib/flatpak that keeps the
|
||||||
# and its Sdk between runs. Same route as imsd's package job; see
|
# installed Flatpak and its Sdk between runs. Same route as imsd's package
|
||||||
# deploy/README.md "Runner configuration".
|
# job, but under a label of its own: imsd's `flatpak` label is also on
|
||||||
runs-on: flatpak
|
# 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:
|
env:
|
||||||
# Which crafter-build. `stable` is the branch Crafter.Build publishes
|
# Which crafter-build. `stable` is the branch Crafter.Build publishes
|
||||||
# from its release tags, `beta` follows every push to its master (the
|
# from its release tags, `beta` follows every push to its master (the
|
||||||
|
|
|
||||||
|
|
@ -83,14 +83,20 @@ systemctl reload caddy
|
||||||
## Runner configuration
|
## Runner configuration
|
||||||
|
|
||||||
The deploy job runs on a privileged runner registered to this repository alone
|
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
|
(`runs-on: catcrafts-deploy`), not on the shared `arch-latest` runner.
|
||||||
the Crafter.Build Flatpak, and bubblewrap inside the job container needs the
|
crafter-build is the Crafter.Build Flatpak, and bubblewrap inside the job
|
||||||
privilege; imsd's package job is set up the same way. On the box since
|
container needs the privilege; imsd's package job is set up the same way. The
|
||||||
2026-10-12:
|
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
|
* `/etc/forgejo-runner/config-catcrafts.yaml`: label
|
||||||
`flatpak:docker://archlinux:latest`, `privileged: true`, cache proxy on port
|
`catcrafts-deploy:docker://archlinux:latest` (was `flatpak` until
|
||||||
34570.
|
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
|
* `forgejo-runner-catcrafts.service`, a copy of the imsd unit, working
|
||||||
directory `/var/lib/forgejo-runner-catcrafts`. Its `.runner` is the
|
directory `/var/lib/forgejo-runner-catcrafts`. Its `.runner` is the
|
||||||
registration: scope `Catcrafts/catcrafts.net`, name
|
registration: scope `Catcrafts/catcrafts.net`, name
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue