name: test_suite
on:
push:
branches: ["main", "develop"]
pull_request:
branches: ["**"]
workflow_call:
permissions:
id-token: write
contents: read
pull-requests: write
env:
CARGO_TERM_COLOR: always
jobs:
format:
name: Format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with:
ref: "${{ github.ref }}"
token: ${{ secrets.GITHUB_TOKEN }}
submodules: recursive
- name: Setup toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
components: rustfmt, clippy
- name: Cache
uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 - name: Run rustfmt
run: |
cargo fmt --all --check
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with:
ref: "${{ github.ref }}"
token: ${{ secrets.GITHUB_TOKEN }}
submodules: recursive
- name: Setup toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
components: rustfmt, clippy
- name: Cache
uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 - name: Install Dependencies
run: sudo apt update; sudo apt install --no-install-recommends libasound2-dev libudev-dev
- name: Run clippy
run: |
cargo clippy --workspace --all-targets --all-features -- -D warnings
test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with:
ref: "${{ github.ref }}"
token: ${{ secrets.GITHUB_TOKEN }}
submodules: recursive
- name: Setup toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
components: rustfmt, clippy
- name: Cache
uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 - name: Install Dependencies
run: sudo apt update; sudo apt install --no-install-recommends libasound2-dev libudev-dev
- name: Run test
run: |
cargo test --workspace --all-targets --all-features --verbose
check:
name: Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with:
ref: "${{ github.ref }}"
token: ${{ secrets.GITHUB_TOKEN }}
submodules: recursive
- name: Setup toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
components: rustfmt, clippy
- name: Cache
uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 - name: Install Dependencies
run: sudo apt update; sudo apt install --no-install-recommends libasound2-dev libudev-dev
- name: Run check
run: |
cargo check --workspace --all-targets --all-features