Skip to content

Commit

Permalink
Test minimum dependency versions
Browse files Browse the repository at this point in the history
  • Loading branch information
juntyr committed Oct 28, 2024
1 parent 64ab747 commit 81919aa
Showing 1 changed file with 69 additions and 5 deletions.
74 changes: 69 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,53 @@ env:
CARGO_TERM_COLOR: always

jobs:
lock:
name: Cargo.lock
runs-on: ubuntu-latest

steps:
- name: Checkout the Repository
uses: actions/checkout@v2

- name: Install the Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
profile: minimal
override: true

- name: Generate the minimum version lockfile
run: |
cargo update -Z minimal-versions
mv Cargo.lock Cargo.lock.min
- name: Generate the current version lockfile
run: cargo update

- name: Upload the Cargo lockfiles
uses: actions/upload-artifact@v4
with:
name: Cargo.lock
path: |
Cargo.lock
Cargo.lock.min
check:
name: Check
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
rust: ["1.76", stable, nightly]
lock: ["Cargo.lock", "Cargo.lock.min"]
include:
- rust: "1.76"
wasm32-wasip1: wasm32-wasi
- rust: stable
wasm32-wasip1: wasm32-wasip1
- rust: nightly
wasm32-wasip1: wasm32-wasip1
runs-on: ${{ matrix.os }}
needs: lock

steps:
- name: Checkout the Repository
Expand All @@ -44,7 +77,16 @@ jobs:

- name: Install power tools
uses: taiki-e/install-action@cargo-hack


- name: Download the Cargo lockfiles
uses: actions/download-artifact@v4
with:
name: Cargo.lock

- name: Rename ${{ matrix.lock }} to Cargo.lock
run: mv ${{ matrix.lock }} Cargo.lock
if: ${{ matrix.lock != 'Cargo.lock' }}

- name: Check the powerset
run: |
cargo hack check --all \
Expand All @@ -62,12 +104,14 @@ jobs:
test:
name: Test Suite
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
rust: ["1.76", stable, nightly]
lock: ["Cargo.lock", "Cargo.lock.min"]
python: ["3.10", "3.11", "3.12"]
runs-on: ${{ matrix.os }}
needs: lock

steps:
- name: Checkout the Repository
Expand All @@ -90,7 +134,16 @@ jobs:

- name: Install numcodecs
run: pip install numcodecs


- name: Download the Cargo lockfiles
uses: actions/download-artifact@v4
with:
name: Cargo.lock

- name: Rename ${{ matrix.lock }} to Cargo.lock
run: mv ${{ matrix.lock }} Cargo.lock
if: ${{ matrix.lock != 'Cargo.lock' }}

- name: Run the test-suite powerset
run: |
cargo hack test --workspace \
Expand Down Expand Up @@ -118,16 +171,18 @@ jobs:

clippy:
name: Clippy
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
rust: ["1.76", stable]
lock: ["Cargo.lock", "Cargo.lock.min"]
include:
- rust: "1.76"
wasm32-wasip1: wasm32-wasi
- rust: stable
wasm32-wasip1: wasm32-wasip1
runs-on: ${{ matrix.os }}
needs: lock

steps:
- name: Checkout the Repository
Expand All @@ -145,6 +200,15 @@ jobs:
- name: Install power tools
uses: taiki-e/install-action@cargo-hack

- name: Download the Cargo lockfiles
uses: actions/download-artifact@v4
with:
name: Cargo.lock

- name: Rename ${{ matrix.lock }} to Cargo.lock
run: mv ${{ matrix.lock }} Cargo.lock
if: ${{ matrix.lock != 'Cargo.lock' }}

- name: Check the code style powerset
if: ${{ matrix.rust == 'stable' }}
run: |
Expand Down

0 comments on commit 81919aa

Please sign in to comment.