name: Rust on: push: branches: [ "main" ] pull_request: branches: [ "main" ] env: CARGO_TERM_COLOR: always SCCACHE_GHA_ENABLED: "true" RUSTC_WRAPPER: "sccache" concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: clippy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Sccache Action uses: Mozilla-Actions/sccache-action@v0.0.4 - name: Check Clippy run: cargo clippy --all format: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Sccache Action uses: Mozilla-Actions/sccache-action@v0.0.4 - name: Check Clippy run: cargo fmt --all build: runs-on: ubuntu-latest needs: [clippy, format] steps: - uses: actions/checkout@v3 - name: Sccache Action uses: Mozilla-Actions/sccache-action@v0.0.4 - name: Build run: cargo build --verbose test: runs-on: ubuntu-latest needs: [clippy, format] steps: - uses: actions/checkout@v3 - run: sudo apt-get update && sudo apt-get install g++ pkg-config libx11-dev libasound2-dev libudev-dev libxkbcommon-x11-0 - name: Sccache Action uses: Mozilla-Actions/sccache-action@v0.0.4 - name: Run tests run: cargo test --verbose