Skip to content

ENH: Add macOS ARM builds#8

Merged
kratsg merged 6 commits intoconda-forge:mainfrom
kratsg:enh/add-builds
Mar 11, 2026
Merged

ENH: Add macOS ARM builds#8
kratsg merged 6 commits intoconda-forge:mainfrom
kratsg:enh/add-builds

Conversation

@kratsg
Copy link
Contributor

@kratsg kratsg commented Dec 10, 2025

Trying to work on #1.

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

@kratsg
Copy link
Contributor Author

kratsg commented Dec 24, 2025

@kratsg kratsg requested a review from cburgard as a code owner March 10, 2026 23:22
@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/recipe.yaml) and found it was in an excellent condition.

@kratsg kratsg changed the title ENH: Add aarch64, ppc64le Linux, and macOS ARM builds ENH: Add aarch64 and macOS ARM builds Mar 10, 2026
@kratsg
Copy link
Contributor Author

kratsg commented Mar 10, 2026

@matthewfeickert im dropping ppc for now in this just to make some progress.

@kratsg kratsg added the automerge Merge the PR when CI passes label Mar 11, 2026
@matthewfeickert
Copy link
Member

@kratsg #1 is cleaner and doesn't introduce unused setups in conda-forge.yml. Can you remove the automerge tag?

@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly conda-forge automerge bot!

I considered the following status checks when analyzing this PR:

  • linter: passed
  • azure: failed

Thus the PR was not passing and not merged.

@kratsg
Copy link
Contributor Author

kratsg commented Mar 11, 2026

@kratsg #1 is cleaner and doesn't introduce unused setups in conda-forge.yml. Can you remove the automerge tag?

#1 needs root_cxx_standard for cross-compilation but this one includes it. I think they're about the same now, no?

@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly conda-forge automerge bot!

Commits were made to this PR after the automerge label was added. For security reasons, I have disabled automerge by removing the automerge label. Please add the automerge label again (or ask a maintainer to do so) if you'd like to enable automerge again!

@conda-forge-curator conda-forge-curator bot removed the automerge Merge the PR when CI passes label Mar 11, 2026
@matthewfeickert
Copy link
Member

I think they're about the same now, no?

Similar, but different keys for cross-compilation and emulation.

@kratsg
Copy link
Contributor Author

kratsg commented Mar 11, 2026

Similar, but different keys for cross-compilation and emulation.

why do we want to emulate aarch64? Seems linux-aarch64 breaks in either place.

@matthewfeickert
Copy link
Member

matthewfeickert commented Mar 11, 2026

why do we want to emulate aarch64?

From #general > ✔ Better understanding conda-forge cross-compile and emul... you need to do emulation if you want to run tests. The question is how are you going to do the build as well?

Full emulation as you currently have it with

conda_build:
  error_overlinking: true
conda_build_tool: rattler-build
conda_install_tool: pixi
conda_forge_output_validation: true
github:
  branch_name: main
  tooling_branch_name: main
provider:
  linux_aarch64: default
  osx_arm64: default
test: native_and_emulated

is super slow and not recommended (c.f. https://conda-forge.org/docs/how-to/advanced/cross-compilation/) as you are emulating everything (as there are no native linux-aarch64 runners available through the default provider of Azure, and so as such QEMU is pulled in to allow emulation for the Linux container).

The preferred method is to cross-compile from linux-64 to linux-aarch64

build_platform:
  linux_aarch64: linux_64

for the build and then perform linux-* to linux-* emulation for the tests automatically.

Seems linux-aarch64 breaks in either place.

Yes, so still some pain/work to do. :/

@kratsg kratsg changed the title ENH: Add aarch64 and macOS ARM builds ENH: Add macOS ARM builds Mar 11, 2026
@kratsg kratsg merged commit 808603b into conda-forge:main Mar 11, 2026
27 checks passed
@kratsg kratsg deleted the enh/add-builds branch March 11, 2026 11:39
@matthewfeickert
Copy link
Member

Nice. 👍 Getting osx-arm64 builds in now is probably better than trying to get all multi-platform builds in all at once.

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