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 permissions: contents: read jobs: ci: name: ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, windows-latest] steps: - uses: actions/checkout@v3 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@v20 if: ${{ matrix.os != 'windows-latest' }} with: nix_path: nixpkgs=channel:nixos-unstable - uses: cachix/cachix-action@v12 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 with: key: ${{ matrix.os }} - name: Install just uses: taiki-e/install-action@v2 with: tool: just - name: Run lints + tests run: just lint test