Skip to content

Extend support to include win-arm64 - #1323

Open
lrandersson wants to merge 6 commits into
conda:mainfrom
lrandersson:dev-ra-1204
Open

Extend support to include win-arm64#1323
lrandersson wants to merge 6 commits into
conda:mainfrom
lrandersson:dev-ra-1204

Conversation

@lrandersson

@lrandersson lrandersson commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Description

This PR adds source-level support for win-arm64 (arch parsing, platform registration, etc.) such that constructor can build ARM64 installers when invoked with --platform win-arm64. Does not add win-arm64 to CI — that's tracked separately.

New error check - how it looks like running an .exe built on my amd64 pc while running it on arm64 via parallels:
image

Checklist - did you ...

  • Add a file to the news directory (using the template) for the next release's release notes?
  • Add / update necessary tests?
  • Add / update outdated documentation?

@lrandersson lrandersson self-assigned this Aug 11, 2026
@github-project-automation github-project-automation Bot moved this to 🆕 New in 🔎 Review Aug 11, 2026
@conda-bot conda-bot added the cla-signed [bot] added once the contributor has signed the CLA label Aug 11, 2026
@lrandersson
lrandersson marked this pull request as ready for review August 11, 2026 18:37
@lrandersson
lrandersson requested a review from a team as a code owner August 11, 2026 18:37
@lrandersson
lrandersson marked this pull request as draft August 11, 2026 18:37
Comment thread constructor/nsis/main.nsi.tmpl Outdated
@lrandersson
lrandersson marked this pull request as ready for review August 13, 2026 15:05
Comment thread constructor/nsis/main.nsi.tmpl

@marcoesters marcoesters left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Nice! Just a few details to check.

Comment thread tests/test_construct.py Outdated
Comment on lines +41 to +42
def test_supported_platforms_includes_win_arm64():
assert "win-arm64" in SUPPORTED_PLATFORMS

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Aren't you covering that in test_ns_platform? If not, I think this should be a more general test.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Good catch, removed 5fce452

Comment thread constructor/imaging.py Outdated


def new_background(size, color, bs=20, boxes=50):
from PIL import Image, ImageDraw

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Is there a way we can do this test on a module level?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yeah so there are many ways and honestly I dont think any solution looks pretty, but I think the changes I made here 5fce452 now looks "the least cluttered".

${EndIf}
{%- elif win_arm64 %}
# Make sure we're actually on native ARM64 Windows.
${IfNot} ${IsNativeARM64}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Can we have a similar check for the MSI installers?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I did some investigation and couldnt find anything that exists today unfortunately. @freakboy3742 do you know if there is anything to check if an .msi installer is running on the wrong architecture? If not, let me know I'm happy to create a ticket.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed [bot] added once the contributor has signed the CLA

Projects

Status: 🆕 New

Development

Successfully merging this pull request may close these issues.

3 participants