Repository navigation
fix(ci): run pinned actionlint without Docker - #887
Conversation
|
Warning Review limit reached
This review includes 8 billable files and costs up to $2.00.
Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing. Or wait 11 minutes for your next included review. View limit details
Comment |
|
Local verification for head
Two independent staged review passes are complete on the committed tree, with the lock acquisition bound corrected in the same changeset. A fresh independent review of the exact commit is running separately, and Linux Docker/native fixture parity remains pending in CI. The Go check verifies embedded module identity against the pinned version and module checksum. It doesn't claim a signature over executable bytes. |
|
Linux verification passed on The The subsequent normal repository pre-commit run also passed actionlint and zizmor. Independent committed-SHA review and the main CI run remain pending. |
|
Independent adversarial verification: no actionable findings in both passes on commit The reviewer inspected all eight changed files, upstream actionlint checker invocation sources, hook filtering and argv forwarding, pinned tool identity, missing-only provisioning, retained lock inode and bounded acquisition, checker failures, corrupt caches and symlinks. Independent macOS probes passed for actual exact-commit workflow sources, warm offline execution, negative shell/Python/YAML fixtures, missing prerequisites, wrong/corrupt binaries, symlinks and held-lock timeout. Scratch mutations proved that removing ShellCheck makes the negative-shell probe detect lost coverage and changing the expected module checksum rejects the cached tool. The reviewer independently inspected successful Linux parity CI, including its actual The earlier real macOS normal-hook and build/unit verification and Linux parity evidence cover this same SHA. Module build metadata checks declared source identity, rather than signing executable bytes. Main CI remains pending; this review does not replace that gate. |
|
All verification gates now cover unchanged head
Fresh PR inspection reports Ready for the merge owner's normal merge. Follow-up issues filed: none, confirmed against the exit checklist. |
|
Post-merge verification complete for The merged tree is exactly The clean owned worktree, recorded build output and merged local/remote branch refs were reclaimed after checking for borrowers and preserved work. The plan was archived and verification/provenance histories retained. Follow-up issues filed: none, confirmed against the exit checklist. |
Workflow commits stall when the local Docker transport is unavailable. Run actionlint 1.7.12 in pre-commit's Python 3.12 environment with ShellCheck 0.11.0 and pyflakes 3.4.0, matching the existing pinned CI image, and fail if a checker or cached module identity is missing or wrong.
The wrapper installs the pinned Go module once inside that environment and verifies its build metadata before execution. The same regression fixtures run against the native hook and pinned Docker image in Linux CI, while zizmor keeps its existing version, arguments and workflow filter.
Verified on macOS with Go 1.26.9 and Python 3.12.14:
.yamlhook selection.pre-commit run actionlint --all-files --verbosepassed all 15 tracked workflows.make buildandmake test-unitpassed, including race detection.Linux Docker parity and the normal CI gates run on this PR.