Skip to content

Comments

chore: use cargo-wdk to build & package samples on the CI pipeline#36

Merged
krishnakumar4a4 merged 11 commits intomicrosoft:mainfrom
krishnakumar4a4:feat/integrate-cargo-wdk
Jun 10, 2025
Merged

chore: use cargo-wdk to build & package samples on the CI pipeline#36
krishnakumar4a4 merged 11 commits intomicrosoft:mainfrom
krishnakumar4a4:feat/integrate-cargo-wdk

Conversation

@krishnakumar4a4
Copy link
Contributor

@krishnakumar4a4 krishnakumar4a4 commented Apr 15, 2025

This PR aims to use cargo-wdk to build and package the driver samples in the repository on the CI pipeline.
Changes:

  1. Added fail-fast = false to 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.
  2. Added continue-on-error = true to the "Build and Package Sample Drivers in the workspace with cargo-wdk" step as cargo-wdk fails for known reasons due to a mix of sample and non-sample drivers in the workspace. cargo-wdk currently can work with one kind of setup, either all are sample drivers or none. An issue is created on WDR to address this.
  3. Since this PR is merged, the cargo-wdk used in the pipeline is taken from https://github.com/microsoft/windows-drivers-rs repo main branch at commit 5b9aa0a14e385daf5217c0f5232bcd4d3f4780a6.

About cargo-wdk

cargo-wdk is 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.

@krishnakumar4a4 krishnakumar4a4 force-pushed the feat/integrate-cargo-wdk branch from 8fff09f to 3bcd9b1 Compare April 16, 2025 09:54
@krishnakumar4a4
Copy link
Contributor Author

@krishnakumar4a4 please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.

@microsoft-github-policy-service agree [company="{your company}"]

Options:

  • (default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.
@microsoft-github-policy-service agree
  • (when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.
@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@microsoft-github-policy-service agree company="Microsoft"

@krishnakumar4a4 krishnakumar4a4 force-pushed the feat/integrate-cargo-wdk branch from 6294d5f to 5c80123 Compare May 15, 2025 03:48
@krishnakumar4a4 krishnakumar4a4 marked this pull request as ready for review May 29, 2025 16:01
@wmmc88 wmmc88 requested a review from Copilot May 30, 2025 22:06
wmmc88
wmmc88 previously approved these changes May 30, 2025
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@wmmc88 wmmc88 requested a review from Copilot May 30, 2025 22:23
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_triple entries to objects with name and arch and update usages
  • Add steps to install and invoke cargo-wdk for packaging drivers

…wdk and use fail fast strategy on the matrix
@krishnakumar4a4 krishnakumar4a4 merged commit 0a3a3cd into microsoft:main Jun 10, 2025
42 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants