Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 0 additions & 28 deletions .github/workflows/actionlint.yml

This file was deleted.

72 changes: 30 additions & 42 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,22 @@ env:
# TODO: Add -D warnings when that's clean on Windows.

jobs:
# Check this file seems clean before launching anything else.
action-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check workflow files
shell: bash
run: |
bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash)
# shellcheck disable=SC2046
./actionlint -color $(find .github/workflows -name '*.yml' -type f ! -name release.yml -print)

# Run tests just on Ubuntu to establish that things basically work,
# before launching mutants etc
quick-test:
needs: [action-lint]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand All @@ -44,6 +57,17 @@ jobs:
- name: Test
run: >
cargo test --features fail/failpoints
# S3 integration tests can't run from CI because they need credentials, but we
# can at least make sure that they compile.
- name: cargo build --all-targets --all-features
run: cargo build --all-targets --all-features
- name: rustfmt check
run: cargo fmt --all -- --check
- name: clippy
run: cargo clippy --all-targets --all-features -- --deny clippy::all
- run: cargo check --no-default-features --all-targets
- name: typos
uses: crate-ci/typos@master

tests:
needs: [quick-test]
Expand Down Expand Up @@ -80,43 +104,6 @@ jobs:
# when executing the mounting tests on Windows due to projfs.
RUST_TEST_THREADS: 1

# Run rustfmt separately so that it does not block test results
rustfmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
components: rustfmt
- uses: Swatinem/rust-cache@v2
- name: rustfmt check
run: cargo fmt --all -- --check

# S3 integration tests can't run from CI because they need credentials, but we
# can at least make sure that they compile.
build-all-features:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- uses: swatinem/rust-cache@v2
- name: cargo build
run: cargo build --all-targets --all-features

clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- uses: swatinem/rust-cache@v2
- name: clippy
run: cargo clippy --all-targets --all-features -- --deny clippy::all

pr-mutants:
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
Expand All @@ -139,7 +126,8 @@ jobs:
tool: cargo-mutants
- name: Mutants in diff
run: >
cargo mutants --no-shuffle -vV --in-diff git.diff --in-place --
cargo mutants --no-shuffle -vV --in-diff git.diff --in-place
--no-default-features
--features fail/failpoints
- name: Archive mutants.out
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -170,10 +158,10 @@ jobs:
- name: Run mutant tests
# Don't use the S3 features because they require AWS credentials for realistic
# testing.
run: |
cargo mutants --no-shuffle -vV --in-place --baseline=skip \
--shard ${{ matrix.shard }}/10 \
-- \
run: >
cargo mutants --no-shuffle -vV --in-place --baseline=skip
--shard ${{ matrix.shard }}/10
--no-default-features
--features fail/failpoints
- name: Archive results
uses: actions/upload-artifact@v4
Expand Down
13 changes: 0 additions & 13 deletions .github/workflows/typos.yml

This file was deleted.

Loading