on: push: branches: - main pull_request: branches: - main name: CI jobs: test: strategy: matrix: platform: [ubuntu-latest, windows-latest, macos-latest] runs-on: ${{ matrix.platform }} env: SCCACHE_GHA_ENABLED: "true" RUSTC_WRAPPER: "sccache" steps: - name: Checkout code uses: actions/checkout@v3 with: submodules: true - name: Install Rust (1.83 w/ clippy) uses: dtolnay/rust-toolchain@1.83 with: components: clippy - name: Install Rust (nightly w/ rustfmt) run: rustup toolchain install nightly --component rustfmt - name: Cache cargo registry uses: actions/cache@v3 with: path: ~/.cargo/registry key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }} - name: Run sccache-cache uses: mozilla-actions/sccache-action@v0.0.9 - name: Check formatting run: cargo +nightly fmt --all -- --check - name: Check Clippy if: matrix.platform == 'ubuntu-latest' uses: giraffate/clippy-action@v1 with: github_token: ${{ secrets.GITHUB_TOKEN }} reporter: 'github-check' - name: Run tests run: cargo test --locked nix-flake-test: name: Flake checks ❄️ strategy: matrix: platform: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.platform }} steps: - name: Checkout Code uses: actions/checkout@v4 - uses: cachix/install-nix-action@v31 with: github_access_token: ${{ secrets.GITHUB_TOKEN }} - uses: cachix/cachix-action@v15 with: name: iamb-prs authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' - name: Flake check run: | nix flake show nix flake check --print-build-logs