Skip to content

[3.24.1] release#15539

Draft
shonfeder wants to merge 31 commits into
mainfrom
3.24.1-rc
Draft

[3.24.1] release#15539
shonfeder wants to merge 31 commits into
mainfrom
3.24.1-rc

Conversation

@shonfeder

Copy link
Copy Markdown
Member

Release branch for #15439

shonfeder and others added 5 commits July 9, 2026 17:34
(cherry picked from commit d015282)
Signed-off-by: Shon Feder <shon.feder@gmail.com>
…tions (#15385)

Signed-off-by: Antonio Nuno Monteiro <anmonteiro@gmail.com>
Signed-off-by: Antonio Nuno Monteiro <anmonteiro@gmail.com>
Signed-off-by: Antonio Nuno Monteiro <anmonteiro@gmail.com>
Alizter and others added 2 commits July 19, 2026 13:12
6.4.0 broke our CI:

- wasm tests fail outright on wasm_of_ocaml-compiler 6.4.0
- jsoo cram tests fail on js_of_ocaml(-compiler) 6.4.0 because the
  artifact path moved from .js/default/... to .js/effects=disabled/...

Pin both in the dune.opam.template (with-dev-setup deps) so
`make dev-deps` solves to <6.4, and pin the wasm CI job explicitly to
.6.3.2 since it doesn't go through the dune dev-setup solve.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
@shonfeder
shonfeder marked this pull request as draft July 19, 2026 22:45
anmonteiro and others added 14 commits July 19, 2026 17:00
Signed-off-by: Antonio Nuno Monteiro <anmonteiro@gmail.com>
Signed-off-by: Antonio Nuno Monteiro <anmonteiro@gmail.com>
Extract the repeated fake ocaml-base-compiler build/install commands in the
relocatable compiler test into a local helper.

Signed-off-by: Rudi Grinberg <me@rgrinberg.com>
Fixes #15443

Signed-off-by: Ali Caglayan <alizter@gmail.com>
Co-authored-by: Ambre Austen Suhamy <ambre.suhamy@pm.me>
Signed-off-by: Ali Caglayan <alizter@gmail.com>
Signed-off-by: Ali Caglayan <alizter@gmail.com>
Signed-off-by: Ali Caglayan <alizter@gmail.com>
## Description

Add a native Windows cram test covering the artifact names materialized
in `%{bin:...}` PATH layouts.

The test records the current behavior: a native executable is placed in
the layout as extensionless `launcher`, so Windows command lookup fails,
while a declared `tool.cmd` entry retains its filename. This PR
intentionally captures the existing failure as expected output so the
test-only change remains independently passing. The production fix will
follow in a separate PR and update these expectations.

Validated with the `mingw-5.4` opam switch on native Windows 11.

## Related Issue and Motivation

Regression coverage for #15512.

This isolates the Windows regression coverage from its fix so both
changes can pass CI independently and be reviewed in order.

## Checklist

- [x] Tests added, if applicable.
- [x] Change log entry not required for this test-only change.
- [x] Documentation not required for this test-only change.
- [x] windows tests pass

(cherry picked from commit a4d600b)
Signed-off-by: Ali Caglayan <alizter@gmail.com>
Artifact lookup intentionally removes the .exe suffix from local binary keys
on Windows. Bin layouts reused those lookup keys as physical filenames, so an
action with %{bin:launcher} in its dependencies received a PATH directory
containing launcher rather than launcher.exe.

Keep the installed filename of the selected local package binary together with
the lookup name when constructing the layout. Key the layout by both names and
use the recorded lookup name when resolving the original artifact. This creates
launcher.exe for native executables while preserving declared names such as
tool.cmd.

Add a native Windows regression test covering both kinds of bin entry.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
melange 7.0.0-54 was released and breaks the melange cram tests on
main: the compiler now emits extra Hint: lines on warnings (e.g.
'illegal-backslash') that the expected outputs don't include.

Cap the with-dev-setup melange dep in dune.opam.template at < "7.0"
so make dev-deps stays on the 6.x line until the cram tests are
updated.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
Signed-off-by: Ali Caglayan <alizter@gmail.com>
Backport #15517 and #15518 onto 3.24.1-rc.

This includes the Windows regression test followed by its fix.
Backport #15444 onto 3.24.1-rc.

Includes the prerequisite test-only refactor from #14888.
(cherry picked from commit 5dc2d68)

Signed-off-by: Ali Caglayan <alizter@gmail.com>
Alizter added 6 commits July 20, 2026 11:30
Replaces #15457 with a branch we can update.

Backports #14904 and its changelog from #15441. It retains the existing
js/wasm_of_ocaml 6.4 compatibility pin and adds two CI-only
compatibility fixes:

- cap the 3.24 dev dependency on Melange below 7.0, from #15322;
- pin the OxCaml opam job to `wasm_of_ocaml-compiler.6.0.1+ox1`,
matching the package set pinned by the release branch rather than
advancing its flake and test expectations.

These extra changes address CI dependency drift and are not release
regressions.

No local tests run; CI is the validation for these platform-specific
dependency constraints.
Backport #15273 onto `3.24.1-rc`.

This fixes the release-only Mirage workflow failure visible on #15539:
the pinned opam-repository snapshot does not contain OCaml 4.14.4.
… used

(cherry picked from commit e4ad0ad)

Signed-off-by: Ali Caglayan <alizter@gmail.com>
(cherry picked from commit a04d0f5)

Signed-off-by: Ali Caglayan <alizter@gmail.com>
Backport #15455 onto `3.24.1-rc`.

The backport is signed off explicitly for DCO, and moves the changelog
entry into `doc/changes/fixed/` for the point release.
Backport #15572 onto `3.24.1-rc`.

This keeps the release branch on `actions/checkout@v6` and applies only
the setup-ocaml local-pin compatibility fix.

Validation:
- Main-based workflow, passed:
https://github.com/Alizter/dune/actions/runs/29736052437
- Exact backport branch:
https://github.com/Alizter/dune/actions/runs/29737231165
Alizter added 4 commits July 20, 2026 17:13
Use the cppo revision that accepts Dune error paths prefixed with ./ without updating the release branch package-set pins.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
Use the fixed `cppo` source revision in the `3.24.1-rc`
reverse-dependency package scope.

The release branch’s existing package-set pins are left unchanged. Its
pinned `cppo.1.8.0` source expects diagnostic filenames without a `./`
prefix, while the release Dune reports paths such as `./file.cppo`. The
selected upstream `cppo` revision accepts those paths.

This is a release-specific CI fix, not a backport of #15574.

Validation:
- `nix build .#revdeps.x86_64-linux.cppo --override-input revdeps-dune .
--no-link` passes on the exact PR head (`ee1bf081`).
- No Dune test suite was run.
Disable mdx checks that expect paths without the ./ prefix and ensure its split outputs exist, matching the newer nix-overlays definition.

Signed-off-by: Ali Caglayan <alizter@gmail.com>
Use the `mdx` compatibility overrides from newer `nix-overlays` in the
release branch reverse-dependency scope.

`mdx.2.5.2` checks fail with the release Dune because generated paths
now include a `./` prefix. The newer overlay disables those
path-sensitive checks and ensures the package split outputs exist; this
applies the same narrow override without changing the release
package-set pins.

Validation:
- Reproduced with `nix build .#revdeps.x86_64-linux.mdx --override-input
revdeps-dune . --no-link -L` on `3.24.1-rc`.
- The same targeted build passes with this change.
- `nixfmt --check nix/revdeps.nix` passes.
- No Dune test suite was run.
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.

4 participants