Unfortunately, the test-llvm-mingw and test-libcxx jobs fail for arm64. I'm not clear on why. The test-ffmpeg jobs work, though
--- .github/workflows/build.yml | 40 +++++++++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 37daa7dfc..e08c3286c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -68,8 +68,11 @@ jobs: mkdir cross cd cross - for arch in i686 x86_64; do + for arch in i686 x86_64 armv7 aarch64; do src_crt=${{matrix.crt}} + if [[ "$arch" = a* && "$src_crt" == "msvcrt" ]]; then + continue + fi if [ "$src_crt" = "ucrtbase" ]; then src_crt=ucrt fi @@ -97,10 +100,23 @@ jobs: path: | llvm-mingw-*-x86_64.zip retention-days: 7 + - uses: actions/upload-artifact@v4 + if: matrix.crt != 'msvcrt' + with: + name: windows-${{matrix.crt}}-armv7-toolchain + path: | + llvm-mingw-*-armv7.zip + retention-days: 7 + - uses: actions/upload-artifact@v4 + if: matrix.crt != 'msvcrt' + with: + name: windows-${{matrix.crt}}-aarch64-toolchain + path: | + llvm-mingw-*-aarch64.zip + retention-days: 7 test-llvm-mingw: needs: [llvm-mingw] - runs-on: windows-latest defaults: run: shell: msys2 {0} @@ -110,10 +126,18 @@ jobs: arch: - x86_64 - i686 + - aarch64 + - armv7 crt: - ucrt - ucrtbase - msvcrt + exclude: + - arch: aarch64 + crt: msvcrt + - arch: armv7 + crt: msvcrt + runs-on: ${{startsWith(matrix.arch, 'a') && 'windows-11-arm' || 'windows-latest'}} steps: - uses: msys2/setup-msys2@v2 with: @@ -156,20 +180,22 @@ jobs: $arch-w64-mingw32-clang $defs -fno-builtin test/crt-test.c -o $name-crt-first.exe -l$lib -O2 echo $name case $arch in - *86*) ./$name-regular.exe ; ./$name-crt-first.exe ;; + ${{ runner.arch == 'ARM64' && '*' || '*86*' }}) ./$name-regular.exe ; ./$name-crt-first.exe ;; esac done done test-libcxx: needs: [llvm-mingw] - runs-on: windows-latest strategy: fail-fast: false matrix: include: - { arch: x86_64, prefix: i686-w64-mingw32- } - { arch: x86_64, prefix: } + - { arch: aarch64, prefix: armv7-w64-mingw32- } + - { arch: aarch64, prefix: } + runs-on: ${{startsWith(matrix.arch, 'a') && 'windows-11-arm' || 'windows-latest'}} steps: - name: Install dependencies run: | @@ -255,13 +281,15 @@ jobs: test-ffmpeg: needs: [llvm-mingw] - runs-on: windows-latest strategy: fail-fast: false matrix: arch: - i686 - x86_64 + - armv7 + - aarch64 + runs-on: ${{startsWith(matrix.arch, 'a') && 'windows-11-arm' || 'windows-latest'}} defaults: run: shell: msys2 {0} @@ -305,7 +333,7 @@ jobs: export PATH=/llvm-mingw/bin:$PATH mkdir ffmpeg-build cd ffmpeg-build - ../ffmpeg/configure --samples=../fate-samples --enable-gpl + ../ffmpeg/configure --arch=${{matrix.arch}} --samples=../fate-samples --enable-gpl make -j$(nproc) make fate-rsync make -j$(nproc) fate -- 2.49.0.windows.1 _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public