Skip to content

Commit 7e7a8df

Browse files
committed
ci(windows): address review feedback
Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com>
1 parent 487bf9c commit 7e7a8df

3 files changed

Lines changed: 24 additions & 16 deletions

File tree

‎.agents/skills/build-openshell-mxc-windows/SKILL.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ The lane targets a Windows host with Visual Studio Build Tools and rustup.
114114
| Visual Studio 2022 or newer | `where.exe cl.exe` from a Developer PowerShell | Build Tools, Community, Professional, and Enterprise editions work when the target C++ components are installed. The wrapper discovers `VsDevCmd.bat` through `OPENSHELL_VSDEVCMD`, `vswhere`, or installed release directories such as `18` and `2022`. |
115115
| Visual C++ ARM64 tools | `vswhere -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.ARM64 -property installationPath` | Required for native ARM64 check, build, and tests and for x64-to-ARM64 check/build. Tests always require a native runner. |
116116
| Visual C++ ARM64 Spectre-mitigated libraries | `vswhere -latest -products * -requires Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre -property installationPath` | Required by `regorus` through `msvc_spectre_libs`; the build fails when the selected MSVC toolset lacks `lib\spectre\arm64`. |
117-
| Visual C++ Clang tools | `vswhere -latest -products * -requires Microsoft.VisualStudio.Component.VC.Llvm.Clang -property installationPath` | Provides host-native `libclang.dll` for `bindgen` and `clang-cl.exe` for ARM64 crypto dependencies such as `ring` and `aws-lc-sys`. On ARM64, the wrapper uses `VC\Tools\Llvm\Arm64\bin`. |
117+
| Visual C++ Clang tools | `vswhere -latest -products * -requires Microsoft.VisualStudio.Component.VC.Llvm.Clang -property installationPath` | Provides host-native `libclang.dll` for `bindgen` and `clang-cl.exe` for ARM64 crypto dependencies such as `aws-lc-sys`. On ARM64, the wrapper uses `VC\Tools\Llvm\Arm64\bin`. |
118118
| Visual C++ CMake tools | `vswhere -latest -products * -requires Microsoft.VisualStudio.Component.VC.CMake.Project -property installationPath` | Provides CMake and Ninja for native dependencies. The x64-to-ARM64 path adds Ninja to `PATH`; Z3 uses an architecture-specific prebuilt release. |
119119
| Windows SDK | `where.exe rc.exe` from a Developer PowerShell | Install an SDK containing target libraries and ARM64 tools. |
120120
| Rust via rustup | `rustc --version` | Add each target being validated: `x86_64-pc-windows-msvc` and/or `aarch64-pc-windows-msvc`. The wrapper also adds the selected target. |

‎.agents/skills/build-openshell-mxc-windows/reference.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ file.
6868
For ARM64, verify the Visual Studio instance contains the ARM64 MSVC tools,
6969
ARM64 Spectre-mitigated libraries, Clang tools, CMake tools, and a Windows SDK.
7070
Clang supplies host-native `libclang.dll` for `bindgen` and `clang-cl.exe` for
71-
ARM64 crypto dependencies such as `ring` and `aws-lc-sys`. Native and
71+
ARM64 crypto dependencies such as `aws-lc-sys`. Native and
7272
x64-to-ARM64 builds use the official prebuilt Z3 4.16.0 static library for the
7373
target architecture. An x64-to-ARM64 check/build discovers and adds host-native
7474
Ninja to `PATH`, while the crypto crates select `clang-cl`. Use a short

‎.github/workflows/windows-msvc.yml‎

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ concurrency:
1717
cancel-in-progress: true
1818

1919
env:
20+
# sccache cannot cache incremental Rust compilations, and rust-cache removes
21+
# incremental artifacts before saving the target directory.
2022
CARGO_INCREMENTAL: "0"
2123

2224
jobs:
@@ -70,11 +72,15 @@ jobs:
7072
- name: Isolate Rust toolchains
7173
# rust-cache hashes every installed toolchain, including unused runner defaults.
7274
run: '"RUSTUP_HOME=$env:RUNNER_TEMP/openshell-rustup" >> $env:GITHUB_ENV'
73-
- uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30 # stable
74-
with:
75-
toolchain: "1.95.0"
76-
targets: ${{ matrix.rust_target }}
77-
components: clippy
75+
- name: Install Rust toolchain
76+
# GitHub-hosted runners include rustup. With no toolchain argument,
77+
# rustup installs the checked-in rust-toolchain.toml configuration:
78+
# https://github.com/dtolnay/rust-toolchain/issues/133#issuecomment-2610825530
79+
run: |
80+
rustup set profile minimal
81+
rustup toolchain install
82+
rustup component add clippy
83+
rustup target add ${{ matrix.rust_target }}
7884
- name: Install cargo-nextest
7985
run: mise install --locked github:nextest-rs/nextest
8086
- name: Cache Rust target and registry
@@ -129,11 +135,12 @@ jobs:
129135
uses: mozilla-actions/sccache-action@9e7fa8a12102821edf02ca5dbea1acd0f89a2696 # v0.0.10
130136
- name: Isolate Rust toolchains
131137
run: '"RUSTUP_HOME=$env:RUNNER_TEMP/openshell-rustup" >> $env:GITHUB_ENV'
132-
- uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30 # stable
133-
with:
134-
toolchain: "1.95.0"
135-
targets: ${{ matrix.rust_target }}
136-
components: clippy
138+
- name: Install Rust toolchain
139+
run: |
140+
rustup set profile minimal
141+
rustup toolchain install
142+
rustup component add clippy
143+
rustup target add ${{ matrix.rust_target }}
137144
- name: Install cargo-nextest
138145
run: mise install --locked github:nextest-rs/nextest
139146
- name: Cache Rust target and registry
@@ -185,10 +192,11 @@ jobs:
185192
uses: mozilla-actions/sccache-action@9e7fa8a12102821edf02ca5dbea1acd0f89a2696 # v0.0.10
186193
- name: Isolate Rust toolchains
187194
run: '"RUSTUP_HOME=$env:RUNNER_TEMP/openshell-rustup" >> $env:GITHUB_ENV'
188-
- uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30 # stable
189-
with:
190-
toolchain: "1.95.0"
191-
targets: ${{ matrix.rust_target }}
195+
- name: Install Rust toolchain
196+
run: |
197+
rustup set profile minimal
198+
rustup toolchain install
199+
rustup target add ${{ matrix.rust_target }}
192200
- name: Cache Rust target and registry
193201
uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2
194202
env:

0 commit comments

Comments
 (0)