1414 default : false
1515
1616
17- permissions :
17+ permissionks :
1818 contents : read # Default everything to read-only
1919
2020jobs :
2121 build-windows-release :
22- runs-on : depot-windows-2022-16
22+ runs-on : ${{ matrix.runs-on }}
2323 if : github.repository_owner == 'llvm'
24+ strategy :
25+ fail-fast : false
26+ matrix :
27+ runs-on :
28+ - depot-windows-2022-16
29+ - windows-11-arm
2430 steps :
2531 - name : Setup crlf
2632 run : |
@@ -43,20 +49,43 @@ jobs:
4349 else
4450 version_string="${{inputs.release-version }}"
4551 fi
52+ case $RUNNER_ARCH in
53+ "X64" )
54+ installer_arch="win64"
55+ tar_arch="x86_64"
56+ installer_dir_arch="amd64"
57+ script_options="--x64"
58+ ;;
59+ "ARM64" )
60+ installer_arch="woa64"
61+ tar_arch="aarch64"
62+ installer_dir_arch="arm64"
63+ script_options="--arm64"
64+ ;;
65+ esac
66+ echo "installer-name=LLVM-$version_string-$installer_arch.exe" >> $GITHUB_OUTPUT
67+ echo "tar-name=$tar_arch-pc-windows-msvc.tar.xz" >> $GITHUB_OUTPUT
68+ echo "installer-dir=build_$installer_dir_arch" >> $GITHUB_OUTPUT
69+ echo "script-options=$script_options" >> $GITHUB_OUTPUT
4670 echo "version-string=$version_string" >> $GITHUB_OUTPUT
4771 - env :
4872 LDFLAGS : " -Wl,--verbose"
4973 run : |
5074 subst S: ${{ github.workspace }}
5175 cd S:\llvm\utils\release\
52- .\build_llvm_release.bat --x64 --version ${{ steps.variables.outputs.version-string }} --local-python --skip-checkout
53- - uses : actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
54- with :
55- name : ${{ runner.os }}-${{ runner.arch }}-release-binaries
56- # Due to path differences on Windows when running in bash vs running on node,
57- # we need to search for files in the current workspace.
58- path : |
59- S:\llvm\utils\release\llvm_package_${{ steps.variables.outputs.version-string }}\build_amd64\LLVM-${{ steps.variables.outputs.version-string }}-win64.exe
60- S:\llvm\utils\release\llvm_package_${{ steps.variables.outputs.version-string}}\clang+llvm-${{ steps.variables.outputs.version-string }}-x86_64-pc-windows-msvc.tar.xz
76+ .\build_llvm_release.bat ${{ steps.variables.outputs.script-options }} --version ${{ steps.variables.outputs.version-string }} --local-python --skip-checkout
77+ # Move installer to top-level directory so it is easier to upload.
78+ mv ${{ steps.variables.outputs.installer-dir }}/${{ steps.variables.outputs.installer-name }} .
6179
80+ - name : Upload Installer
81+ uses : ./.github/workflows/upload-release-artifact
82+ with :
83+ files : ${{ steps.variables.outputs.installer-name }}
84+ upload : false
85+
86+ - name : Upload Tar
87+ uses : ./.github/workflows/upload-release-artifact
88+ with :
89+ files : ${{ steps.variables.outputs.tar-name }}
90+ upload : false
6291
0 commit comments