ci: refactor CI to use mise for shared tool setup - #25727
#25727ci: refactor CI to use mise for shared tool setup#25727ThomasK33 merged 15 commits intomaincoder/coder:mainfrom codex/refactor-ci-to-use-misecoder/coder:codex/refactor-ci-to-use-miseCopy head branch name to clipboard
Conversation
Docs preview📖 View docs preview for |
880d238 to
00a7684
Compare
|
@codex review |
|
Chat: Spend limit reached | View chat Review historydeep-review v0.5.0 | Round 3 | Last posted: Round 3, 25 findings (13 P3, 4 P4, 7 Nit, 1 Note), APPROVE. Review Finding inventoryFindings
Contested and acknowledgedCRF-3 (Note, .github/workflows/weekly-docs.yaml:57) - Puppeteer cache steps unrelated to mise refactor
Round logRound 1Panel. Netero first pass: 1 P3, 1 P4, 1 Note. Panel: 7 P3, 4 Nit new. 1 Nit dropped. Reviewed against 0c27224..00a7684. Round 2Churn guard: PROCEED. 14 addressed, 1 contested. Netero: no new findings. Panel: 3 P3, 2 P4, 2 Nit new. CRF-3 closed by panel (12/12 accept). Reviewed against 0c27224..240b65c. Round 3Churn guard: PROCEED. 7 addressed. Netero: no new findings. Panel: 2 P3, 1 P4, 1 Nit new. Reviewed against 5991a2c..ca783e5. About deep-reviewCRF = Coder Review Finding (P0-P4, Nit, Note)
|
|
Codex Review: Didn't find any major issues. Breezy! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
There was a problem hiding this comment.
Well-structured CI consolidation. Replacing 7 bespoke actions with 3 composable ones, centralizing tool versions in mise.toml, and adding a lockstep check script is a meaningful reduction in maintenance surface. The supply chain posture improved: SHA256-pinned mise binary replaces curl-piped remote scripts, and cache writes are restricted to main (preventing fork-based cache poisoning). CI passing across 29 jobs is strong evidence the migration is correct.
Severity count: 7 P3, 1 P4, 4 Nit, 1 Note.
The check_mise_versions.sh script has 10 check_value calls, but 2 of them (lines 26 and 68) compare a variable to itself, reducing to non-empty guards dressed as cross-validation. The PR testing section says the script "runs successfully," which is tautological for these inputs. A negative test (temporarily desync one file) would have surfaced this.
Meruem proposes a clean class fix: split check_value into check_not_empty(label, value) for source-of-truth extractions and check_equal(label, actual, expected) for cross-references. That makes intent visible at every call site and prevents future callers from copying the self-comparison pattern.
The lint-actions runner was upgraded from ubuntu-22.04 to ubuntu-24.04 without mention in the PR description. It works (CI passed), but a silent runner upgrade in a tooling PR can surprise reviewers.
"Two guards that guard nothing. Shall we see what they protect?" - Hisoka
go.mod:659
P4 [CRF-2] actionlint/cmd/actionlint Go tool dependency is now orphaned.
The Makefile lint/actions/actionlint target changed from go tool github.com/rhysd/actionlint/cmd/actionlint to mise exec actionlint -- actionlint. No remaining go tool or go install references for actionlint in the codebase. The go.mod tool entry and its go.sum entries are dead weight. (Netero)
🤖
🤖 This review was automatically generated with Coder Agents.
|
Also addressed the non-inline CRF-2 item from the review body in 240b65c: the orphaned Go tool entries for actionlint were removed from |
|
/coder-agents-review |
240b65c to
d2c8809
Compare
There was a problem hiding this comment.
All 14 R1 findings addressed. Every fix verified at root cause: check_value split into check_not_empty/check_equal, TYPOS_VERSION eager eval removed entirely, awk parser extracted to shared mise_checksum.sh, Go tool retry wrapping restored, GH_TOKEN rationale comment added, lint-light and action descriptions corrected, orphaned go.mod entries removed. Clean, thorough follow-up.
CRF-3 (Puppeteer scope) closed by panel (12/12 accept). The author explained the steps fix a weekly-docs failure this PR was scoped to address.
R2 severity count: 3 P3, 2 P4, 2 Nit. Nothing blocking.
The lint/go target now runs bare golangci-lint and paralleltestctx via mise shims, but CONTRIBUTING.md's non-DevContainer setup path doesn't mention mise as a prerequisite. Worth updating before merge so contributors don't hit a cryptic "command not found" on make lint.
"What happens when you set a variable to nothing? Is it absent, or is it an empty answer?" - Hisoka, R1 (before the author removed the step entirely)
🤖 This review was automatically generated with Coder Agents.
|
/coder-agents-review |
ca783e5 to
f8343ae
Compare
|
/coder-agents-review |
There was a problem hiding this comment.
All 7 R2 findings addressed. The SRI hash cross-validation (CRF-20) was particularly well done: the author added an sri_sha256_to_hex function and loops over all four Nix targets comparing decoded hashes against checksums.toml. CONTRIBUTING.md now documents mise for manual setup. Puppeteer version guard added with exactly the suggested pattern.
R3 severity count: 2 P3, 1 P4, 1 Nit. Nothing blocking.
The lockstep script now validates 5 of 6 checksum platforms (linux-x64, linux-arm64, macos-x64, macos-arm64 via SRI cross-check; linux-x64 again via dogfood). The windows-x64 entry is the one gap. The CONTRIBUTING.md wording creates a confusing double-install path for new contributors.
🤖 This review was automatically generated with Coder Agents.
|
/coder-agents-review |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5e694d04ce
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
|
Codex Review: Didn't find any major issues. Breezy! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
f87f7fb to
df9fd40
Compare
|
Could we adjust the The new flow resolves Puppeteer dynamically via Suggested fix: pin the Puppeteer/browser installer version through repo-controlled config/lockfile, or hard-pin the exact version instead of resolving it at runtime. Ideally, keep the browser install/cache prep in a read-only context and reserve
|
Summary
mise.toml-driven setup path.actionlint,zizmor,syft,cosign,helm,nfpm,go-winres,sqlc, andshfmt.Testing