From 5db3c4f5f8c1bb761dbaeea89bbb79ee3b7fcbe8 Mon Sep 17 00:00:00 2001 From: Marijn Suijten Date: Tue, 5 Nov 2024 10:22:08 +0100 Subject: [PATCH 1/2] CI: Combine MSRV-check with `-Zminimal-versions` build Sometimes dependency crates bump their MSRV beyond our MSRV in a patch release, and fail our CI in subsequent versions. Instead of downgrading independent crates in CI every time this issue arises, combine it with our already-existing `-Zminimal-versions` check. Instead of running this check on `nightly`, we only use that toolchain to generate a `Cargo.lock` and subsequently `check` the code on our MSRV toolchain. --- .github/workflows/ci.yml | 51 +++++++--------------------------------- 1 file changed, 9 insertions(+), 42 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ebcfdc0..8ef0f20 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -69,10 +69,17 @@ jobs: sudo apt-get install -y libdrm-dev - name: Fetch drm headers run: ./.github/workflows/fetch_headers.sh - - name: Update deps + - uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + profile: minimal + default: true + override: true + - name: Generate minimal-versions lockfile uses: actions-rs/cargo@v1 with: - command: update + command: generate-lockfile + args: -Z minimal-versions - uses: actions-rs/toolchain@v1 with: toolchain: 1.66.0 @@ -80,8 +87,6 @@ jobs: components: clippy default: true override: true - - name: Downgrade home - run: cargo update -p home --precise 0.5.5 - name: Cargo cache uses: actions/cache@v3 with: @@ -100,43 +105,6 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} args: --all --all-features --all-targets -- -D warnings -A clippy::redundant_static_lifetimes - check-minimal: - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v3 - - run: | - sudo apt-get update -y - sudo apt-get install -y libdrm-dev - - name: Fetch drm headers - run: ./.github/workflows/fetch_headers.sh - - name: Update deps - uses: actions-rs/cargo@v1 - with: - command: update - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - profile: minimal - default: true - override: true - - name: Cargo cache - uses: actions/cache@v3 - with: - path: | - ~/.cargo/registry - ~/.cargo/git - key: ${{ runner.os }}-cargo-rust_nightly-${{ hashFiles('**/Cargo.toml') }} - - name: Build cache - uses: actions/cache@v3 - with: - path: target - key: ${{ runner.os }}-build-rust_nightly-check-minimal-${{ hashFiles('**/Cargo.toml') }} - - name: Check - uses: actions-rs/cargo@v1 - with: - command: check - args: --all --all-features --all-targets -Z minimal-versions - test: needs: - format @@ -310,7 +278,6 @@ jobs: - format - doc - check - - check-minimal - test runs-on: ubuntu-22.04 steps: From a03c941f15c04c2493cf553ced9e31d80bbbe103 Mon Sep 17 00:00:00 2001 From: Marijn Suijten Date: Tue, 5 Nov 2024 10:53:03 +0100 Subject: [PATCH 2/2] drm-sys: Bump `bindgen` minimum-version to `0.69.3` To solve https://github.com/rust-lang/regex/issues/931 when the CI builds `--all-features` on a `-Zminimal-versions` lockfile. --- drm-ffi/drm-sys/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drm-ffi/drm-sys/Cargo.toml b/drm-ffi/drm-sys/Cargo.toml index efd551e..74e666c 100644 --- a/drm-ffi/drm-sys/Cargo.toml +++ b/drm-ffi/drm-sys/Cargo.toml @@ -15,7 +15,7 @@ use_bindgen = ["bindgen", "pkg-config"] update_bindings = ["use_bindgen"] [build-dependencies] -bindgen = { version = "0.69.1", optional = true } +bindgen = { version = "0.69.3", optional = true } pkg-config = { version = "0.3.19", optional = true } [target.'cfg(any(target_os = "android", target_os = "linux"))'.dependencies]