|
13 | 13 | jobs: |
14 | 14 | docs: |
15 | 15 | name: Docs |
16 | | - runs-on: windows-2025 |
17 | 16 | strategy: |
| 17 | + fail-fast: false # Allow all matrix variants to complete even if some fail |
18 | 18 | matrix: |
| 19 | + runner: |
| 20 | + - name: windows-2025 |
| 21 | + arch: amd64 |
| 22 | + - name: windows-11-arm |
| 23 | + arch: arm64 |
| 24 | + |
19 | 25 | wdk: |
20 | 26 | - 10.0.22621 # NI WDK |
21 | 27 |
|
|
32 | 38 | - release |
33 | 39 |
|
34 | 40 | target_triple: |
35 | | - - x86_64-pc-windows-msvc |
36 | | - - aarch64-pc-windows-msvc |
| 41 | + - name: x86_64-pc-windows-msvc |
| 42 | + arch: amd64 |
| 43 | + - name: aarch64-pc-windows-msvc |
| 44 | + arch: arm64 |
| 45 | + |
| 46 | + runs-on: ${{ matrix.runner.name }} |
37 | 47 |
|
38 | 48 | steps: |
39 | 49 | - name: Checkout Repository |
@@ -77,23 +87,23 @@ jobs: |
77 | 87 | uses: dtolnay/rust-toolchain@master |
78 | 88 | with: |
79 | 89 | toolchain: ${{ matrix.rust_toolchain }} |
80 | | - targets: ${{ matrix.target_triple }} |
| 90 | + targets: ${{ matrix.target_triple.name }} |
81 | 91 |
|
82 | 92 | - name: Run Cargo Doc |
83 | 93 | # proc-macro crates must be excluded to avoid cargo doc bug: https://github.com/rust-lang/cargo/issues/10368 |
84 | | - run: cargo +${{ matrix.rust_toolchain }} doc --locked --profile ${{ matrix.cargo_profile }} --target ${{ matrix.target_triple }} --workspace --exclude wdk-macros |
85 | | - |
| 94 | + run: cargo +${{ matrix.rust_toolchain }} doc --locked --profile ${{ matrix.cargo_profile }} --target ${{ matrix.target_triple.name }} --workspace --exclude wdk-macros |
86 | 95 | - name: Run Cargo Doc (--features nightly) |
87 | 96 | if: matrix.rust_toolchain == 'nightly' |
88 | 97 | # proc-macro crates must be excluded to avoid cargo doc bug: https://github.com/rust-lang/cargo/issues/10368 |
89 | | - run: cargo +${{ matrix.rust_toolchain }} doc --locked --profile ${{ matrix.cargo_profile }} --target ${{ matrix.target_triple }} --workspace --exclude wdk-macros --features nightly |
90 | | - |
| 98 | + run: cargo +${{ matrix.rust_toolchain }} doc --locked --profile ${{ matrix.cargo_profile }} --target ${{ matrix.target_triple.name }} --workspace --exclude wdk-macros --features nightly |
91 | 99 | - name: Run Cargo Doc w/ proc-macro crates |
92 | | - if: matrix.target_triple == 'x86_64-pc-windows-msvc' |
| 100 | + # Skip duplicate runs on the same runner |
| 101 | + if: matrix.target_triple.arch == matrix.runner.arch |
93 | 102 | # cargo doc can only generate documentation for proc-macro crates when --target is not specified due to a cargo doc bug: https://github.com/rust-lang/cargo/issues/7677 |
94 | 103 | run: cargo +${{ matrix.rust_toolchain }} doc --locked --profile ${{ matrix.cargo_profile }} |
95 | 104 |
|
96 | 105 | - name: Run Cargo Doc w/ proc-macro crates (--features nightly) |
97 | | - if: ${{ matrix.target_triple == 'x86_64-pc-windows-msvc' && matrix.rust_toolchain == 'nightly' }} |
| 106 | + # Skip duplicate runs on the same runner |
| 107 | + if: ${{ matrix.target_triple.arch == matrix.runner.arch && matrix.rust_toolchain == 'nightly' }} |
98 | 108 | # cargo doc can only generate documentation for proc-macro crates when --target is not specified due to a cargo doc bug: https://github.com/rust-lang/cargo/issues/7677 |
99 | 109 | run: cargo +${{ matrix.rust_toolchain }} doc --locked --profile ${{ matrix.cargo_profile }} --features nightly |
0 commit comments