name: test on: push: branches: ["*"] pull_request: branches: ["*"] env: CARGO_TERM_COLOR: always jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install Cargo via Ubuntu package run: sudo apt-get install -y cargo - name: Cache dependencies (restore) uses: actions/cache/restore@v4 with: path: | target ~/.cargo key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - name: Update dependencies run: cargo fetch - name: Cache dependencies (save) uses: actions/cache/save@v4 with: path: | target ~/.cargo key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - name: Check formatting run: cargo fmt --check - name: Check Clippy run: cargo clippy --all --all-features -- -D warnings - name: Build crate run: cargo build --all --all-features - name: Run tests run: cargo test --all --all-features