Windows-rust-driver-samples icon indicating copy to clipboard operation
Windows-rust-driver-samples copied to clipboard

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

Open krishnakumar4a4 opened this issue 9 months ago • 2 comments

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

  1. Added continue-on-error = true 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.
  3. Note: The cargo-wdk used in the pipeline is taken from https://github.com/svasista-ms/windows-drivers-rs and from integrate-cargo-wdk branch as this PR is still not merged. This pipeline needs to get updated with cargo-wdk from https://github.com/microsoft/windows-drivers-repo once it is merged.

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.

Note: cargo-wdk is yet to be merged into windows-drivers-rs repo and it under review here

krishnakumar4a4 avatar Apr 15 '25 15:04 krishnakumar4a4

@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 avatar Apr 17 '25 09:04 krishnakumar4a4