diff --git a/.github/workflows/version-checks.yaml b/.github/workflows/version-checks.yaml index e2e5cfdd2..995924aff 100644 --- a/.github/workflows/version-checks.yaml +++ b/.github/workflows/version-checks.yaml @@ -53,3 +53,135 @@ jobs: file2-version-regex: '^version\s*=\s*"\K[^"]+' file2-version-label: "wdk-sys crate version" error-message: "The workspace dependency must use an exact version constraint of wdk-macros which matches wdk-sys to enforce lockstep versioning" + + # Template version checks - ensure cargo-wdk templates use latest dep + # versions by comparing them against those in the workspace's Cargo.toml file + - name: Check KMDF template wdk version + uses: ./.github/actions/compare-regex-versions + with: + file1: crates/cargo-wdk/templates/kmdf/Cargo.toml.tmp + file1-version-regex: '^wdk\s*=\s*"\K[^"]+' + file1-version-label: "wdk version in KMDF template" + file2: Cargo.toml + file2-version-regex: '^wdk\s*=\s*\{[^}]*version\s*=\s*"\K[^"]+' + file2-version-label: "wdk workspace dependency version" + + - name: Check KMDF template wdk-build version + uses: ./.github/actions/compare-regex-versions + with: + file1: crates/cargo-wdk/templates/kmdf/Cargo.toml.tmp + file1-version-regex: '^wdk-build\s*=\s*"\K[^"]+' + file1-version-label: "wdk-build version in KMDF template" + file2: Cargo.toml + file2-version-regex: '^wdk-build\s*=\s*\{[^}]*version\s*=\s*"\K[^"]+' + file2-version-label: "wdk-build workspace dependency version" + + - name: Check KMDF template wdk-alloc version + uses: ./.github/actions/compare-regex-versions + with: + file1: crates/cargo-wdk/templates/kmdf/Cargo.toml.tmp + file1-version-regex: '^wdk-alloc\s*=\s*"\K[^"]+' + file1-version-label: "wdk-alloc version in KMDF template" + file2: Cargo.toml + file2-version-regex: '^wdk-alloc\s*=\s*\{[^}]*version\s*=\s*"\K[^"]+' + file2-version-label: "wdk-alloc workspace dependency version" + + - name: Check KMDF template wdk-panic version + uses: ./.github/actions/compare-regex-versions + with: + file1: crates/cargo-wdk/templates/kmdf/Cargo.toml.tmp + file1-version-regex: '^wdk-panic\s*=\s*"\K[^"]+' + file1-version-label: "wdk-panic version in KMDF template" + file2: Cargo.toml + file2-version-regex: '^wdk-panic\s*=\s*\{[^}]*version\s*=\s*"\K[^"]+' + file2-version-label: "wdk-panic workspace dependency version" + + - name: Check KMDF template wdk-sys version + uses: ./.github/actions/compare-regex-versions + with: + file1: crates/cargo-wdk/templates/kmdf/Cargo.toml.tmp + file1-version-regex: '^wdk-sys\s*=\s*"\K[^"]+' + file1-version-label: "wdk-sys version in KMDF template" + file2: Cargo.toml + file2-version-regex: '^wdk-sys\s*=\s*\{[^}]*version\s*=\s*"\K[^"]+' + file2-version-label: "wdk-sys workspace dependency version" + + - name: Check UMDF template wdk version + uses: ./.github/actions/compare-regex-versions + with: + file1: crates/cargo-wdk/templates/umdf/Cargo.toml.tmp + file1-version-regex: '^wdk\s*=\s*"\K[^"]+' + file1-version-label: "wdk version in UMDF template" + file2: Cargo.toml + file2-version-regex: '^wdk\s*=\s*\{[^}]*version\s*=\s*"\K[^"]+' + file2-version-label: "wdk workspace dependency version" + + - name: Check UMDF template wdk-build version + uses: ./.github/actions/compare-regex-versions + with: + file1: crates/cargo-wdk/templates/umdf/Cargo.toml.tmp + file1-version-regex: '^wdk-build\s*=\s*"\K[^"]+' + file1-version-label: "wdk-build version in UMDF template" + file2: Cargo.toml + file2-version-regex: '^wdk-build\s*=\s*\{[^}]*version\s*=\s*"\K[^"]+' + file2-version-label: "wdk-build workspace dependency version" + + - name: Check UMDF template wdk-sys version + uses: ./.github/actions/compare-regex-versions + with: + file1: crates/cargo-wdk/templates/umdf/Cargo.toml.tmp + file1-version-regex: '^wdk-sys\s*=\s*"\K[^"]+' + file1-version-label: "wdk-sys version in UMDF template" + file2: Cargo.toml + file2-version-regex: '^wdk-sys\s*=\s*\{[^}]*version\s*=\s*"\K[^"]+' + file2-version-label: "wdk-sys workspace dependency version" + + - name: Check WDM template wdk version + uses: ./.github/actions/compare-regex-versions + with: + file1: crates/cargo-wdk/templates/wdm/Cargo.toml.tmp + file1-version-regex: '^wdk\s*=\s*"\K[^"]+' + file1-version-label: "wdk version in WDM template" + file2: Cargo.toml + file2-version-regex: '^wdk\s*=\s*\{[^}]*version\s*=\s*"\K[^"]+' + file2-version-label: "wdk workspace dependency version" + + - name: Check WDM template wdk-build version + uses: ./.github/actions/compare-regex-versions + with: + file1: crates/cargo-wdk/templates/wdm/Cargo.toml.tmp + file1-version-regex: '^wdk-build\s*=\s*"\K[^"]+' + file1-version-label: "wdk-build version in WDM template" + file2: Cargo.toml + file2-version-regex: '^wdk-build\s*=\s*\{[^}]*version\s*=\s*"\K[^"]+' + file2-version-label: "wdk-build workspace dependency version" + + - name: Check WDM template wdk-alloc version + uses: ./.github/actions/compare-regex-versions + with: + file1: crates/cargo-wdk/templates/wdm/Cargo.toml.tmp + file1-version-regex: '^wdk-alloc\s*=\s*"\K[^"]+' + file1-version-label: "wdk-alloc version in WDM template" + file2: Cargo.toml + file2-version-regex: '^wdk-alloc\s*=\s*\{[^}]*version\s*=\s*"\K[^"]+' + file2-version-label: "wdk-alloc workspace dependency version" + + - name: Check WDM template wdk-panic version + uses: ./.github/actions/compare-regex-versions + with: + file1: crates/cargo-wdk/templates/wdm/Cargo.toml.tmp + file1-version-regex: '^wdk-panic\s*=\s*"\K[^"]+' + file1-version-label: "wdk-panic version in WDM template" + file2: Cargo.toml + file2-version-regex: '^wdk-panic\s*=\s*\{[^}]*version\s*=\s*"\K[^"]+' + file2-version-label: "wdk-panic workspace dependency version" + + - name: Check WDM template wdk-sys version + uses: ./.github/actions/compare-regex-versions + with: + file1: crates/cargo-wdk/templates/wdm/Cargo.toml.tmp + file1-version-regex: '^wdk-sys\s*=\s*"\K[^"]+' + file1-version-label: "wdk-sys version in WDM template" + file2: Cargo.toml + file2-version-regex: '^wdk-sys\s*=\s*\{[^}]*version\s*=\s*"\K[^"]+' + file2-version-label: "wdk-sys workspace dependency version" diff --git a/crates/cargo-wdk/templates/kmdf/Cargo.toml.tmp b/crates/cargo-wdk/templates/kmdf/Cargo.toml.tmp index 889ab805a..4afb3e9a1 100644 --- a/crates/cargo-wdk/templates/kmdf/Cargo.toml.tmp +++ b/crates/cargo-wdk/templates/kmdf/Cargo.toml.tmp @@ -7,13 +7,13 @@ target-kmdf-version-minor = 33 crate-type = ["cdylib"] [build-dependencies] -wdk-build = "0.3.0" +wdk-build = "0.5.0" [dependencies] -wdk = "0.3.0" -wdk-alloc = "0.3.0" -wdk-panic = "0.3.0" -wdk-sys = "0.3.0" +wdk = "0.4.0" +wdk-alloc = "0.4.0" +wdk-panic = "0.4.0" +wdk-sys = "0.5.0" [features] default = [] diff --git a/crates/cargo-wdk/templates/umdf/Cargo.toml.tmp b/crates/cargo-wdk/templates/umdf/Cargo.toml.tmp index 1bd43a48e..24b92c453 100644 --- a/crates/cargo-wdk/templates/umdf/Cargo.toml.tmp +++ b/crates/cargo-wdk/templates/umdf/Cargo.toml.tmp @@ -7,11 +7,11 @@ target-umdf-version-minor = 33 crate-type = ["cdylib"] [build-dependencies] -wdk-build = "0.3.0" +wdk-build = "0.5.0" [dependencies] -wdk = "0.3.0" -wdk-sys = "0.3.0" +wdk = "0.4.0" +wdk-sys = "0.5.0" [features] default = [] diff --git a/crates/cargo-wdk/templates/wdm/Cargo.toml.tmp b/crates/cargo-wdk/templates/wdm/Cargo.toml.tmp index 725ea8202..0380e56b1 100644 --- a/crates/cargo-wdk/templates/wdm/Cargo.toml.tmp +++ b/crates/cargo-wdk/templates/wdm/Cargo.toml.tmp @@ -5,13 +5,13 @@ driver-type = "WDM" crate-type = ["cdylib"] [build-dependencies] -wdk-build = "0.3.0" +wdk-build = "0.5.0" [dependencies] -wdk = "0.3.0" -wdk-alloc = "0.3.0" -wdk-panic = "0.3.0" -wdk-sys = "0.3.0" +wdk = "0.4.0" +wdk-alloc = "0.4.0" +wdk-panic = "0.4.0" +wdk-sys = "0.5.0" [features] default = []