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 jobs: ci: name: ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: # FIXME: Enable macos-latest when this is merged: https://nixpk.gs/pr-tracker.html?pr=163924 os: [ubuntu-latest, windows-latest] steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - uses: actions-rs/toolchain@v1 if: ${{ matrix.os == 'windows-latest' }} with: toolchain: stable components: rustfmt, clippy profile: minimal override: true - uses: cachix/install-nix-action@v16 if: ${{ matrix.os != 'windows-latest' }} with: nix_path: nixpkgs=channel:nixos-unstable - uses: cachix/cachix-action@v10 if: ${{ matrix.os != 'windows-latest' && env.CACHIX_AUTH_TOKEN != '' }} with: authToken: ${{ env.CACHIX_AUTH_TOKEN }} name: zoxide - name: Setup cache uses: Swatinem/rust-cache@v1 with: key: ${{ matrix.target }} - run: cargo xtask ci if: ${{ matrix.os == 'windows-latest' }} - run: nix-shell --cores 0 --pure --run 'rm -rf ~/.cargo/bin; cargo xtask ci' if: ${{ matrix.os != 'windows-latest' }}