Skip to content

Conversation

@KKiiim
Copy link
Contributor

@KKiiim KKiiim commented Oct 30, 2025

Support ARM64 builds and improve package naming in the GitHub Actions release workflow.

1. Added ARM64 Support

  • Added ubuntu-24.04-arm64 runner for native Linux ARM64 compilation
  • Utilized existing macos-14 runner which provides native macOS ARM64 (Apple Silicon) compilation
  • New Linux ARM64 release package will be named aarch64-ubuntu

2. Updated Package Naming

  • Renamed existing Ubuntu x86_64 package from ubuntu-20.04 to x86-ubuntu for clarity
  • Package names now clearly indicate the architecture

3. Matrix Configuration

The build matrix now includes:

  • amd64-ubuntu (ubuntu-20.04)
  • arm64-ubuntu (ubuntu-24.04-arm64)
  • arm64-macos-14 (macOS Apple Silicon)
  • amd64-windows-latest (Windows-lastest)

Release Artifacts

After these changes, each release will include:

  • wabt-{version}-amd64-ubuntu.tar.gz - Linux x86_64 build
  • wabt-{version}-arm64-ubuntu.tar.gz - Linux ARM64 build
  • wabt-{version}-arm64-macos-14.tar.gz - macOS ARM64 build (Apple Silicon)
  • wabt-{version}-amd64-windows-latest.tar.gz - Windows x86_64 build
  • wabt-{version}-wasi.tar.gz - WASI build

@KKiiim KKiiim force-pushed the support-arm-linux branch from 6afe18b to fe46342 Compare October 30, 2025 03:34
@sbc100 sbc100 changed the title Feature(release): support aarch64 linux release pack Add arm64 linux build to release binaries. NFC Oct 30, 2025
@sbc100 sbc100 changed the title Add arm64 linux build to release binaries. NFC Add arm64 linux release binaries. NFC Oct 30, 2025
@KKiiim KKiiim requested a review from sbc100 November 3, 2025 05:17
@KKiiim
Copy link
Contributor Author

KKiiim commented Nov 3, 2025

Copy link
Member

@sbc100 sbc100 left a comment

Choose a reason for hiding this comment

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

A few more nits regarding naming.

  • Can we use x64 rather than amd64 in our public filename
  • OS should be the first element in the filename
  • lets leave the arch out on windows we for now.

name: arm64-macos-14
- os: windows-latest
arch: x86_64
name: amd64-windows-latest
Copy link
Member

Choose a reason for hiding this comment

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

Can we just call this one windows for now? (At least until we support more than one windows arch).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

name "windows-x64" looks more friendly for developer to integration.
I think it is acceptable ?

Copy link
Member

@sbc100 sbc100 left a comment

Choose a reason for hiding this comment

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

Is there some way we can test this change? Or do we need to wait for the next release to know if it actually works?

@KKiiim KKiiim force-pushed the support-arm-linux branch from e19687b to adc504d Compare November 4, 2025 02:07
@KKiiim
Copy link
Contributor Author

KKiiim commented Nov 4, 2025

Is there some way we can test this change? Or do we need to wait for the next release to know if it actually works?

I have tested it on my fork repo and works well.

image image

@KKiiim KKiiim requested a review from sbc100 November 4, 2025 04:32
- name: install ninja (linux)
run: sudo apt-get install ninja-build
if: startsWith(matrix.os, 'ubuntu-')
if: contains(matrix.os, 'ubuntu')
Copy link
Member

Choose a reason for hiding this comment

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

This line can be reverted now I think

Copy link
Member

@sbc100 sbc100 left a comment

Choose a reason for hiding this comment

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

lgtm!

I will do a new release as soon as this lands

@sbc100 sbc100 merged commit 75b1079 into WebAssembly:main Nov 4, 2025
18 checks passed
aliesbelik added a commit to ScoopInstaller/Extras that referenced this pull request Nov 5, 2025
@KKiiim
Copy link
Contributor Author

KKiiim commented Nov 5, 2025

Hi, @sbc100
Should we support different ubuntu-version release?
Since different ubuntu have different glibc. Such as ubuntu-2204 don't have GLIBC_2.38 that may failed to executed.
wasm2wat: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.38 not found (required by wasm2wat)

@sbc100
Copy link
Member

sbc100 commented Nov 5, 2025

Hi, @sbc100 Should we support different ubuntu-version release? Since different ubuntu have different glibc. Such as ubuntu-2204 don't have GLIBC_2.38 that may failed to executed. wasm2wat: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.38 not found (required by wasm2wat)

No I think its fine to just support a single version, but we should build with the oldest version we can for max compatabiliy.

Folks to obscure/old linux distros and just rely on their distro package manager or build it themselves.

I did just notices that this PR changed ubuntu-20.04 to ubuntu-latest. I failed to notice that in review. Can you revert that part please? We should use ubuntu-20.04 to increase compat.

@KKiiim
Copy link
Contributor Author

KKiiim commented Nov 6, 2025

Hi, @sbc100 Should we support different ubuntu-version release? Since different ubuntu have different glibc. Such as ubuntu-2204 don't have GLIBC_2.38 that may failed to executed. wasm2wat: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.38 not found (required by wasm2wat)

No I think its fine to just support a single version, but we should build with the oldest version we can for max compatabiliy.

Folks to obscure/old linux distros and just rely on their distro package manager or build it themselves.

I did just notices that this PR changed ubuntu-20.04 to ubuntu-latest. I failed to notice that in review. Can you revert that part please? We should use ubuntu-20.04 to increase compat.

Sorry for the mistake. Have created a fix patch:

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