Repository navigation
ci: run language tools from the flake dev shell - #38
Conversation
Refs furedea/reusable-workflows#23 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Refs furedea/reusable-workflows#23 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
@codex review |
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
| pkgs = import nixpkgs { inherit system; }; | ||
| systems = [ | ||
| "aarch64-darwin" | ||
| "x86_64-linux" |
There was a problem hiding this comment.
P2: x86_64-linux now pulls its packages from the nixpkgs input, which is pinned to nixpkgs-26.05-darwin (see flake.lock). That branch only moves forward after the Darwin Hydra jobs pass, so cache.nixos.org may not have Linux binaries for that exact revision. When it doesn't, nix develop on ubuntu-latest has to build nodejs_24 and the other tools from source. That build won't fit in the 10-minute job timeout, and every job except lint uses save: false, so they can't reuse a cached result. Consider pinning a separate linux input to nixos-26.05 / nixpkgs-26.05, or check the first CI run's logs for local builds before merging.
There was a problem hiding this comment.
Checked on the first CI run (run 42621085410). The lint job spent 26s in "Install dependencies", which includes the nix develop evaluation, the substitution of nodejs_24/pnpm and pnpm install. The other jobs finished in 36-44s in total, all with save: false and no cache hit to rely on. Building nodejs_24 from source would take far longer than the 10-minute timeout, so cache.nixos.org already had the x86_64-linux binaries for the locked nixpkgs revision. I could not read the raw logs from my sandbox, so this rests on step timings. If a later nixpkgs bump lands before Linux binaries exist, the job would fail visibly on the timeout, and moving to a separate Linux input would then be the fix; I am not adding that input now (YAGNI).
Review summaryNo blocking findings (0 P0/P1).
Also checked:
This PR changes only CI configuration, so no tests are expected. 🤖 Generated with Claude Code |
|
Codex Review: Didn't find any major issues. More of your lovely PRs please. Reviewed commit: ℹ️ 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". |
概要
CI の言語ツール(Node,pnpm)を,flake の devShell から動かす形に変える.
setup-nodeとpnpm/action-setupをやめ,reusable-workflows の composite actionnix-setup(v1.3.0)で Nix を準備する.変更
flake.nix: devShell をaarch64-darwinに加えてx86_64-linuxでも出す(forAllSystems 形式).ツールの中身は変えない..github/workflows/ci.yml:lint,format,typecheck,test,auditを,checkout,nix-setup,defaults.run.shell: nix develop --command bash -eo pipefail {0}の形にする.job 名とall-greenのneedsは変えない.nodejs_24になる.@types/nodeが 24 のため,手元との一致を優先した.lintだけにし,他はsave: falseにした(同じ store 内容で,保存の競合を避ける).CI の時間
lintが保存するキャッシュは main への push 後に効くので,さらに縮む見込み.確認
nix flake check --all-systems --no-build --option allow-import-from-derivation falseが通る.nix develop内で lint,format:check,typecheck,test,knip が成功する.Refs furedea/reusable-workflows#23
🤖 Generated with Claude Code