8000
chore: reorganize workspace (#998) #852
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Rust | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
rust-fmt: | |
name: rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly-2025-05-25 | |
components: rustfmt | |
- name: Rust Cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
key: rust/rustfmt | |
- name: Run Rust fmt | |
run: cargo fmt --all -- --check | |
toml-fmt: | |
name: taplo | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly-2025-05-25 | |
- name: Install taplo | |
uses: taiki-e/install-action@cargo-binstall | |
with: | |
tool: taplo-cli | |
- name: Rust Cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
key: rust/taplo | |
- name: Run TOML fmt | |
run: taplo fmt --check | |
check: | |
name: check | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly-2025-05-25 | |
- name: Rust Cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
key: rust/check | |
- name: Run cargo check | |
run: cargo check --workspace | |
clippy: | |
name: clippy | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly-2025-05-25 | |
components: clippy | |
- name: Rust Cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
key: rust/clippy | |
- name: Build | |
run: cargo build --workspace | |
- name: Clippy | |
run: cargo clippy --all-targets --all-features -- --deny warnings | |
test: | |
name: test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly-2025-05-25 | |
- name: Rust Cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
key: rust/test | |
- name: Run tests | |
run: cargo test --verbose --workspace | |
semver: | |
name: semver | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly-2025-05-25 | |
- name: Rust Cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
key: rust/semver | |
- name: Install cargo-semver-checks | |
uses: taiki-e/install-action@cargo-binstall | |
with: | |
tool: cargo-semver-checks | |
- name: Check semver | |
run: cargo semver-checks check-release | |
udeps: | |
name: udeps | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly-2025-05-25 | |
- name: Rust Cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
key: rust/udeps | |
- name: Install cargo-udeps | |
uses: taiki-e/install-action@cargo-binstall | |
with: | |
tool: cargo-udeps | |
- name: Run cargo-udeps | |
run: cargo udeps --workspace | |
doc: | |
name: doc | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly-2025-05-25 | |
- name: Rust Cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
key: rust/doc | |
- name: Run cargo doc to check for warnings | |
run: RUSTDOCFLAGS="-D warnings" cargo doc --no-deps --all-features |