Local Development Makefile #3275
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Local Development Makefile | |
| on: | |
| push: | |
| branches-ignore: | |
| - 'gh-readonly-queue/**' | |
| pull_request: | |
| merge_group: | |
| schedule: # Trigger a job on default branch at 4AM PST everyday | |
| - cron: 0 11 * * * | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.compare || github.head_ref || github.ref }} | |
| cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | |
| env: | |
| RUSTFLAGS: -D warnings | |
| jobs: | |
| build: | |
| name: Test WDR's local cargo-make Makefile | |
| strategy: | |
| fail-fast: false # Allow all matrix variants to complete even if some fail | |
| matrix: | |
| runner: | |
| - name: windows-2025 | |
| arch: amd64 | |
| - name: windows-11-arm | |
| arch: arm64 | |
| wdk: | |
| - version: 10.0.22621 # NI WDK | |
| source: winget | |
| - version: 10.0.26100 # GE WDK | |
| source: nuget | |
| llvm: | |
| - 17.0.6 | |
| runs-on: ${{ matrix.runner.name }} | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v5 | |
| - name: Install Winget | |
| uses: ./.github/actions/install-winget | |
| with: | |
| # windows-11-arm runner image does not include winget-cli (see https://github.com/actions/partner-runner-images/issues/95). | |
| force-cli-install: ${{ matrix.runner.name == 'windows-11-arm' && 'true' || 'false' }} | |
| - name: Install LLVM ${{ matrix.llvm }} | |
| uses: ./.github/actions/install-llvm | |
| with: | |
| version: ${{ matrix.llvm }} | |
| - name: Install WDK (${{ matrix.wdk.version }}) | |
| uses: ./.github/actions/install-wdk | |
| with: | |
| version: ${{ matrix.wdk.version }} | |
| source: ${{ matrix.wdk.source }} | |
| host: ${{ matrix.wdk.source == 'nuget' && matrix.runner.arch || '' }} | |
| target: ${{ matrix.wdk.source == 'nuget' && matrix.runner.arch || '' }} | |
| - name: Install Nightly Rust Toolchain | |
| uses: dtolnay/rust-toolchain@nightly | |
| with: | |
| components: clippy, rustfmt | |
| - name: Install Beta Rust Toolchain | |
| uses: dtolnay/rust-toolchain@beta | |
| with: | |
| components: clippy | |
| - name: Install Stable Rust Toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - name: Install Cargo Make | |
| uses: taiki-e/install-action@v2 | |
| with: | |
| tool: cargo-make | |
| - name: Test wdk-pre-commit-flow cargo-make task | |
| env: | |
| # cargo-wdk new tests try to build newly generated | |
| # driver projects which can fail in release-plz PRs | |
| # because the dependencies are not yet published. | |
| # This env var skips such builds for release-plz PRs | |
| SKIP_BUILD_IN_CARGO_WDK_NEW_TESTS: ${{ startsWith(github.head_ref, 'release-plz-') && '1' || '' }} | |
| run: cargo make wdk-pre-commit-flow |