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

Reply via email to