Repository navigation
Conversation
Changelog🏠 Internal
Semantic Diff3 commits · Full page Check for dead code in CI6d640de · cknitt + Claude · Nov 06, 2026, 20:53 UTC The build-compiler job that builds the playground now runs make dead-code after the playground build, so new dead code fails CI. It installs reanalyze 2.27.0, the first release that analyzes the native and the browser build trees together, from its tag until the opam-repository package is merged. Build reanalyze from its tag instead of installing it with opam102f322 · cknitt + Claude · Nov 06, 2026, 21:27 UTC In CI, opam install reanalyze recompiled the whole restored switch (62 packages, about 4 minutes): opam misses the musl system package of the static switch and treats that as a system change. The step now clones the v2.27.0 tag and builds reanalyze with dune in the existing switch (seconds), and passes it to make dead-code with REANALYZE. This also works unchanged once the opam package is published. ✨ Run opam exec from the repository when building reanalyze2f2adec · cknitt + Claude · Nov 06, 2026, 21:40 UTC · new CI's opam switch is local to the repository, and opam exec finds it from the current directory: run from inside the reanalyze clone it failed with "No switch is currently set". opam exec now runs from the repository and changes into the clone itself. |
The build-compiler job that builds the playground now runs make dead-code after the playground build, so new dead code fails CI. It installs reanalyze 2.27.0, the first release that analyzes the native and the browser build trees together, from its tag until the opam-repository package is merged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Kbf3gLDo8mBJKpNE25WAwT Signed-off-by: Christoph Knittel <ck@cca.io>
rescript
@rescript/belt
@rescript/darwin-arm64
@rescript/linux-arm64
@rescript/linux-x64
@rescript/runtime
@rescript/win32-x64
commit: |
In CI, opam install reanalyze recompiled the whole restored switch (62 packages, about 4 minutes): opam misses the musl system package of the static switch and treats that as a system change. The step now clones the v2.27.0 tag and builds reanalyze with dune in the existing switch (seconds), and passes it to make dead-code with REANALYZE. This also works unchanged once the opam package is published. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Kbf3gLDo8mBJKpNE25WAwT Signed-off-by: Christoph Knittel <ck@cca.io>
CI's opam switch is local to the repository, and opam exec finds it from the current directory: run from inside the reanalyze clone it failed with "No switch is currently set". opam exec now runs from the repository and changes into the clone itself. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Kbf3gLDo8mBJKpNE25WAwT Signed-off-by: Christoph Knittel <ck@cca.io>
|
@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. |
|
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". |
Stacked on #9208. Runs
make dead-codein CI, so new dead code in the OCaml sources fails the build.The check runs in the
build-compilerjob entry that builds the playground (ubuntu-26.04-arm,build_playground: true), right after the playground build. That entry has the browser-profile dependencies the check needs: it analyzes the native and the browser build trees together, so code used only by the playground counts as live.It needs reanalyze 2.27.0, the first release that can analyze both trees together. The step clones the
v2.27.0tag, builds reanalyze with dune in the job's existing switch (seconds), and passes it tomake dead-codethroughREANALYZE:Why not
opam install reanalyze? The first version of this PR tried that. opam recompiled the whole restored switch (62 packages, about 4 minutes), because it misses the musl system package of the static switch and treats that as a system change. Building from the tag avoids touching the switch. (opam execruns from the repository because the CI switch is local to it.) It also doesn't wait for the opam package (ocaml/opam-repository#31123), and works the same once that's published.On this stack,
make dead-codereports 0 issues with reanalyze 2.27.0, locally and in CI.🤖 Generated with Claude Code
https://claude.ai/code/session_01Kbf3gLDo8mBJKpNE25WAwT