3535
3636jobs :
3737 build :
38- name : ${{ matrix.type }}-build
38+ name : ${{ matrix.type }}-${{ matrix.arch }}- build
3939 runs-on : ubuntu-latest
4040 strategy :
4141 matrix :
42+ arch : [x86_64, aarch64]
4243 type : [libs-mingw, apps-mingw-vcpkg, libs-mingw-cmake]
44+ exclude :
45+ - arch : aarch64
46+ type : apps-mingw-vcpkg
47+ - arch : aarch64
48+ type : libs-mingw-cmake
4349 fail-fast : false
4450 steps :
4551 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
@@ -57,11 +63,29 @@ jobs:
5763 - name : Install dependencies
5864 run : |
5965 sudo apt-get update
60- sudo apt-get install -y mingw-w64 mingw-w64-tools mingw-w64-x86-64-dev mingw-w64-i686-dev tar curl zip unzip p7zip-full
66+ sudo apt-get install -y tar curl zip unzip p7zip-full
6167
62- - name : Make libs with mingw
63- if : success() && matrix.type == 'libs-mingw'
68+ - name : Install x86_64 mingw toolchain
69+ if : success() && matrix.arch == 'x86_64'
70+ run : |
71+ sudo apt-get install -y mingw-w64 mingw-w64-tools mingw-w64-x86-64-dev mingw-w64-i686-dev
72+
73+ - name : Install aarch64 llvm-mingw toolchain
74+ if : success() && matrix.arch == 'aarch64'
75+ run : |
76+ wget -q https://github.com/mstorsjo/llvm-mingw/releases/download/20260421/llvm-mingw-20260421-msvcrt-ubuntu-22.04-x86_64.tar.xz
77+ echo "18488138efd8d621930fa85c86c3e3eb9967c0bfa253e1f6f73c5212f7180f31 llvm-mingw-20260421-msvcrt-ubuntu-22.04-x86_64.tar.xz" | sha256sum -c -
78+ tar -Jxf llvm-mingw-20260421-msvcrt-ubuntu-22.04-x86_64.tar.xz
79+ echo "$GITHUB_WORKSPACE/llvm-mingw-20260421-msvcrt-ubuntu-22.04-x86_64/bin" >> $GITHUB_PATH
80+
81+ - name : Build libs (x86_64)
82+ if : matrix.type == 'libs-mingw' && matrix.arch == 'x86_64'
6483 run : cd lib && MINGW=x86_64-w64-mingw32 make -f Makefile.mingw
84+
85+ - name : Build libs (aarch64)
86+ if : success() && matrix.type == 'libs-mingw' && matrix.arch == 'aarch64'
87+ run : cd lib && MINGW=aarch64-w64-mingw32 make -f Makefile.mingw
88+
6589 - name : Install Powershell for vcpkg
6690 if : success() && matrix.type == 'apps-mingw-vcpkg'
6791 run : |
@@ -101,7 +125,7 @@ jobs:
101125 if : ${{ failure() }}
102126 uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
103127 with :
104- name : mingw_logs_${{ matrix.type }}_${{ github.event.pull_request.head.sha }}
128+ name : mingw_logs_${{ matrix.type }}_${{ matrix.arch }}_${{ github.event.pull_request.head.sha }}
105129 path : deploy/logs.7z
106130
107131 - name : Prepare artifacts for deploy
@@ -112,5 +136,5 @@ jobs:
112136 uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
113137 if : ${{! contains(matrix.type, 'libs')}}
114138 with :
115- name : win_${{ matrix.type }}_${{ github.event.pull_request.head.sha }}
139+ name : win_${{ matrix.type }}_${{ matrix.arch }}_${{ github.event.pull_request.head.sha }}
116140 path : deploy/win_${{ matrix.type }}.7z
0 commit comments