Skip to content

Commit

Permalink
ci: Run tests built with Rust MSRV
Browse files Browse the repository at this point in the history
This is useful to detect test inconsistencies between Rust versions, see
previous commit.

Signed-off-by: Mickaël Salaün <[email protected]>
  • Loading branch information
l0kod committed Aug 31, 2023
1 parent ce5727e commit 31ca3b8
Showing 1 changed file with 31 additions and 10 deletions.
41 changes: 31 additions & 10 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,15 @@ env:
CARGO_TERM_COLOR: always
RUSTDOCFLAGS: -D warnings
RUSTFLAGS: -D warnings
LANDLOCK_TEST_TOOLS_COMMIT: ab616e087cffa4b6716ff026e589d0317e19aaa4 # v1.0.0

# Ubuntu versions: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources

jobs:
commit_list:
runs-on: ubuntu-22.04
steps:

- uses: actions/checkout@v3
with:
fetch-depth: 0
Expand Down Expand Up @@ -50,11 +52,22 @@ jobs:
fail-fast: false
matrix:
commit: ${{ fromJSON(needs.commit_list.outputs.commits) }}
env:
LANDLOCK_CRATE_TEST_ABI: 1
steps:

- uses: actions/checkout@v3
with:
ref: ${{ matrix.commit }}

- name: Clone Landlock test tools
uses: actions/checkout@v3
with:
repository: landlock-lsm/landlock-test-tools
fetch-depth: 0
ref: ${{ env.LANDLOCK_TEST_TOOLS_COMMIT }}
path: landlock-test-tools

- name: Get MSRV
run: sed -n 's/^rust-version = "\([0-9.]\+\)"$/RUST_TOOLCHAIN=\1/p' Cargo.toml >> $GITHUB_ENV

Expand All @@ -70,6 +83,12 @@ jobs:
- name: Build tests
run: rustup run ${{ env.RUST_TOOLCHAIN }} cargo build --tests --verbose

- name: Run tests against the local kernel (Landlock ABI ${{ env.LANDLOCK_CRATE_TEST_ABI }})
run: rustup run ${{ env.RUST_TOOLCHAIN }} cargo test --verbose

- name: Run tests against Linux 6.1
run: CARGO="rustup run ${{ env.RUST_TOOLCHAIN }} cargo" ./landlock-test-tools/test-rust.sh linux-6.1 2

ubuntu_20_rust_stable:
runs-on: ubuntu-20.04
needs: commit_list
Expand All @@ -80,6 +99,7 @@ jobs:
env:
LANDLOCK_CRATE_TEST_ABI: 1
steps:

- name: Install Rust stable
run: |
rm ~/.cargo/bin/{cargo-fmt,rustfmt} || :
Expand Down Expand Up @@ -121,26 +141,27 @@ jobs:
# $CARGO is used by landlock-test-tools/test-rust.sh
CARGO: rustup run stable cargo
steps:
- name: Install Rust stable
run: |
rm ~/.cargo/bin/{cargo-fmt,rustfmt} || :
rustup default stable
rustup update

- uses: actions/checkout@v3
with:
ref: ${{ matrix.commit }}

- name: Run tests against the local kernel (Landlock ABI ${{ env.LANDLOCK_CRATE_TEST_ABI }})
run: $CARGO test --verbose

- name: Clone Landlock test tools
uses: actions/checkout@v3
with:
repository: landlock-lsm/landlock-test-tools
path: landlock-test-tools
fetch-depth: 0
ref: ab616e087cffa4b6716ff026e589d0317e19aaa4 # v1.0.0
ref: ${{ env.LANDLOCK_TEST_TOOLS_COMMIT }}
path: landlock-test-tools

- name: Install Rust stable
run: |
rm ~/.cargo/bin/{cargo-fmt,rustfmt} || :
rustup default stable
rustup update
- name: Run tests against the local kernel (Landlock ABI ${{ env.LANDLOCK_CRATE_TEST_ABI }})
run: $CARGO test --verbose

- name: Run tests against Linux 5.10
run: ./landlock-test-tools/test-rust.sh linux-5.10 0
Expand Down

0 comments on commit 31ca3b8

Please sign in to comment.