Skip to content

Commit f7a9c9c

Browse files
committed
ci: build arm64-windows binaries
1 parent 2ae4458 commit f7a9c9c

1 file changed

Lines changed: 23 additions & 7 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,14 @@ jobs:
6565
# The macos-14 runner image is based on the arm64 architecture.
6666
- {os: macos-14, shell: bash, bin: form}
6767
- {os: macos-14, shell: bash, bin: tform}
68-
# NOTE: Windows native executables have too many problems.
69-
# We include them in artifacts but not in releases.
68+
# NOTE: Windows native executables may have some problems.
7069
# Unfortunately, "allow-failure" is not available on GitHub Actions
7170
# (https://github.com/actions/toolkit/issues/399).
7271
# We have to use "continue-on-error", instead.
73-
- {os: windows-2019, shell: msys2, bin: form}
74-
- {os: windows-2019, shell: msys2, bin: tform}
72+
- {os: windows-2019, shell: msys2, sys: mingw64, bin: form}
73+
- {os: windows-2019, shell: msys2, sys: mingw64, bin: tform}
74+
- {os: windows-11-arm, shell: msys2, sys: clangarm64, bin: form}
75+
- {os: windows-11-arm, shell: msys2, sys: clangarm64, bin: tform}
7576
steps:
7677
- name: Install dependencies (Ubuntu)
7778
if: runner.os == 'Linux'
@@ -80,11 +81,12 @@ jobs:
8081
packages: libmpfr-dev
8182
version: 1.0
8283

83-
- name: Install dependencies (Windows)
84-
if: runner.os == 'Windows'
84+
- name: Install dependencies (Windows/mingw64)
85+
if: matrix.shell == 'msys2' && matrix.sys == 'mingw64'
8586
uses: msys2/setup-msys2@v2
8687
with:
8788
update: true
89+
msystem: ${{ matrix.sys }}
8890
install: >-
8991
make
9092
mingw-w64-x86_64-gcc
@@ -93,6 +95,20 @@ jobs:
9395
mingw-w64-x86_64-zlib
9496
mingw-w64-x86_64-ruby
9597
98+
- name: Install dependencies (Windows/clangarm64)
99+
if: matrix.shell == 'msys2' && matrix.sys == 'clangarm64'
100+
uses: msys2/setup-msys2@v2
101+
with:
102+
update: true
103+
msystem: ${{ matrix.sys }}
104+
install: >-
105+
make
106+
mingw-w64-clang-aarch64-gcc-compat
107+
mingw-w64-clang-aarch64-gmp
108+
mingw-w64-clang-aarch64-mpfr
109+
mingw-w64-clang-aarch64-zlib
110+
mingw-w64-clang-aarch64-ruby
111+
96112
- name: Download tarball
97113
uses: actions/download-artifact@v4
98114
with:
@@ -149,7 +165,6 @@ jobs:
149165
fi
150166
make -j 4
151167
152-
# NOTE: Currently, many tests on Windows miserably fail.
153168
- name: Test
154169
if: steps.build.outcome == 'success' && steps.build.conclusion == 'success'
155170
continue-on-error: ${{ runner.os == 'Windows' }}
@@ -359,6 +374,7 @@ jobs:
359374
make_tar_gz x86_64-osx '*-macos-13/*form'
360375
make_tar_gz arm64-osx '*-macos-14/*form'
361376
make_zip x86_64-windows '*-windows-2019/*form.exe'
377+
make_zip arm64-windows '*-windows-11-arm/*form.exe'
362378
363379
- name: Print distributions
364380
run: ls -l dist

0 commit comments

Comments
 (0)