Skip to content

ci: Add macOS 14 (ARM64) support and fix conda ToS issues in CI workflows #974

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

ferstar
Copy link
Contributor

@ferstar ferstar commented Aug 15, 2025

Fixes #975

Summary

This PR adds support for the new macOS 14 (ARM64) GitHub Actions runners and fixes conda Terms of Service issues that were causing CI failures.

Changes

1. Add macOS 14 to GitHub Actions Matrix (ea627bd)

  • Added macos-14 to all workflow files that use matrix.os configuration:
    • .github/workflows/bazel.yml
    • .github/workflows/cmake.yml
    • .github/workflows/nodejs.yml
    • .github/workflows/python.yml
    • .github/workflows/release-pypi.yml
  • Ensures compatibility testing on the new M1 macOS runners

2. Fix Conda Terms of Service Issues (a51644e)

  • Added conda tos accept commands for required channels in all PyPI release scripts:
    • release-pypi-linux.sh
    • release-pypi-macos.sh
    • release-pypi-windows.cmd
  • Accepts ToS for https://repo.anaconda.com/pkgs/main and https://repo.anaconda.com/pkgs/r channels
  • Resolves CondaToSNonInteractiveError that was preventing PyPI workflows from completing

3. Support ARM64 Architecture in macOS Script (4e55f83)

  • Modified release-pypi-macos.sh to detect system architecture and download appropriate Miniconda version:
    • ARM64 (Apple Silicon/macos-14): Miniconda3-latest-MacOSX-arm64.sh
    • x86_64 (Intel/macos-latest): Miniconda3-latest-MacOSX-x86_64.sh
  • Ensures compatibility with both macos-latest and macos-14 runners

Testing

  • All changes are backward compatible with existing runners
  • New macos-14 runners will now work correctly with ARM64-specific Miniconda
  • Conda ToS acceptance prevents CI failures across all platforms

References

Files Changed

  • .github/workflows/bazel.yml
  • .github/workflows/cmake.yml
  • .github/workflows/nodejs.yml
  • .github/workflows/python.yml
  • .github/workflows/release-pypi.yml
  • release-pypi-linux.sh
  • release-pypi-macos.sh
  • release-pypi-windows.cmd

Add macos-14 runner to all workflow files that use matrix.os configuration:
- bazel.yml
- cmake.yml
- nodejs.yml
- python.yml
- release-pypi.yml

This ensures compatibility testing on the new M1 macOS runners.

Reference: https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source/
…elease scripts

Add conda tos accept commands for required channels in all platform scripts:
- release-pypi-macos.sh: Accept ToS for main and r channels
- release-pypi-windows.cmd: Accept ToS for main and r channels

This ensures all PyPI release workflows can run without conda ToS errors
Detect macOS architecture (arm64 vs x86_64) and download the appropriate
Miniconda version:
- ARM64 (Apple Silicon): Miniconda3-latest-MacOSX-arm64.sh
- x86_64 (Intel): Miniconda3-latest-MacOSX-x86_64.sh

This ensures compatibility with both macos-latest (x86_64) and macos-14 (ARM64)
GitHub Actions runners.
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 ARM64 wheel packages for macOS (macosx_11_0_arm64.whl) in PyPI releases
1 participant