ci: make the unit workflow work on the forge runner #10
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/ci-unit"
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?
The
ci / unitworkflow has never passed: every run failed 3-4s in, before any test executed.Root causes (from the run logs)
actions/setup-python@v5cannot install on the runner's job image. The log:setup-python installs from GitHub's prebuilt-toolcache manifest, which has no asset for Debian 13 (the runner image is
node:24-trixie). The image already shipspython33.13.5; Debian only splits the venv module and pip into separate packages. The workflow now creates a venv and installs pytest into it.The suite requires an ordinary user, and the job container is root with umask 000.
install.shis a per-user installer that refuses root, and files created under umask 000 are group/other-writable, so the host-actions policy loader (correctly) refuses the test's own policy: 27 failures of the formerror: run as your userandis group/other-writable; refusing. The tests now run as a dedicated user with umask 022 and git'ssafe.directoryfor the root-owned checkout.One test hardcoded the users
troed/rootwhen checking that sshd's%utoken expands. It now derives the invoking user, so the suite passes for any username.Verification
On the forge runner: 1146 passed, 44 deselected - identical to the local run. Earlier green run of the same workflow content: run 15.
The diagnostic branch that produced this (
ci/probe, PR #9) is throwaway and will be deleted.