chore: use cargo-wdk to build & package samples on the CI pipeline#36
Merged
krishnakumar4a4 merged 11 commits intomicrosoft:mainfrom Jun 10, 2025
Merged
Conversation
8fff09f to
3bcd9b1
Compare
Contributor
Author
@microsoft-github-policy-service agree company="Microsoft" |
…cargo make build is failing
…all the other jobs
…sample drivers in workspace, so continuing on error so that cargo make can still be executed
…k can be used for building, otherwise only default profile is used all the time
6294d5f to
5c80123
Compare
krishnakumar4a4
commented
May 29, 2025
krishnakumar4a4
commented
May 29, 2025
gurry
reviewed
May 30, 2025
wmmc88
previously approved these changes
May 30, 2025
There was a problem hiding this comment.
Pull Request Overview
This PR integrates cargo-wdk into the CI pipeline to build and package driver samples, adjusts the matrix for targets, and configures error handling to let all jobs run to completion.
- Allow matrix jobs to continue on failure and report individual outcomes
- Change
target_tripleentries to objects withnameandarchand update usages - Add steps to install and invoke
cargo-wdkfor packaging drivers
…wdk and use fail fast strategy on the matrix
wmmc88
approved these changes
Jun 3, 2025
This was referenced Jun 5, 2025
Use renovatebot to auto update deps in Github action workflow files
microsoft/windows-drivers-rs#375
Open
gurry
approved these changes
Jun 5, 2025
svasista-ms
approved these changes
Jun 10, 2025
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR aims to use cargo-wdk to build and package the driver samples in the repository on the CI pipeline.
Changes:
fail-fast = falseto the build job. Without this change, one job failure cancels all the other jobs triggered in the matrix. Since other jobs are being cancelled, we won't be able to know the possible failures/successes of those jobs while most of them have executed 70% of the steps at any given time.continue-on-error = trueto the "Build and Package Sample Drivers in the workspace with cargo-wdk" step ascargo-wdkfails for known reasons due to a mix of sample and non-sample drivers in the workspace.cargo-wdkcurrently can work with one kind of setup, either all are sample drivers or none. An issue is created on WDR to address this.cargo-wdkused in the pipeline is taken from https://github.com/microsoft/windows-drivers-rs repomainbranch at commit5b9aa0a14e385daf5217c0f5232bcd4d3f4780a6.About cargo-wdk
cargo-wdkis a Command-Line Interface (CLI) utility that can be used to create and build Windows driver projects that depend on the WDK and windows-drivers-rs platform. It aims to streamline management of Rust drivers. It provides an easy and a consistent way to get started with Rust driver projects and build them using simple commands. It eliminates a lengthy setup process and also the need to maintain additional files/tools (Makefiles for cargo-make) to build/package the drivers.