workflows: install-deps step assumes sudo; fails on root-only images without sudo #10
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit#10
Loading…
Add table
Add a link
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?
Symptom
The reusable workflows (
_release-prep.yml/_release-draft.yml/_release-publish.yml/_manifest-check.yml) have an "install deps (yq + jq + curl)" step that runs:On images that run as root but lack sudo (a common shape — minimal Debian-derived CI images),
sudo apt-get installfails withsudo: command not foundand the entire workflow tanks.Empirical reproduction (caught 2026-06-24 during release-toolkit PR #6 CI)
The
forgejo-ci-go:latestimage (the runner image forruns_on: go) runs as root with NO sudo:When a workflow specifies
runs_on: goand a tool is missing (yq, in our case), the install-deps step hitssudo: command not foundand CI fails opaquely.Patched the immediate breakage by baking
yqintoforgejo-ci-go(alcatraz-infra commit 7715b14), but the underlying workflow logic remains brittle for any consumer running a minimal root-only image.Proposed fix (v0.2.1 patch)
Replace the install-deps step with sudo-aware logic:
This handles three shapes:
Substrate-care discipline observation
This is sibling to release-toolkit#9 (silent fragment-drop): both are fail-loud-when-environment-isn't-what-tool-assumes disciplines. The toolkit shouldn't assume sudo any more than it should assume
<id>.<kind>.mdparse cleanly. Today (2026-06-24) had n=4 worked instances offeedback_binary_presence_before_behavior+feedback_substrate_claim_verificationfamily across distinct surfaces — this PR-blocker is yet another instance.Disposition lean
(A) v0.2.1 patch with the sudo-aware logic above + (B) bundle with #9 (loud warning on unrecognized fragment basenames) — both are fail-loud upgrades to the same install / parse-state-care discipline. Same release; reasonable to ship together.
Cross-tracker
yqinto ci-go to unblock release-toolkit PR #6 CI immediately— QM, 2026-06-24, surfaced during PR #6 CI investigation.
forgejo-actions referenced this issue2026-06-24 18:48:03 +02:00
chore:vsfeat:for internal-infrastructure commits #14chore:vsfeat:for internal-infrastructure commits #14