7474            runner : windows-latest 
7575          - target : aarch64-pc-windows-msvc/msvc 
7676            architecture : ARM64 
77-             runner : windows-latest 
77+             #  Forks don't have access to Windows on Arm runners. These jobs are skipped below:
78+             runner : ${{ github.repository_owner == 'python' && 'windows-aarch64' || 'windows-latest' }} 
7879          - target : x86_64-apple-darwin/clang 
7980            architecture : x86_64 
8081            runner : macos-13 
@@ -95,25 +96,19 @@ jobs:
9596        with :
9697          python-version : ' 3.11' 
9798
98-       - name : Native Windows 
99-         if : runner.os == 'Windows' && matrix.architecture != 'ARM64' 
99+       - name : Windows 
100+         #  Forks don't have access to Windows on Arm runners. Skip those:
101+         if : runner.os == 'Windows' && (matrix.architecture != 'ARM64' || github.repository_owner == 'python') 
100102        run : | 
101103          choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}.1.0 
102104          ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} 
103105          ./PCbuild/rt.bat ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3 
104106
105- #  No tests (yet):
106-       - name : Emulated Windows 
107-         if : runner.os == 'Windows' && matrix.architecture == 'ARM64' 
108-         run : | 
109-           choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}.1.0 
110-           ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} 
111- 
112107#  The `find` line is required as a result of https://github.com/actions/runner-images/issues/9966.
113108        #  This is a bug in the macOS runner image where the pre-installed Python is installed in the same
114109        #  directory as the Homebrew Python, which causes the build to fail for macos-13. This line removes
115110        #  the symlink to the pre-installed Python so that the Homebrew Python is used instead.
116-       - name : Native  macOS
111+       - name : macOS 
117112        if : runner.os == 'macOS' 
118113        run : | 
119114          brew update 
@@ -124,7 +119,7 @@ jobs:
124119          make all --jobs 4 
125120          ./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 
126121
127- name : Native  Linux
122+ name : Linux 
128123        if : runner.os == 'Linux' 
129124        run : | 
130125          sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }} 
0 commit comments