CI: build with the beta crafter-build Flatpak, chosen through CRAFTER_REF
All checks were successful
Deploy / build-deploy (push) Successful in 8m44s

Run 533, the first on the Flatpak toolchain, installed the Flatpak, built
the server and passed all 28 suites, then failed building the wasm bundle:
Crafter.Graphics master has used the Shader `defines` and `variant` fields
since 2026-10-06, and the `stable` Flatpak is the 2.1.0 release from three
days before that. Only Crafter.Build master has them, so the toolchain is
its `beta` branch for now, which is also what the rolling `latest` tarball
this job used to download was: a build of master.

The branch is one variable at the top of the job, the way imsd's package
job pins its own (imsd stays on stable; it has no Crafter.Graphics). Flip
it back to //stable once a Crafter.Build release carries the fields. The
wrapper scripts expand the ref at write time, and the install step prints
them along with the Flatpak's branch and commit so a run's log says which
toolchain it used.

Verified locally with beta 2.1.0-10-g4af9280: the wasm bundle builds and
the server suite passes, except ShouldServePostPages, which needs the media
mirror on the deploy mount that only exists in CI.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Jorijn van der Graaf 2026-10-16 23:33:06 +02:00
commit c9d2f2d991
Signed by: jorijnvdgraaf
GPG key ID: 2937E59CDCC1BCFB
2 changed files with 39 additions and 18 deletions

View file

@ -1038,6 +1038,16 @@ host's. Where the host has no matching libc++, run the binary inside the
sandbox, which is what CI's `crafter-run` wrapper does:
`flatpak run --command=$PWD/<server>/catcrafts-server net.catcrafts.CrafterBuild --routes`.
Which branch of the Flatpak CI builds with is `CRAFTER_REF` at the top of
`.forgejo/workflows/deploy.yaml`. `stable` is published from Crafter.Build's
release tags, `beta` from every push to its master. The site tracks
Crafter.Graphics master, and since 2026-10-06 that uses Shader fields that
only Crafter.Build master has, so CI is on `beta` until a release carries
them (`flatpak run --command=sh net.catcrafts.CrafterBuild//beta -c
'crafter-build --version'` prints which master commit a beta is). Note that
`flatpak install` of an already-installed ref is a no-op even when the remote
has moved on; `flatpak update` is what moves it, and the workflow runs both.
### If a `bin/` glob matches two directories
The variant directory name embeds a config hash, and **`` and