ci: update CircleCI config to use just instead of make#19482
ci: update CircleCI config to use just instead of make#19482
Conversation
a963f4d to
5c7a2c5
Compare
Wiz Scan Summary
To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension. |
5e8004e to
7d3bec3
Compare
5c7a2c5 to
e0ed02c
Compare
7d3bec3 to
5f77f8f
Compare
1261c27 to
c3b9c61
Compare
0f7fa35 to
1739da5
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #19482 +/- ##
===========================================
+ Coverage 75.3% 75.7% +0.4%
===========================================
Files 194 671 +477
Lines 11285 71270 +59985
===========================================
+ Hits 8502 54012 +45510
- Misses 2639 17114 +14475
Partials 144 144
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
c3b9c61 to
e4c158a
Compare
12e44a5 to
7fa2ea1
Compare
e4c158a to
a5226fc
Compare
7fa2ea1 to
ecf46fb
Compare
a5226fc to
7edf4ca
Compare
ecf46fb to
f42c9d3
Compare
7edf4ca to
84a660a
Compare
sebastianst
left a comment
There was a problem hiding this comment.
Review: CircleCI config make → just migration
Clean, mechanical migration. Each change is a straightforward make → just substitution. A few notes:
1. make -j reproducible-prestate → just reproducible-prestate — lost parallelism
The original make -j reproducible-prestate would run reproducible-prestate-op-program and reproducible-prestate-kona in parallel (Make's -j flag). Just runs dependencies sequentially, so these two Docker-based prestate builds now run one after the other. This could noticeably increase CI wall time for the cannon-prestate job since each involves Docker builds.
2. make sanitize-program GUEST_PROGRAM=... → GUEST_PROGRAM=... just sanitize-program
Verified this works — the cannon justfile's sanitize-program uses $GUEST_PROGRAM as a shell env var in a shebang script (not a just parameter), so the env var prefix correctly passes it through.
3. cd cannon && make → cd cannon && just cannon
The original ran Make's default target (implicitly cannon). The new version explicitly names the target. Correct.
Everything else looks good
make -C <dir> <target>correctly converted to eitherjust <target>withworking_directory: <dir>, orjust <target>at root (for targets that delegate internally)make <<parameters.rule>>→just <<parameters.rule>>for the parameterized go-tests jobmake fuzzintentionally left as-is (per PR description, those packages aren't migrated yet)- Job name "Run Go tests via Makefile" → "Run Go tests" — nice cleanup
Review generated by Claude Code
f42c9d3 to
79184e5
Compare
84a660a to
c0b0e5e
Compare
79184e5 to
43e1e93
Compare
8f998b1 to
f2f76e2
Compare
996889c to
a74e5f5
Compare
46b6245 to
3f01ec5
Compare
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…d shim The deprecated.mk shim was changed to pass JUSTFLAGS as just CLI variable overrides (`just VAR=val target`), but just rejects overrides for variables not declared in the justfile. This broke CI jobs where Make variable assignments propagate through sub-makes (e.g. GO_TEST_FLAGS, GUEST_PROGRAM). Revert to passing them as environment variables via `env`, which is how the shim originally worked in the cannon migration PR. Fixes: go-tests-short, sanitize-op-program CI failures Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Migrate root build targets from Make to Just. The Makefile now delegates to just with a deprecation warning, preserving backwards compatibility for existing make invocations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
All subdirectories now have justfiles with deprecated Make shims, so convert remaining make -C calls to cd && just. Also restores the explanatory comment on mod-tidy's GOPRIVATE usage. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
just doesn't parallelize dependencies like make -j does. Use background processes with wait to run op-program and kona prestate builds concurrently. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The cd into cannon/ was changing the CWD for the rest of the script, causing gotestsum to run from cannon/ instead of the repo root. The original Makefile used $(MAKE) -C which spawns a subprocess. Use a subshell to match that behavior. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The bare `cd op-program` on line 180 changed cwd persistently, so the following `cd rust` tried to resolve `op-program/rust/` which doesn't exist. Wrap both in subshells to preserve the original working directory. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
b8b50f9 to
f9af61b
Compare
3f01ec5 to
7f50e24
Compare
These directories were removed in #19506 but the justfile still referenced them, causing go-tests-short-ci to fail with "lstat ./devnet-sdk/: no such file or directory". Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Migrates all CircleCI make invocations to just for targets that have been migrated to justfiles. Remaining make calls are for packages not yet migrated (op-challenger, op-node, op-service, op-chain-ops fuzz targets) and cannon/testdata which has its own Makefile. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
7f50e24 to
dc80630
Compare
Summary
makeinvocations tojustfor targets that have been migrated to justfiles in the stack belowmake -C <dir> <target>patterns toworking_directory+just <target>make <target> VAR=valpatterns toVAR=val just <target>Remaining
makecalls (intentionally unchanged)make fuzzin parameterized fuzz job — runs for op-challenger, op-node, op-service, op-chain-ops which are not yet migratedStack
Test plan
justdirectly🤖 Generated with Claude Code