Skip to content

Commit dc9e037

Browse files
committed
ci: build arm64-windows binaries
1 parent e1289ac commit dc9e037

File tree

1 file changed

+23
-7
lines changed

1 file changed

+23
-7
lines changed

.github/workflows/deploy.yml

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,14 @@ jobs:
6868
# The macos-14 runner image is based on the arm64 architecture.
6969
- {os: macos-14, shell: bash, bin: form}
7070
- {os: macos-14, shell: bash, bin: tform}
71-
# NOTE: Windows native executables have too many problems.
72-
# We include them in artifacts but not in releases.
71+
# NOTE: Windows native executables may have some problems.
7372
# Unfortunately, "allow-failure" is not available on GitHub Actions
7473
# (https://github.com/actions/toolkit/issues/399).
7574
# We have to use "continue-on-error", instead.
76-
- {os: windows-2019, shell: msys2, bin: form}
77-
- {os: windows-2019, shell: msys2, bin: tform}
75+
- {os: windows-2019, shell: msys2, sys: mingw64, bin: form}
76+
- {os: windows-2019, shell: msys2, sys: mingw64, bin: tform}
77+
- {os: windows-11-arm, shell: msys2, sys: clangarm64, bin: form}
78+
- {os: windows-11-arm, shell: msys2, sys: clangarm64, bin: tform}
7879
steps:
7980
- name: Install dependencies (Ubuntu)
8081
if: runner.os == 'Linux'
@@ -85,11 +86,12 @@ jobs:
8586
# See: https://github.com/awalsh128/cache-apt-pkgs-action/pull/150
8687
version: ${{ runner.arch }}-1.0
8788

88-
- name: Install dependencies (Windows)
89-
if: runner.os == 'Windows'
89+
- name: Install dependencies (Windows/mingw64)
90+
if: matrix.shell == 'msys2' && matrix.sys == 'mingw64'
9091
uses: msys2/setup-msys2@v2
9192
with:
9293
update: true
94+
msystem: ${{ matrix.sys }}
9395
install: >-
9496
make
9597
mingw-w64-x86_64-gcc
@@ -98,6 +100,20 @@ jobs:
98100
mingw-w64-x86_64-zlib
99101
mingw-w64-x86_64-ruby
100102
103+
- name: Install dependencies (Windows/clangarm64)
104+
if: matrix.shell == 'msys2' && matrix.sys == 'clangarm64'
105+
uses: msys2/setup-msys2@v2
106+
with:
107+
update: true
108+
msystem: ${{ matrix.sys }}
109+
install: >-
110+
make
111+
mingw-w64-clang-aarch64-gcc-compat
112+
mingw-w64-clang-aarch64-gmp
113+
mingw-w64-clang-aarch64-mpfr
114+
mingw-w64-clang-aarch64-zlib
115+
mingw-w64-clang-aarch64-ruby
116+
101117
- name: Download tarball
102118
uses: actions/download-artifact@v4
103119
with:
@@ -157,7 +173,6 @@ jobs:
157173
fi
158174
make -j 4
159175
160-
# NOTE: Currently, many tests on Windows miserably fail.
161176
- name: Test
162177
if: steps.build.outcome == 'success' && steps.build.conclusion == 'success'
163178
continue-on-error: ${{ runner.os == 'Windows' }}
@@ -380,6 +395,7 @@ jobs:
380395
make_tar_gz x86_64-osx '*-macos-13/*form'
381396
make_tar_gz arm64-osx '*-macos-14/*form'
382397
make_zip x86_64-windows '*-windows-2019/*form.exe'
398+
make_zip arm64-windows '*-windows-11-arm/*form.exe'
383399
384400
- name: Summarize files for distribution
385401
run: |

0 commit comments

Comments
 (0)