Skip to content

Add aarch64 release artifacts for Linux and Windows - #1132

Merged
nicoburns merged 1 commit into
linebender:mainfrom
harryzcy:aarch64-release
Sep 8, 2026
Merged

nicoburns merged 1 commit into
linebender:mainfrom
harryzcy:aarch64-release

Conversation

@harryzcy

@harryzcy harryzcy commented Sep 5, 2026 •

Copy link
Copy Markdown
Contributor

Adds native aarch64 builds to the release workflow.

  • Linux aarch64 on the ubuntu-24.04-arm runner → resvg-linux-aarch64.tar.gz, usvg-linux-aarch64.tar.gz
  • Windows aarch64 on the windows-11-arm runner → resvg-win-aarch64.zip, usvg-win-aarch64.zip

Updates the workflow's actions, two of which still declared the end-of-life node12 runtime:

  • alexellis/upload-assets 0.2.2 → 0.5.0 (node12 → node24)
  • battila7/get-version-action removed — unmaintained since 2021 and node12; the workflow only triggers on v* tags, so the version is just ${GITHUB_REF_NAME#v}
  • actions/checkout v2 → v7, softprops/action-gh-release v2 → v3

Renames the existing job to explicitly say x86_64 and differentiate aarch64

Closes #968

@harryzcy

harryzcy commented Sep 5, 2026

Copy link
Copy Markdown
Contributor Author

I tested the Rust builds on my fork with a build-only version of this workflow (harryzcy/resvg@ebc1836): https://github.com/harryzcy/resvg/actions/runs/33953271487

All six jobs pass, including Release Linux (aarch64) on ubuntu-24.04-arm and Release Windows (aarch64) on windows-11-arm

@nicoburns nicoburns left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looks good - thanks!

@nicoburns
nicoburns merged commit f6c2e47 into linebender:main Sep 8, 2026
5 checks passed
@harryzcy
harryzcy deleted the aarch64-release branch September 8, 2026 23:30
nicoburns added a commit that referenced this pull request Sep 9, 2026
Some CI cleanup suggested by LLM review of
#1132. Has been verified as
working on my fork.

## Changes made

- Collapse the six per-platform release-* jobs into one release-binaries
matrix job over {linux, win, macos} × {x86_64, aarch64}. Asset names are
derived from the matrix (`resvg-$SUFFIX.{tar.gz,zip}`). This renamea
`resvg-win64.zip` / `usvg-win64.zip` to `resvg-win-x86_64.zip` /
`usvg-win-x86_64.zip` to match the linux-* / macos-* / win-aarch64
naming. This is a breaking change for anyone scripting downloads of the
old names.
- Drop the crates/c-api release builds (and the ilammy/msvc-dev-cmd
step): their output was never collected or uploaded, so they only cost
CI time.
- Split the vendored sources archive and the Windows Explorer
thumbnailer into their own jobs
- Upload assets with `softprops/action-gh-release@v3` files: (already
used to create the release) instead of the third-party
`alexellis/upload-assets`.
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.

Add support for ARM64 machines

2 participants