Skip to content

[3.24.1] backport #15518 - #15565

Merged
Alizter merged 3 commits into
ocaml:3.24.1-rcfrom
Alizter:backport-15518
Jul 20, 2026
Merged

[3.24.1] backport #15518#15565
Alizter merged 3 commits into
ocaml:3.24.1-rcfrom
Alizter:backport-15518

Conversation

@Alizter

@Alizter Alizter commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator

Backport #15517 and #15518 onto 3.24.1-rc.

This includes the Windows regression test followed by its fix.

@Alizter Alizter mentioned this pull request Jul 20, 2026
56 tasks
Alizter added 3 commits July 20, 2026 10:55
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 ocaml#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>
@Alizter
Alizter merged commit f3fee7b into ocaml:3.24.1-rc Jul 20, 2026
21 of 22 checks passed
@Alizter
Alizter deleted the backport-15518 branch July 20, 2026 09:54
@Alizter Alizter added this to the 3.24.1 milestone Jul 21, 2026
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.

1 participant