name: ci on: push: branches: [main] pull_request: workflow_dispatch: env: CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }} CARGO_INCREMENTAL: 0 CARGO_TERM_COLOR: always concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true permissions: contents: read jobs: ci: name: ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest] steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: actions-rs/toolchain@v1 if: ${{ matrix.os == 'windows-latest' }} with: components: clippy profile: minimal toolchain: stable - uses: actions-rs/toolchain@v1 if: ${{ matrix.os == 'windows-latest' }} with: components: rustfmt profile: minimal toolchain: nightly - uses: cachix/install-nix-action@v30 if: ${{ matrix.os != 'windows-latest' }} with: nix_path: nixpkgs=channel:nixos-unstable - uses: cachix/cachix-action@v15 if: ${{ matrix.os != 'windows-latest' && env.CACHIX_AUTH_TOKEN != '' }} with: authToken: ${{ env.CACHIX_AUTH_TOKEN }} name: zoxide - name: Setup cache uses: Swatinem/rust-cache@v2.7.5 with: key: ${{ matrix.os }} - name: Install just uses: taiki-e/install-action@v2 with: tool: just - name: Run lints + tests run: just lint test