6767 # Build a cross compiler for Linux, targeting Windows.
6868 linux :
6969 needs : [prepare]
70- runs-on : ubuntu-22.04
70+ runs-on : ubuntu-22.04-arm
7171 steps :
7272 - uses : actions/checkout@v4
7373 - name : Build
@@ -92,16 +92,16 @@ jobs:
9292 tar -Jcf ../$NAME.tar.xz --format=ustar --numeric-owner --owner=0 --group=0 --sort=name --mtime="$BUILD_DATE" $NAME
9393 - uses : actions/upload-artifact@v4
9494 with :
95- name : linux-ucrt-x86_64 -toolchain
95+ name : linux-ucrt-aarch64 -toolchain
9696 path : |
9797 llvm-mingw-*.tar.xz
9898 retention-days : 7
9999
100100 # Crosscompile the toolchain for running on Linux on a different architecture, bundle the runtime
101101 # libraries that were built in the 'linux' step above.
102- linux-cross-aarch64 :
102+ linux-cross-x86_64 :
103103 needs : [linux, prepare]
104- runs-on : ubuntu-22.04
104+ runs-on : ubuntu-22.04-arm
105105 steps :
106106 - uses : actions/checkout@v4
107107 - name : Build
@@ -110,12 +110,12 @@ jobs:
110110 MINGW_W64_VERSION : ${{needs.prepare.outputs.MINGW_W64_VERSION}}
111111 SOURCE_DATE_EPOCH : ${{needs.prepare.outputs.COMMIT_DATE_UNIX}}
112112 run : |
113- sudo apt-get update && sudo apt-get install g++-aarch64 -linux-gnu
114- ./build-all.sh $(pwd)/install/llvm-mingw --no-runtimes --host=aarch64 -linux-gnu
113+ sudo apt-get update && sudo apt-get install g++-x86-64 -linux-gnu
114+ ./build-all.sh $(pwd)/install/llvm-mingw --no-runtimes --host=x86_64 -linux-gnu
115115 .github/workflows/store-version.sh install/llvm-mingw/versions.txt
116116 - uses : actions/download-artifact@v4
117117 with :
118- name : linux-ucrt-x86_64 -toolchain
118+ name : linux-ucrt-aarch64 -toolchain
119119 - name : Unpack native toolchain
120120 run : |
121121 tar -Jxf llvm-mingw-*.tar.xz
@@ -126,22 +126,22 @@ jobs:
126126 ./prepare-cross-toolchain-unix.sh $(pwd)/llvm-mingw-native $(pwd)/install/llvm-mingw
127127 - name : Test using the cross-built assembled toolchain
128128 run : |
129- sudo apt-get update && sudo apt-get install qemu-user-static libc6-arm64 -cross libstdc++6-arm64 -cross
130- QEMU_LD_PREFIX=/usr/aarch64 -linux-gnu ./test-libcxx-module.sh $(pwd)/install/llvm-mingw
131- QEMU_LD_PREFIX=/usr/aarch64 -linux-gnu ./run-tests.sh $(pwd)/install/llvm-mingw
129+ sudo apt-get update && sudo apt-get install qemu-user-static libc6-amd64 -cross libstdc++6-amd64 -cross
130+ QEMU_LD_PREFIX=/usr/x86_64 -linux-gnu ./test-libcxx-module.sh $(pwd)/install/llvm-mingw
131+ QEMU_LD_PREFIX=/usr/x86_64 -linux-gnu ./run-tests.sh $(pwd)/install/llvm-mingw
132132 - name : Package the toolchain
133133 env :
134134 TAG : ${{needs.prepare.outputs.TAG}}
135135 BUILD_DATE : ${{needs.prepare.outputs.BUILD_DATE}}
136136 run : |
137137 cd install
138- DISTRO=ubuntu-$(grep DISTRIB_RELEASE /etc/lsb-release | cut -f 2 -d =)-aarch64
138+ DISTRO=ubuntu-$(grep DISTRIB_RELEASE /etc/lsb-release | cut -f 2 -d =)-x86_64
139139 NAME=llvm-mingw-$TAG-ucrt-$DISTRO
140140 mv llvm-mingw $NAME
141141 tar -Jcf ../$NAME.tar.xz --format=ustar --numeric-owner --owner=0 --group=0 --sort=name --mtime="$BUILD_DATE" $NAME
142142 - uses : actions/upload-artifact@v4
143143 with :
144- name : linux-ucrt-aarch64 -toolchain
144+ name : linux-ucrt-x86_64 -toolchain
145145 path : |
146146 llvm-mingw-*.tar.xz
147147 retention-days : 7
@@ -274,7 +274,7 @@ jobs:
274274 # architectures). The binaries built here match actual releases quite closely.
275275 linux-cross-windows :
276276 needs : [linux, prepare]
277- runs-on : ubuntu-latest
277+ runs-on : ubuntu-24.04-arm
278278 strategy :
279279 fail-fast : false
280280 matrix :
@@ -286,7 +286,7 @@ jobs:
286286 steps :
287287 - uses : actions/download-artifact@v4
288288 with :
289- name : linux-${{matrix.crt}}-x86_64 -toolchain
289+ name : linux-${{matrix.crt}}-aarch64 -toolchain
290290 - name : Unpack cross toolchain
291291 run : |
292292 tar -Jxf llvm-mingw-*.tar.xz
@@ -659,7 +659,7 @@ jobs:
659659 if : github.event_name == 'schedule'
660660 permissions :
661661 contents : write
662- needs : [linux, linux-cross-aarch64 , macos, linux-cross-windows, test-toolchain, linux-test-cross-build-ffmpeg, test-ffmpeg]
662+ needs : [linux, linux-cross-x86_64 , macos, linux-cross-windows, test-toolchain, linux-test-cross-build-ffmpeg, test-ffmpeg]
663663 runs-on : ubuntu-latest
664664 steps :
665665 - name : Download all artifacts
0 commit comments