Skip to content

ci: update actions and fix ARM manylinux container usage#72

Merged
daxpryce merged 1 commit into
mainfrom
update-actions
Jun 3, 2026
Merged

ci: update actions and fix ARM manylinux container usage#72
daxpryce merged 1 commit into
mainfrom
update-actions

Conversation

@daxpryce

@daxpryce daxpryce commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

Action version bumps (Node.js 24 compatibility):

  • actions/upload-artifact v4 → v7
  • actions/download-artifact v4 → v8
  • astral-sh/setup-uv v6 → v7

Fix ARM Linux wheel platform tags:

  • The default maturin-action containers for aarch64 are cross-compilation images (ghcr.io/rust-cross/*-cross:aarch64) intended for x86_64 hosts. On native ARM runners (ubuntu-24.04-arm), the action detects matching architecture and skips the container, building natively — which produces 'linux_aarch64' tags that PyPI rejects.
  • Fix: explicitly set container to native aarch64 images:
    • manylinux: quay.io/pypa/manylinux2014_aarch64
    • musllinux: quay.io/pypa/musllinux_1_2_aarch64
  • Add safety-net filter steps to remove any stray linux_* or non-universal2 wheels before artifact upload.

Action version bumps (Node.js 24 compatibility):
- actions/upload-artifact v4 → v7
- actions/download-artifact v4 → v8
- astral-sh/setup-uv v6 → v7

Fix ARM Linux wheel platform tags:
- The default maturin-action containers for aarch64 are cross-compilation
  images (ghcr.io/rust-cross/*-cross:aarch64) intended for x86_64 hosts.
  On native ARM runners (ubuntu-24.04-arm), the action detects matching
  architecture and skips the container, building natively — which produces
  'linux_aarch64' tags that PyPI rejects.
- Fix: explicitly set container to native aarch64 images:
  - manylinux: quay.io/pypa/manylinux2014_aarch64
  - musllinux: quay.io/pypa/musllinux_1_2_aarch64
- Add safety-net filter steps to remove any stray linux_* or non-universal2
  wheels before artifact upload.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 3, 2026 01:07

Copilot AI 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.

Pull request overview

This PR updates GitHub Actions dependencies for Node.js 24 compatibility and adjusts the ARM Linux wheel build environment so maturin produces PyPI-acceptable manylinux/musllinux platform tags on native ARM runners.

Changes:

  • Bump artifact and uv setup actions to newer major versions (upload-artifact v7, download-artifact v8, setup-uv v7).
  • Force native aarch64 manylinux/musllinux container images on ubuntu-24.04-arm to avoid producing rejected linux_* wheel tags.
  • Add post-build filtering steps to delete any stray *-linux_*.whl wheels (Linux) and non-universal2 wheels (macOS) before uploading artifacts.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
.github/workflows/publish.yml Updates action versions, pins aarch64 builds to native manylinux/musllinux containers, and filters wheel artifacts before publish.
.github/workflows/ci.yml Mirrors the build matrix container overrides and artifact filtering in the main CI workflow, plus updates action versions.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/publish.yml
Comment thread .github/workflows/publish.yml
Comment thread .github/workflows/ci.yml
Comment thread .github/workflows/ci.yml
@daxpryce daxpryce merged commit 42a00a6 into main Jun 3, 2026
17 checks passed
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.

2 participants