From 2f6b104b932c9a197204f0766459809b97035009 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Tue, 23 Sep 2025 13:40:17 +0300 Subject: [PATCH 1/2] [libcxx] Run tests on Windows/arm64 too Github Actions has got free runners with Windows on ARM64 these days, which can be used for running CI, just as well as the other existing cases. This qualifies this configuration as a supported target platform, thus add it to the docs in the listing of supported platforms. --- .github/workflows/libcxx-build-and-test.yaml | 5 +++-- libcxx/docs/index.rst | 2 +- libcxx/utils/ci/run-buildbot | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/libcxx-build-and-test.yaml b/.github/workflows/libcxx-build-and-test.yaml index 77f79a85a0a2f..b322c96d63416 100644 --- a/.github/workflows/libcxx-build-and-test.yaml +++ b/.github/workflows/libcxx-build-and-test.yaml @@ -236,7 +236,6 @@ jobs: **/crash_diagnostics/* windows: - runs-on: windows-2022 needs: [ stage2 ] strategy: fail-fast: false @@ -251,6 +250,8 @@ jobs: - { config: mingw-static, mingw: true } - { config: mingw-dll-i686, mingw: true } - { config: mingw-incomplete-sysroot, mingw: true } + - { config: mingw-static-aarch64, mingw: true, runner: windows-11-arm } + runs-on: ${{ matrix.runner != '' && matrix.runner || 'windows-latest' }} steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Install dependencies @@ -264,7 +265,7 @@ jobs: - name: Install llvm-mingw if: ${{ matrix.mingw == true }} run: | - curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/20250709/llvm-mingw-20250709-ucrt-x86_64.zip + curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/20250709/llvm-mingw-20250709-ucrt-${{ matrix.runner == 'windows-11-arm' && 'aarch64' || 'x86_64' }}.zip powershell Expand-Archive llvm-mingw*.zip -DestinationPath . del llvm-mingw*.zip mv llvm-mingw* c:\llvm-mingw diff --git a/libcxx/docs/index.rst b/libcxx/docs/index.rst index 4d5064bfd7f3b..495ccceb31cef 100644 --- a/libcxx/docs/index.rst +++ b/libcxx/docs/index.rst @@ -147,7 +147,7 @@ macOS 10.13+ i386, x86_64, arm64 FreeBSD 12+ i386, x86_64, arm Linux i386, x86_64, arm, arm64 Only glibc-2.24 and later and no other libc is officially supported Android 5.0+ i386, x86_64, arm, arm64 -Windows i386, x86_64 Both MSVC and MinGW style environments, ABI in MSVC environments is :doc:`unstable ` +Windows i386, x86_64, arm64 Both MSVC and MinGW style environments, ABI in MSVC environments is :doc:`unstable ` AIX 7.2TL5+ powerpc, powerpc64 Embedded (picolibc) arm ===================== ========================= ============================ diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot index 57ecf1e49dbf2..b3dc428724c58 100755 --- a/libcxx/utils/ci/run-buildbot +++ b/libcxx/utils/ci/run-buildbot @@ -706,7 +706,7 @@ mingw-dll) -C "${MONOREPO_ROOT}/libcxx/cmake/caches/MinGW.cmake" check-runtimes ;; -mingw-static) +mingw-static|mingw-static-aarch64) clean generate-cmake \ -C "${MONOREPO_ROOT}/libcxx/cmake/caches/MinGW.cmake" \ From 071f3c7f2be9f77d8c87e859e8c4484f5376ce2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Mon, 6 Oct 2025 13:28:26 +0300 Subject: [PATCH 2/2] Remove the separate config name, as it was identical Also fix the default runner image name, don't use "windows-latest" but keep using "windows-2022" like we did before. --- .github/workflows/libcxx-build-and-test.yaml | 4 ++-- libcxx/utils/ci/run-buildbot | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/libcxx-build-and-test.yaml b/.github/workflows/libcxx-build-and-test.yaml index b322c96d63416..908eb81a2d522 100644 --- a/.github/workflows/libcxx-build-and-test.yaml +++ b/.github/workflows/libcxx-build-and-test.yaml @@ -250,8 +250,8 @@ jobs: - { config: mingw-static, mingw: true } - { config: mingw-dll-i686, mingw: true } - { config: mingw-incomplete-sysroot, mingw: true } - - { config: mingw-static-aarch64, mingw: true, runner: windows-11-arm } - runs-on: ${{ matrix.runner != '' && matrix.runner || 'windows-latest' }} + - { config: mingw-static, mingw: true, runner: windows-11-arm } + runs-on: ${{ matrix.runner != '' && matrix.runner || 'windows-2022' }} steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Install dependencies diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot index b3dc428724c58..57ecf1e49dbf2 100755 --- a/libcxx/utils/ci/run-buildbot +++ b/libcxx/utils/ci/run-buildbot @@ -706,7 +706,7 @@ mingw-dll) -C "${MONOREPO_ROOT}/libcxx/cmake/caches/MinGW.cmake" check-runtimes ;; -mingw-static|mingw-static-aarch64) +mingw-static) clean generate-cmake \ -C "${MONOREPO_ROOT}/libcxx/cmake/caches/MinGW.cmake" \