ci: run just check on pull requests - #412
CrazyPandaP wants to merge 5 commits into
Conversation
JPyke3
left a comment
There was a problem hiding this comment.
Love the implementation, happy to add it. I'm just always cautious about over commenting code.
If we could have a quick fix up there I'd appreciate it
9b9af6d to
dc7ef74
Compare
|
Applied — the comment is two lines now: I put the change on the tests branch so both PRs carry the trimmed version, then rebased this one on top. |
The vendored InputPlumber profiles were dropped for the upstream ones in de2d5fb ("feat(input): drop upstreamed controllers"), and the ARMADA_PROFILE_NAMES set went with them. The test kept looking for that assignment, so it has failed on every run since. What the controller UI offers now comes from the per-device quirks: defaults.conf sets ARMADA_IP_TARGETS, a device may override it, device-env publishes the value, and controller-type filters it against CONTROLLER_TYPES. Check that contract instead, and keep the profile-name and passthrough checks unchanged.
be8b568 ("feat(gamescope): DRM leasing preemption") added the flag to armada-run-bottom without updating the expected argument list, so the test has failed since that commit.
05ccd27 ("fix(armada-control): restore default scheduler behavior") changed game-tweaks.json's scheduler from "eevdf" to null, which means "leave the system default alone". Two checks still expected the old value.
7490047 ("feat(store): Add BigPEmu, MAME, PrimeHack and Ymir") added the BigPEmu find rule but not this assertion, which pins exactly that set. Same drift as the other three tests here — nothing runs them automatically.
The 30 scripts under tests/ are only run by hand today: no workflow references tests/, just check or just lint, so a change that breaks a test looks green until someone runs the suite locally. Three scripts were in exactly that state when this was written (see armada-os#410). The suite needs bash, python3 and coreutils only — no device, no network and no container — and finishes in under ten seconds, so it runs on every pull request and on pushes to main. just comes from setup-just rather than apt because the Justfile's [group(...)] attributes need just >= 1.22 while Ubuntu 24.04's archive still ships 1.21. just lint is deliberately not wired up here: its recipe runs shellcheck through find -exec, which does not propagate the exit status, so the recipe cannot fail as written. That is worth its own change.
dc7ef74 to
2adc907
Compare
|
Applied, and the check running once turned out to be useful — it surfaced two things, both now fixed:
Both branches are rebased onto current |
Stacked on #410 — that PR's three test commits are included here, so this diff will shrink to the workflow file once it lands. I'll rebase it onto
mainas soon as #410 merges.The 30 scripts under
tests/are only run by hand today: nothing in.github/workflows/referencestests/,just checkorjust lint. A change that breaks a test looks green until someone happens to run the suite locally — which is how the three drifts in #410 got in.This adds a job that runs
just check(the 30 scripts plus the Justfile formatting check) on every pull request and on pushes tomain.Facts that shaped it:
nodeandpodmanappear in the scripts only inside strings and stubs.justcomes fromextractions/setup-justrather thanapt-get, because the Justfile's[group(...)]attributes need just >= 1.22 while Ubuntu 24.04's archive still ships 1.21 —apt-get install justfails withUnknown attribute 'group'.just lintis deliberately not wired up here. Its recipe isfind . -iname "*.sh" -exec shellcheck "{}" \;, andfinddoes not propagate the exit status of-exec, so the recipe returns 0 no matter what shellcheck reports (it currently reports ~210 findings). Fixing that needs a decision on severity scope or a cleanup pass, so it belongs in its own change.ubuntu-latest(x86_64) because that is where I verified the suite; the tests are arch-agnostic, so switching toubuntu-24.04-armfor consistency with the other workflows is fine if you prefer.Happy to adjust anything here — and if the tests are deliberately kept out of CI for a reason I have missed, I would rather know than guess.