fix(ci): unbreak GitHub and Forgejo pipelines #1
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/ci-green"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Every failing job had its own cause; none of them shared a fix.
fmt / clippy — both CIs
AI_MAX_TOKENSlanded unformatted in4cd0fbf.&in aformat!argument (src/commands/level_cmds/level.rs:54) and.iter()over a map where only the values are used (src/data/embed_media.rs:147).AI_MAX_TOKENSis now gated behindai. Its only consumer isdata::ai::provider, which lives under#[cfg(feature = "ai")](src/data/mod.rs:1), so the no-feature leg of the matrix failed-D dead-code.docker — GitHub
Debian bullseye is EOL and its security suite is archived, so
apt-get updateaborts with:and exits 100. Both stages move to bookworm.
test / docker — Forgejo
The runner created service containers on Docker's default bridge — the one network with no embedded DNS — so
postgresandredisnever resolved. The wait loop burned its full timeout andsqlx migrate runthen failed with an address-lookup error naming no host.The runner-side fix is hutao/vps
fix/forgejo-runner-network(container.network: ""), which must merge and deploy before this repo's Forgejotestjob can pass. The loop here now exits non-zero and names the unreachable host instead of falling through.The
dockerjob is dropped. Job containers get no Docker socket by design (container.docker_host: "-"), and both ways around that cost more than the job is worth:docker:dindservice needscontainer.privileged: true, which privileges every job container. A workflow's ownoptions: --privilegedis silently dropped — the runner'smergeJobOptions(act/container/docker/run.go:430) only honours--health-*,--volume,--tmpfs,--memoryand--hostname..github/workflows/full.ymlalready builds the image on every push to main, which is all this job duplicated.Verification
All seven matrix legs pass locally (
fmt, 3×clippy -D warnings, 3×build). The wait loop was tested both ways — reachable → 0, unreachable → 1 naming the host.The Docker build is unverified locally (no Docker on the dev machine); this PR's GitHub run is its first real test.
No
CHANGELOG.mdentry perAGENTS.md:89— CI/build plumbing and lint fixes, no behavior change.Co-authored-by: Claude Opus 5 (1M context) noreply@anthropic.com