Repository navigation
Build the dev container in CI only when its inputs change - #9298
Conversation
The test-devcontainer job built the container from scratch on every pull request, about 10 minutes. It now lists the pull request's files first and builds only when the container definition, the opam or yarn dependencies its setup installs, the Makefile or ci.yml change; pushes, and pull requests whose files can't be listed, still build it. The job always runs, so ci-ok still sees it succeed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Kbf3gKyiYMf54wPRxFdUWe Signed-off-by: Christoph Knittel <ck@cca.io>
Changelog🏠 Internal
Semantic Diff1 commit · Full page Build the dev container in CI only when its inputs changea0ce9cd · cknitt + Claude · Nov 14, 2026, 08:13 UTC The test-devcontainer job built the container from scratch on every pull request, about 10 minutes. It now lists the pull request's files first and builds only when the container definition, the opam or yarn dependencies its setup installs, the Makefile or ci.yml change; pushes, and pull requests whose files can't be listed, still build it. The job always runs, so ci-ok still sees it succeed. |
✅ Compiler benchmarksAllocated wordsIn total: 640,946,715 → 640,946,907 (±0.00%). Generated projects: 920,886,741 → 920,886,066 (±0.00%). None of the 265 benchmarks changed by 0.1% or more. InstructionsIn total: 9,209,713,560 → 9,209,713,560 (±0.00%). None of the 33 benchmarks changed by 0.1% or more. Output sizeIn total: 25,843,406 → 25,843,406 (±0.00%). None of the 13 benchmarks changed by 0.1% or more. Pull request a0ce9cd compared with base ed08a8c in this run. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #9298 +/- ##
==========================================
- Coverage 82.06% 82.06% -0.01%
==========================================
Files 455 455
Lines 65399 65399
==========================================
- Hits 53672 53670 -2
- Misses 11727 11729 +2 🚀 New features to boost your workflow:
|
|
@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. Breezy! 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". |
rescript
@rescript/belt
@rescript/darwin-arm64
@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-9298 |
test-devcontainerbuilt the dev container from scratch on every pull request: about 10 minutes on an ARM runner, for a job that only fails when the dev setup itself breaks.Now the job first lists the pull request's files (
gh pr diff --name-only), and builds the container only if one of its inputs changed:.devcontainer/(Dockerfile, devcontainer.json, postCreate.sh)postCreate.shinstalls:*.opam,*.opam.template,dune-projectpackage.json,yarn.lock,.yarnrc.yml,.yarn/Makefile, whosemakeis the job's commandci.ymlitselfPushes to master and
maintenance/*always build it. If the file list can't be fetched (e.g. a diff too large for the API), the job builds as before.The job always runs and only skips its two expensive steps, so
ci-okstill sees it succeed and needs no change. This PR touchesci.yml, so its own run still builds the container.🤖 Generated with Claude Code
https://claude.ai/code/session_01Kbf3gKyiYMf54wPRxFdUWe