Skip to content

Commit

Permalink
chore: use powershell in ci
Browse files Browse the repository at this point in the history
  • Loading branch information
oberrich committed Jan 10, 2025
1 parent b01b521 commit 3a341ad
Showing 1 changed file with 13 additions and 15 deletions.
28 changes: 13 additions & 15 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,25 +55,22 @@ jobs:
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
$installs = @(
@{ Name = 'Chocolatey'; Url = 'https://chocolatey.org/install.ps1'; Hash = $null; Action = { & "${{github.workspace}}\install.ps1" }},
@{ Name = 'Visual Studio 2022 Build Tools (aarch64)';
Hash = $null; Url = $null;
Action = { choco install visualstudio2022buildtools -y --no-progress --silent --package-parameters '--add Microsoft.VisualStudio.Component.VC.Tools.ARM64 --add Microsoft.VisualStudio.Component.Windows11SDK.22621' }
},
@{ Name = 'Chocolatey'; Url = 'https://chocolatey.org/install.ps1'; Hash = $null;
Action = { & "${{github.workspace}}\install.ps1" }},
@{ Name = 'Visual Studio 2022 Build Tools (aarch64)'; Hash = $null; Url = $null;
Action = { choco install visualstudio2022buildtools -y --no-progress --silent --package-parameters '--add Microsoft.VisualStudio.Component.VC.Tools.ARM64 --add Microsoft.VisualStudio.Component.Windows11SDK.22621' }},
@{ Name = 'Rust (nightly, aarch64)';
Url = 'https://static.rust-lang.org/rustup/dist/aarch64-pc-windows-msvc/rustup-init.exe';
Hash = 'https://static.rust-lang.org/rustup/dist/aarch64-pc-windows-msvc/rustup-init.exe.sha256';
Action = { & '${{github.workspace}}\rustup-init.exe' --default-host aarch64-pc-windows-msvc --default-toolchain nightly -y }
},
Action = { & '${{github.workspace}}\rustup-init.exe' --default-host aarch64-pc-windows-msvc --default-toolchain nightly -y }},
@{ Name = 'LLVM 19.1.5';
Url = 'https://github.com/llvm/llvm-project/releases/download/llvmorg-19.1.5/LLVM-19.1.5-woa64.exe';
Hash = '63D479C19C3908F8C973331EDC9B576485EAB6AB0809F58C79DF5D209FDD8F96';
Action = { & '${{github.workspace}}\LLVM-19.1.5-woa64.exe' /S }},
@{ Name = 'Git 2.48.0-rc1';
Url = 'https://github.com/git-for-windows/git/releases/download/v2.48.0-rc2.windows.1/Git-2.48.0-rc2-arm64.exe';
Hash = '712739bb49832d571732e3e74b111d7cb4a63cd622ef3e87d01efe35046d9a4f';
Action = { & '${{github.workspace}}\Git-2.48.0-rc2-arm64.exe' /VERYSILENT
}}
Action = { & '${{github.workspace}}\Git-2.48.0-rc2-arm64.exe' /VERYSILENT }}
)
$installs | ForEach-Object {
Expand All @@ -82,8 +79,7 @@ jobs:
$install_file = Join-Path ${{github.workspace}} (Split-Path $_.Url -Leaf)
Invoke-WebRequest -Uri $_.Url -OutFile $install_file
}
# Handle hash verification if provided
if ($_.Hash -ne $null) {
$expected_hash = if ($_.Hash -like "*.sha256") {
$hash_file = Join-Path ${{github.workspace}} (Split-Path $_.Hash -Leaf)
Expand All @@ -95,24 +91,24 @@ jobs:
$downloaded_hash = (Get-FileHash -Path $install_file -Algorithm SHA256).Hash
if ($downloaded_hash -eq $expected_hash) {
Log "$($_.Name) hash verified successfully."
Log "Hash verified successfully."
} else {
Log "Hash mismatch for $($_.Name). Expected: $expected_hash, Got: $downloaded_hash" -Level "ERROR"
exit 1
}
} else {
Log "No hash specified for $($_.Name). Skipping hash verification."
Log "No hash specified, skipping verification."
}
Log "Starting installation of $($_.Name)..."
try {
& $_.Action > $null 2>&1
Log "$($_.Name) installation completed."
} catch {
Log "Failed to install $($_.Name)." -Level "ERROR"
Log "Failed to install $($_.Name)." "ERROR"
}
}
$exports = @(
"$env:ProgramFiles\Git\cmd", # Git
"$env:ProgramFiles\Git\bin", # Bash
Expand All @@ -134,6 +130,8 @@ jobs:

- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: 'recursive'

- name: Run tests and generate bindings
env:
Expand Down

0 comments on commit 3a341ad

Please sign in to comment.