Conversation
rescript
@rescript/darwin-arm64
@rescript/darwin-x64
@rescript/linux-arm64
@rescript/linux-x64
@rescript/runtime
@rescript/win32-x64
commit: |
|
Developer playground preview: https://rescript-lang.github.io/rescript/dev-playground/?version=pr-8506 |
|
@codex review |
|
Codex Review: Didn't find any major issues. Swish! 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". |
| # Caches created by pull_request runs are scoped to that PR's merge ref | ||
| # and cannot seed other PRs or branches. Only pushes create shared caches. | ||
| if: steps.cache.outputs.cache-hit != 'true' && github.event_name == 'push' |
There was a problem hiding this comment.
I guess the only annoying thing with gating on push is that it won't cache if you have an open PR that changes this and then add another commit.
There was a problem hiding this comment.
Right, but PRs changing this are rather rare, so in most cases PR-scoped caches would be created and stored unnecessarily.
JonoPrest
left a comment
There was a problem hiding this comment.
Great, I really like the refactor 🙌🏼
Summary
Extract repeated CI environment setup into local composite actions shared by the main CI, coverage, and release workflows.
What changed
yarn install --immutableci.ymlandcoverage.yml.Why
The CI and coverage workflows independently implemented nearly identical Node, Rust, Rewatch, OCaml, and OPAM cache setup. Keeping those copies synchronized was error-prone, particularly around:
Centralizing this setup gives those workflows one implementation while retaining their intentional differences, such as coverage’s additional development dependencies and native Rewatch build.
Behavior
This is intended as a structural refactoring. Existing build, test, coverage, artifact, and publishing behavior remains unchanged.