@@ -10,13 +10,21 @@ name: Lint
1010jobs :
1111 clippy :
1212 name : Clippy
13- runs-on : windows-latest
1413 permissions :
1514 checks : write
1615 strategy :
1716 matrix :
17+ runner :
18+ - name : windows-latest
19+ arch : amd64
20+ - name : windows-11-arm
21+ arch : arm64
22+
1823 wdk :
19- - Microsoft.WindowsWDK.10.0.22621 # NI WDK
24+ - version : 10.0.22621 # NI WDK
25+ source : winget
26+ - version : 10.0.26100 # GE WDK
27+ source : nuget
2028
2129 llvm :
2230 - 17.0.6
@@ -31,37 +39,34 @@ jobs:
3139 - release
3240
3341 target_triple :
34- - x86_64-pc-windows-msvc
35- - aarch64-pc-windows-msvc
42+ - name : x86_64-pc-windows-msvc
43+ arch : amd64
44+ - name : aarch64-pc-windows-msvc
45+ arch : arm64
46+
47+ runs-on : ${{ matrix.runner.name }}
3648
3749 steps :
3850 - name : Checkout Repository
3951 uses : actions/checkout@v4
4052
4153 - name : Install Winget
42- uses : ./.github/actions/winget- install
54+ uses : ./.github/actions/install-winget
4355 with :
4456 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
4557
4658 - name : Install LLVM ${{ matrix.llvm }}
47- run : |
48- if ((Get-WinGetPackage -Id LLVM -Source winget -MatchOption Equals).InstalledVersion -eq '${{ matrix.llvm }}') {
49- Write-Host "LLVM ${{ matrix.llvm }} is already installed."
50- } else {
51- Write-Host "Installing LLVM ${{ matrix.llvm }}..."
52- Install-WinGetPackage -Id LLVM.LLVM -Version ${{ matrix.llvm }} -Source winget -MatchOption Equals -Mode Silent -Force
53- }
54- clang --version
55-
56- - name : Install WDK (${{ matrix.wdk }})
57- run : |
58- if ((Get-WinGetPackage -Id ${{ matrix.wdk }} -Source winget -MatchOption Equals).Id -eq '${{ matrix.wdk }}') {
59- Write-Host "${{ matrix.wdk }} is already installed. Attempting to update..."
60- Update-WinGetPackage -Id ${{ matrix.wdk }} -Source winget -MatchOption Equals -Mode Silent -Force
61- } else {
62- Write-Host "Installing ${{ matrix.wdk }}..."
63- Install-WinGetPackage -Id ${{ matrix.wdk }} -Source winget -MatchOption Equals -Mode Silent -Force
64- }
59+ uses : ./.github/actions/install-llvm
60+ with :
61+ version : ${{ matrix.llvm }}
62+
63+ - name : Install WDK (${{ matrix.wdk.version }})
64+ uses : ./.github/actions/install-wdk
65+ with :
66+ version : ${{ matrix.wdk.version }}
67+ source : ${{ matrix.wdk.source }}
68+ host : ${{ matrix.runner.arch }}
69+ target : ${{ matrix.target_triple.arch }}
6570
6671 - name : Install Rust Toolchain (${{ matrix.rust_toolchain }})
6772 uses : dtolnay/rust-toolchain@master
@@ -71,38 +76,52 @@ jobs:
7176 targets : ${{ matrix.target_triple }}
7277
7378 - name : Run Cargo Clippy
74- run : cargo +${{ matrix.rust_toolchain }} clippy --locked --profile ${{ matrix.cargo_profile }} --target ${{ matrix.target_triple }} --all-targets -- -D warnings
79+ run : cargo +${{ matrix.rust_toolchain }} clippy --locked --profile ${{ matrix.cargo_profile }} --target ${{ matrix.target_triple.name }} --all-targets -- -D warnings
7580
7681 - name : Run Cargo Clippy (--features nightly)
7782 if : matrix.rust_toolchain == 'nightly'
78- run : cargo +${{ matrix.rust_toolchain }} clippy --locked --profile ${{ matrix.cargo_profile }} --target ${{ matrix.target_triple }} --all-targets --features nightly -- -D warnings
83+ run : cargo +${{ matrix.rust_toolchain }} clippy --locked --profile ${{ matrix.cargo_profile }} --target ${{ matrix.target_triple.name }} --all-targets --features nightly -- -D warnings
7984
8085 machete :
8186 name : Detect Unused Cargo Dependencies
82- runs-on : windows-latest
8387 strategy :
8488 matrix :
89+ runner :
90+ - name : windows-latest
91+ arch : amd64
92+ - name : windows-11-arm
93+ arch : arm64
94+
8595 wdk :
86- - Microsoft.WindowsWDK.10.0.22621 # NI WDK
96+ - version : 10.0.22621 # NI WDK
97+ source : winget
98+ - version : 10.0.26100 # GE WDK
99+ source : nuget
100+
101+ target_triple :
102+ - name : x86_64-pc-windows-msvc
103+ arch : amd64
104+ - name : aarch64-pc-windows-msvc
105+ arch : arm64
106+
107+ runs-on : ${{ matrix.runner.name }}
87108
88109 steps :
89110 - name : Checkout Repository
90111 uses : actions/checkout@v4
91112
92113 - name : Install Winget
93- uses : ./.github/actions/winget- install
114+ uses : ./.github/actions/install-winget
94115 with :
95116 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
96117
97- - name : Install WDK (${{ matrix.wdk }})
98- run : |
99- if ((Get-WinGetPackage -Id ${{ matrix.wdk }} -Source winget -MatchOption Equals).Id -eq '${{ matrix.wdk }}') {
100- Write-Host "${{ matrix.wdk }} is already installed. Attempting to update..."
101- Update-WinGetPackage -Id ${{ matrix.wdk }} -Source winget -MatchOption Equals -Mode Silent -Force
102- } else {
103- Write-Host "Installing ${{ matrix.wdk }}..."
104- Install-WinGetPackage -Id ${{ matrix.wdk }} -Source winget -MatchOption Equals -Mode Silent -Force
105- }
118+ - name : Install WDK (${{ matrix.wdk.version }})
119+ uses : ./.github/actions/install-wdk
120+ with :
121+ version : ${{ matrix.wdk.version }}
122+ source : ${{ matrix.wdk.source }}
123+ host : ${{ matrix.runner.arch }}
124+ target : ${{ matrix.target_triple.arch }}
106125
107126 - name : Install Rust Toolchain
108127 uses : dtolnay/rust-toolchain@stable
0 commit comments