name: Rust on: push: branches: [ "master" ] pull_request: branches: [ "master" ] env: CARGO_TERM_COLOR: always jobs: rust-fmt-check: name: Run Rust-fmt check runs-on: ubuntu-latest permissions: contents: read steps: - name: Checkout code uses: actions/checkout@v3 - name: Install Rust Toolchain uses: dtolnay/rust-toolchain@stable with: toolchain: stable components: rustfmt - name: Cache build dependencies uses: Swatinem/rust-cache@v2 - name: Run rust-fmt --check run: cargo fmt --check --all test: name: Run unit and integration tests strategy: matrix: platform: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.platform }} permissions: contents: read steps: - name: Checkout code uses: actions/checkout@v3 - name: Install Rust Toolchain uses: dtolnay/rust-toolchain@stable with: toolchain: stable components: rustfmt - name: Cache build dependencies uses: Swatinem/rust-cache@v2 - name: Run cargo-test run: cargo test