chore(ci): isolate mise state in performance jobs - #815
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited), Organization UI (inherited) Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 8 included reviews per hour; 3 remain after this review. 📝 WalkthroughWalkthroughThe performance workflows now create temporary writable mise directories under the runner temporary directory. They export the data, cache, and state paths through ChangesPerformance workflow isolation
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: ⚪ Minimal · up to Performance workflows now use per-job writable mise state rather than shared runner state, preventing the prior unwritable-directory failure without changing benchmark commands or toolchain configuration. Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Greptile SummaryThe PR isolates mise data, cache, and state for both performance workflows in fresh per-job directories beneath
Confidence Score: 5/5The PR appears safe to merge; no actionable correctness, security, or repository-rule issues were identified. The fresh mise root is created atomically, its directory variables persist to subsequent steps through GITHUB_ENV, and mise-action creates the required child directories and installs its binary under the overridden data directory. Important Files Changed
Reviews (1): Last reviewed commit: "chore(ci): isolate mise state in perform..." | Re-trigger Greptile |
The delayed performance check on #814 fails before building fnox because mise-action cannot write
/github/home/.local/share/mise/bin/mise. Removing the old executable leaves its parent directory unwritable. Failing run.Give both performance workflows fresh mise data, cache, and state directories beneath
RUNNER_TEMP, shared with subsequent steps throughGITHUB_ENV. The pinned runner image, Rust toolchain, and benchmark commands stay the same.Validation: Actionlint and ShellCheck pass for both workflows; the extracted setup step successfully creates and exports three writable directories. The self-hosted performance run needs to validate the full setup after merge because its trusted workflow comes from the default branch.
AI-assisted — Tool: Codex; model: OpenAI/GPT-6; version: unavailable.
Note
Low Risk
CI-only workflow setup change; no application code, auth, or data paths affected.
Overview
Fixes self-hosted performance jobs failing when mise-action cannot write under the shared runner home (e.g. after removing a stale
misebinary left directories owned by another user).In
perf.ymlandperf-pr.yml, thesudo rmmise cleanup step is replaced with Prepare writable mise directories: a temp tree underRUNNER_TEMPandMISE_DATA_DIR,MISE_CACHE_DIR, andMISE_STATE_DIRappended toGITHUB_ENVso later steps (including jdx/mise-action) use isolated, writable state. Benchmark pinning, Rust toolchain, and measurement commands are unchanged.Reviewed by Cursor Bugbot for commit b5a2c6a. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by CodeRabbit