CI: .forgejo/deno.sh follow-ups — silent git skip, stale derived images, non-deterministic recipe key #29
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Follow-ups from the review of #27 (approved; none blocked it). All three are in
.forgejo/deno.sh, so one pass over that file closes them.1. The soft fallback re-opens the silent-skip hole the file complains about —
deno.sh:67-77deno.sh:37-41documents that without git,docker/backend/commit_test.ts"silently never ran at all", and that test still guards itself (commit_test.ts:17,25—ignore: !hasGit). The fallback added in #27 warns on stderr and setsCI_IMAGE=$IMAGE, so an unreachable Debian mirror puts that suite straight back to silently skipping, with CI green.The external-module tests do fail loudly today — they shell out to git unguarded — so something catches it. That is the accident of which suite happens to exist, not a property of the design.
Options:
hasGitskips into failures; ordeps.ymlreads files and needs none), and let the rest fail hard.2. Nothing removes superseded derived images
Every recipe or toolchain change leaves a full
opsdeck-deno-ci:*image behind on a long-lived runner. Prune the other tags with that prefix after a successful build (tolerating a failure — another job may be running one).3.
RECIPE_KEYis not stable across runners —deno.sh:64-65A runner without
sha256sumproduces a different tag for the same recipe, so a mixed fleet builds the same image twice and caches neither for the other.cksumis also a CRC32 where the surrounding comment reasons about a hash. Pick one digest and fail loudly if it is missing.