UMBRA-15: Fix never-passing Check workflow (drop rustup + rust-cache steps) #23

Merged
David merged 3 commits from fix/check-workflow-runner-steps-UMBRA-15 into main 2026-06-07 05:01:35 +02:00
Owner

UMBRA-15: Check workflow fails in 4s on every run; align check.yml with working repos

The Check workflow has never passed once since it was added: all 60+ runs fail in 4-8 seconds, on main and every PR, including commits that pass just check locally. The build-binary workflows succeed on the same RUNS_ON_OPENSUSE_BASE_LATEST runner at the same timestamps, and the Check workflows in pandoras-box/monkey and pandoras-box/explorer-bookmarks pass on the same infra (green runs 2026-06-06/07).

Diagnosis

Diffing umbra's check.yml against monkey's passing one shows umbra alone adds two steps: an Install Rust toolchain step (rustup component add clippy rustfmt) and a Cache Rust build step using the github.com-hosted Swatinem/rust-cache@v2 action. uses: actions are resolved at job setup, so an unfetchable github.com action kills the job within seconds, which matches the observed 4s duration. Forgejo 14.0.2 exposes no job-log API (filed as FJ-34), so the diagnosis rests on the never-passed history plus the cross-repo diff rather than step logs.

Change

Remove both steps, bringing check.yml to the exact structure of the passing repos. The cargo invocations (fmt --all --check, clippy --workspace --all-targets --no-deps with --deny warnings, build --workspace --all-targets, test --workspace) are unchanged. Checkout stays on code.forgejo.org/actions/checkout@v5.

Note: governance CI.md lists both removed steps as "required ingredients" for Check workflows, but no repo with a green Check actually uses them; the doc/reality drift is recorded in UMBRA-15 and out of scope here.

Verification

  • This PR's own pull_request run is the test: it exercises the fixed workflow end to end.
  • Once merged, PR #17 (and the other open PRs) pick the fixed workflow up through their merge refs on rerun.
## UMBRA-15: Check workflow fails in 4s on every run; align check.yml with working repos The Check workflow has never passed once since it was added: all 60+ runs fail in 4-8 seconds, on main and every PR, including commits that pass `just check` locally. The build-binary workflows succeed on the same `RUNS_ON_OPENSUSE_BASE_LATEST` runner at the same timestamps, and the Check workflows in `pandoras-box/monkey` and `pandoras-box/explorer-bookmarks` pass on the same infra (green runs 2026-06-06/07). ### Diagnosis Diffing umbra's `check.yml` against monkey's passing one shows umbra alone adds two steps: an `Install Rust toolchain` step (`rustup component add clippy rustfmt`) and a `Cache Rust build` step using the github.com-hosted `Swatinem/rust-cache@v2` action. `uses:` actions are resolved at job setup, so an unfetchable github.com action kills the job within seconds, which matches the observed 4s duration. Forgejo 14.0.2 exposes no job-log API (filed as FJ-34), so the diagnosis rests on the never-passed history plus the cross-repo diff rather than step logs. ### Change Remove both steps, bringing `check.yml` to the exact structure of the passing repos. The cargo invocations (fmt --all --check, clippy --workspace --all-targets --no-deps with --deny warnings, build --workspace --all-targets, test --workspace) are unchanged. Checkout stays on `code.forgejo.org/actions/checkout@v5`. Note: governance CI.md lists both removed steps as "required ingredients" for Check workflows, but no repo with a green Check actually uses them; the doc/reality drift is recorded in UMBRA-15 and out of scope here. ### Verification - This PR's own pull_request run is the test: it exercises the fixed workflow end to end. - Once merged, PR #17 (and the other open PRs) pick the fixed workflow up through their merge refs on rerun.
fix(ci): drop rustup and rust-cache steps so Check matches working repos
Some checks failed
Check / fmt + clippy + build + tests (pull_request) Failing after 10s
4a77b9cc97
The Check workflow has never passed: every run dies in roughly 4 seconds, on main and every PR, while the build-binary workflows succeed on the same runner and the Check workflows in monkey and explorer-bookmarks pass on the same infra. Diffing against those passing workflows shows umbra alone adds an `rustup component add` step and the github.com-hosted Swatinem/rust-cache action; action resolution happens at job setup, so an unfetchable action kills the job in seconds, matching the observed duration. Removing both brings check.yml to the proven-working pattern; the cargo invocations themselves are unchanged.

#UMBRA-15
fix(ci): run check job inside rust-builder-glibc image
Some checks failed
Check / fmt + clippy + build + tests (pull_request) Failing after 8s
ad72f3e783
The step logs show the real failure: cargo fmt passes, then hidapi's build script panics with "Unable to find libudev" because the runner host has a Rust toolchain but none of the system libs this workspace links (libudev for hidapi, X11/Wayland/OpenGL/fontconfig for eframe). Pure-Rust repos pass host-side checks on the same runner; umbra never can. Running the job in the same rust-builder-glibc image the binaries and `just pre-commit` use gives the check the full dep stack, and a CARGO_BUILD_JOBS step caps parallelism at nproc/2 per governance CI.md. The deviation from CI.md's host-side check pattern is recorded in CLAUDE.md.

#UMBRA-15
fix(umbra-hid): separate is_charging note from txn list in basilisk docs
All checks were successful
Check / fmt + clippy + build + tests (pull_request) Successful in 55s
Create release / Create release from merged PR (pull_request) Has been skipped
38dfa1e417
Three basilisk model doc comments placed the standalone `is_charging` paragraph directly after a bulleted txn list with no blank `//!` separator, which clippy's doc_lazy_continuation lint rejects under --deny warnings and which blocked CI on PR #17. The sentence is a paragraph-level note about the battery model, not a continuation of the idle bullet, so a blank doc line is the correct fix over indenting or allow-ing the lint.

#UMBRA-14
David merged commit 2fdd80971e into main 2026-06-07 05:01:35 +02:00
David deleted branch fix/check-workflow-runner-steps-UMBRA-15 2026-06-07 05:01:35 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pandoras-box/umbra!23
No description provided.