Skip to content

Add support to generate locks and consume them from a different architecture#237

Merged
nicoddemus merged 5 commits intoESSS:masterfrom
648trindade:fb-236-support-aarch64-cross-devenv
Aug 27, 2025
Merged

Add support to generate locks and consume them from a different architecture#237
nicoddemus merged 5 commits intoESSS:masterfrom
648trindade:fb-236-support-aarch64-cross-devenv

Conversation

@648trindade
Copy link
Copy Markdown
Contributor

@648trindade 648trindade commented Aug 14, 2025

Ticket #236

Adds the ability for conda-devenv to generate aarch64 or arm64 locks.
It also allows to generate locks for different architectures than the one from the host machine, and selects the correct lock when consuming it.

Fixes #236, #233. Closes #234.

Comment thread src/conda_devenv/devenv.py
Copy link
Copy Markdown
Member

@nicoddemus nicoddemus left a comment

Choose a reason for hiding this comment

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

Thanks @648trindade for the PR!

Please take a look at my comments.

It also allows to generate locks for different architectures than the one from the host machine, and selects the correct lock when consuming it.

I don't see any changes in the PR regarding that, or am I missing something? Or no changes were needed, and you just wanted to emphasize this is possible?

Comment thread src/conda_devenv/devenv.py Outdated
Comment thread src/conda_devenv/devenv.py Outdated
Comment thread tests/test_jinja.py
@nicoddemus nicoddemus mentioned this pull request Aug 15, 2025
@648trindade
Copy link
Copy Markdown
Contributor Author

Thanks @648trindade for the PR!

Please take a look at my comments.

It also allows to generate locks for different architectures than the one from the host machine, and selects the correct lock when consuming it.

I don't see any changes in the PR regarding that, or am I missing something? Or no changes were needed, and you just wanted to emphasize this is possible?

The main change is in the rendering of the jinja dictionary on render_jinja method. conda-devenv was always querying processor-related information from platform.machine() instead of getting it from CondaPlatform enum that is passed. For instance, if you want to render a lock for a win-64 platform when running on a linux-aarch64 machine, it would select YAML entries with aarch64 instead of x86_64.

Copy link
Copy Markdown
Member

@nicoddemus nicoddemus left a comment

Choose a reason for hiding this comment

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

Thanks @648trindade!

I will leave this open for a couple of days to give others a chance to review. 👍

@nicoddemus nicoddemus merged commit 3b3b7d7 into ESSS:master Aug 27, 2025
8 checks passed
@648trindade 648trindade deleted the fb-236-support-aarch64-cross-devenv branch August 27, 2025 16:40
@nicoddemus
Copy link
Copy Markdown
Member

@648trindade @volpatto 3.5.0 released 🎉

conda-forge/conda-devenv-feedstock#43

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.

Missing support to generate/use different locks for multiple different architectures

3 participants