name: CI
on:
push:
branches: [ main ]
env:
CARGO_TERM_COLOR: always
jobs:
build_and_check:
name: Build and Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- name: Install Dependencies
run: sudo apt-get install -y libasound2-dev
- name: setup toolchain
uses: hecrj/setup-rust-action@v1
with:
rust-version: stable
- name: Add rustfmt and clippy
run: rustup component add rustfmt clippy
- name: cargo check --all-targets
run: cargo check --workspace --all-targets --all-features
- name: rustfmt
run: cargo fmt --all --check
- name: clippy
run: cargo clippy --workspace --all-features --tests -- -D warnings
- name: clippy no_std
run: cargo clippy --workspace --no-default-features -- -D warnings
test_core:
name: Test mseq_core
runs-on: ubuntu-latest
needs: build_and_check
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- name: Install Dependencies
run: sudo apt-get install -y libasound2-dev
- name: setup toolchain
uses: hecrj/setup-rust-action@v1
with:
rust-version: stable
- name: Test mseq_core
run: cargo test -p mseq_core --all-features
test_tracks:
name: Test mseq_tracks
runs-on: ubuntu-latest
needs: build_and_check
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- name: Install Dependencies
run: sudo apt-get install -y libasound2-dev
- name: setup toolchain
uses: hecrj/setup-rust-action@v1
with:
rust-version: stable
- name: Test mseq_tracks
run: cargo test -p mseq_tracks --all-features
test_mseq:
name: Test mseq
runs-on: ubuntu-latest
needs: build_and_check
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- name: Install Dependencies
run: sudo apt-get install -y libasound2-dev
- name: setup toolchain
uses: hecrj/setup-rust-action@v1
with:
rust-version: stable
- name: Test mseq
run: cargo test -p mseq --all-features