@@ -14,84 +14,18 @@ jobs:
1414 shell : powershell
1515 strategy :
1616 matrix :
17- os : [windows-11-preview_aarch64 , windows-2025]
17+ os : [windows-11-arm , windows-2025]
1818 target : [aarch64-pc-windows-msvc, x86_64-pc-windows-msvc, i686-pc-windows-msvc]
1919 exclude :
20- - os : windows-11-preview_aarch64
20+ - os : windows-11-arm
2121 target : x86_64-pc-windows-msvc
22- - os : windows-11-preview_aarch64
22+ - os : windows-11-arm
2323 target : i686-pc-windows-msvc
2424 - os : windows-2025
2525 target : aarch64-pc-windows-msvc
2626 runs-on : ${{ matrix.os }}
2727 steps :
28- - if : matrix.os == 'windows-11-preview_aarch64'
29- uses : robinraju/release-downloader@v1
30- with :
31- repository : ' llvm/llvm-project'
32- tag : ' llvmorg-19.1.5'
33- filename : ' LLVM-19.1.5-woa64.exe'
34- - if : matrix.os == 'windows-11-preview_aarch64'
35- uses : robinraju/release-downloader@v1
36- with :
37- repository : ' git-for-windows/git'
38- tag : ' v2.48.0-rc2.windows.1'
39- filename : ' Git-2.48.0-rc2-arm64.exe'
40- - name : Install Build Tools
41- if : matrix.os == 'windows-11-preview_aarch64'
42- run : |
43- $deps = @(
44- @{ Name = 'Visual Studio 2022 Build Tools (aarch64)';
45- Url = 'https://aka.ms/vs/17/release/vs_buildtools.exe';
46- Args = @('--add', 'Microsoft.VisualStudio.Component.VC.Tools.ARM64',
47- '--add', 'Microsoft.VisualStudio.Component.Windows11SDK.22621',
48- '--quiet', '--wait', '--norestart', '--nocache') },
49- @{ Name = 'Git 2.48.0-rc1';
50- Url = "${{github.workspace}}/Git-2.48.0-rc2-arm64.exe";
51- Args = @('/VERYSILENT', '/GitAndUnixToolsOnPath', '/NoAutoCrlf') },
52- @{ Name = 'LLVM 19.1.5';
53- Url = "${{github.workspace}}/LLVM-19.1.5-woa64.exe";
54- Args = @('/S') },
55- @{ Name = 'Rust (nightly, aarch64)';
56- Url = 'https://static.rust-lang.org/rustup/dist/aarch64-pc-windows-msvc/rustup-init.exe';
57- Args = @('--default-host', 'aarch64-pc-windows-msvc', '--default-toolchain', 'nightly', '-y') }
58- )
59-
60- $paths = @(
61- " $env:USERPROFILE\\ .cargo\\ bin" , # Rust
62- " $env:ProgramFiles\\ Git\\ cmd" , # Git
63- " $env:ProgramFiles\\ Git\\ bin" # Bash
64- )
65-
66- function Log { param([string]$Message, [string]$Level = "INFO")
67- $timestamp = Get-Date -Format 'yyyy-MM-dd HH:mm:ss'
68- if ($Level -eq "ERROR") {
69- Write-Host "$timestamp [ERROR] - $Message" -ForegroundColor Red
70- } else {
71- Write-Host "$timestamp [$Level] - $Message"
72- }
73- }
74-
75- $deps | ForEach-Object {
76- $install_file = $_.Url
77- if ($_.Url -match "^https?://") {
78- Log "Downloading $($_.Name) from '$($_.Url)'..."
79- $install_file = Join-Path "${{ github.workspace }}" (Split-Path $_.Url -Leaf)
80- Invoke-WebRequest -Uri $_.Url -OutFile $install_file -UseBasicParsing
81- }
82-
83- Log "Installing $($_.Name)..."
84- Start-Process -FilePath $install_file -ArgumentList $_.Args -NoNewWindow -Wait
85- Log "$($_.Name) installation completed."
86- }
87-
88- $paths | ForEach-Object {
89- Add-Content -Path $env:GITHUB_PATH -Value "$($_)" -Encoding utf8
90- Log "Added $_ to `$GITHUB_PATH"
91- }
92-
9328 - name : Install Rust
94- if : matrix.os != 'windows-11-preview_aarch64'
9529 uses : dtolnay/rust-toolchain@nightly
9630 with :
9731 targets : ${{ matrix.target }}
0 commit comments