Skip to content

test: cmx native deps under release profile#14583

Open
robinbb wants to merge 1 commit into
mainfrom
robinbb-test-cmx-native-tight-deps
Open

test: cmx native deps under release profile#14583
robinbb wants to merge 1 commit into
mainfrom
robinbb-test-cmx-native-tight-deps

Conversation

@robinbb
Copy link
Copy Markdown
Collaborator

@robinbb robinbb commented May 18, 2026

Regression guard asserting that a consumer of a tight-eligible local library builds correctly when forced through the native .cmx path via --profile release.

The default dev profile sets opaque = true, which makes want_cmx = false for local libs and the cmx branch is skipped entirely. Switching to release flips opaque off, so the consumer's native compile takes the per-module path with cm_kind = Ocaml Cmx and the function records cmx-file deps.

@robinbb robinbb force-pushed the robinbb-test-cmx-native-tight-deps branch 2 times, most recently from 2da7f8c to 25dbbc0 Compare May 18, 2026 18:02
@robinbb robinbb force-pushed the robinbb-test-cmx-native-tight-deps branch from 25dbbc0 to 2b03c21 Compare May 18, 2026 22:14
@robinbb robinbb self-assigned this May 18, 2026
@robinbb robinbb requested a review from Copilot May 18, 2026 22:15
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a blackbox regression test for native .cmx dependency handling when building a local unwrapped library consumer under the release profile.

Changes:

  • Adds a new cram test creating dep_lib and consumer.
  • Builds consumer.cmxa with --profile release to exercise native compilation.

Regression guard asserting that a consumer of a tight-eligible local library builds correctly when forced through the native `.cmx` path via `--profile release`.

The default `dev` profile sets `opaque = true`, which makes `want_cmx = false` for local libs and the cmx branch is skipped entirely. Switching to `release` flips `opaque` off, so the consumer's native compile takes the per-module path with `cm_kind = Ocaml Cmx` and the function records cmx-file deps.

Signed-off-by: Robin Bate Boerop <me@robinbb.com>
@robinbb robinbb force-pushed the robinbb-test-cmx-native-tight-deps branch from 2b03c21 to 805a104 Compare May 18, 2026 22:54
@robinbb robinbb requested a review from Copilot May 18, 2026 22:55
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

@robinbb robinbb requested a review from Alizter May 18, 2026 23:00
@robinbb robinbb marked this pull request as ready for review May 18, 2026 23:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants