From 0d8fe24a8cba93dcd9e9f49b84f0f58e4ad21935 Mon Sep 17 00:00:00 2001 From: xtqqczze <45661989+xtqqczze@users.noreply.github.com> Date: Wed, 23 Sep 2026 19:23:20 +0100 Subject: [PATCH 1/4] ci: refactor MSRV job to avoid unnecessary matrix build --- .github/workflows/ci.yml | 41 ++++++++++++++++++---------------------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d55fb01e..d4532544 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,33 +5,28 @@ on: pull_request: jobs: - build-msrv: - name: Build on MSRV (1.71) - strategy: - fail-fast: false - matrix: - include: - - os: ubuntu-latest - target: x86_64-unknown-linux-gnu - rust: 1.71.0 - - os: windows-latest - target: i686-pc-windows-msvc - rust: 1.71.0 - runs-on: ${{ matrix.os }} + msrv: + name: MSRV + runs-on: ubuntu-latest + env: + TARGETS: | + x86_64-unknown-linux-gnu + i686-pc-windows-gnu steps: - - name: Install rust - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true - name: Checkout uses: actions/checkout@v7 + - uses: taiki-e/install-action@v2.87.11 + with: + tool: | + cargo-hack + fallback: none - name: Check - env: - CARGO_BUILD_TARGET: ${{ matrix.target }} - run: make check + run: | + cargo hack check \ + --lib \ + --all-features \ + --rust-version \ + $(printf '%s\n' "$TARGETS" | xargs -n1 printf -- '--target %s ') test: name: Tests From e600ea7e793106e7f9c372714c0695ff4c3344d0 Mon Sep 17 00:00:00 2001 From: xtqqczze <45661989+xtqqczze@users.noreply.github.com> Date: Wed, 23 Sep 2026 19:26:24 +0100 Subject: [PATCH 2/4] ci: use minimal versions in MSRV job --- .github/workflows/ci.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d4532544..defc1e60 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,12 +19,14 @@ jobs: with: tool: | cargo-hack + cargo-minimal-versions fallback: none - name: Check run: | - cargo hack check \ - --lib \ - --all-features \ + cargo minimal-versions check \ + --workspace \ + --feature-powerset \ + --ignore-private \ --rust-version \ $(printf '%s\n' "$TARGETS" | xargs -n1 printf -- '--target %s ') From e3f89ec6ef7cf9e7bcdf94268f80c1839964eaf8 Mon Sep 17 00:00:00 2001 From: xtqqczze <45661989+xtqqczze@users.noreply.github.com> Date: Wed, 23 Sep 2026 19:27:04 +0100 Subject: [PATCH 3/4] ci: check all Tier 1 targets in MSRV job --- .github/workflows/ci.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index defc1e60..6f0cad9e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,9 +9,16 @@ jobs: name: MSRV runs-on: ubuntu-latest env: + # Matches Tier 1 job targets TARGETS: | + aarch64-unknown-linux-gnu + i686-unknown-linux-gnu x86_64-unknown-linux-gnu i686-pc-windows-gnu + i686-pc-windows-msvc + x86_64-pc-windows-gnu + x86_64-pc-windows-msvc + x86_64-apple-darwin steps: - name: Checkout uses: actions/checkout@v7 From 6a4a2680f8ffc12f111703395cf89758b77971d6 Mon Sep 17 00:00:00 2001 From: xtqqczze <45661989+xtqqczze@users.noreply.github.com> Date: Wed, 23 Sep 2026 20:30:19 +0100 Subject: [PATCH 4/4] ci: remove redundant minimal version resolution job --- .github/workflows/minver.yml | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100644 .github/workflows/minver.yml diff --git a/.github/workflows/minver.yml b/.github/workflows/minver.yml deleted file mode 100644 index 48cbb391..00000000 --- a/.github/workflows/minver.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: Check minimal version resolution - -on: - push: - branches: ['main'] - pull_request: - -jobs: - check-minver: - name: Test with minimal version resolution - runs-on: ubuntu-latest - continue-on-error: true - - steps: - - uses: actions/checkout@v7 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - profile: minimal - override: true - - uses: taiki-e/install-action@cargo-hack - - uses: taiki-e/install-action@cargo-minimal-versions - - name: Test - run: make check-minver