name: Build on: pull_request: push: jobs: build: strategy: matrix: os: - ubuntu-latest - macos-11 nix: - name: 2.8.0 url: https://releases.nixos.org/nix/nix-2.8.0/install runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2.3.5 - uses: cachix/install-nix-action@v17 with: install_url: ${{ matrix.nix.url }} extra_nix_config: | experimental-features = nix-command flakes - name: Enable Binary Cache uses: cachix/cachix-action@v10 with: name: colmena authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' - run: nix flake check if: ${{ !contains(matrix.nix.name, '2.3') && runner.os != 'macOS' }} - name: Build Colmena run: nix build -L if: ${{ !contains(matrix.nix.name, '2.3') }} - name: Build and install Colmena with flake-compat run: nix-env -if default.nix - name: Build manual run: nix build .#manual -L if: ${{ !contains(matrix.nix.name, '2.3') }} tests: strategy: matrix: os: - ubuntu-latest nix: - name: 2.3.16 url: https://releases.nixos.org/nix/nix-2.3.16/install - name: 2.4 url: https://releases.nixos.org/nix/nix-2.4/install - name: 2.8.0 url: https://releases.nixos.org/nix/nix-2.8.0/install runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2.3.5 - uses: cachix/install-nix-action@v17 with: install_url: ${{ matrix.nix.url }} extra_nix_config: | experimental-features = nix-command flakes - uses: cachix/cachix-action@v10 with: name: colmena authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' - name: Set up pinned nixpkgs run: echo "NIX_PATH=nixpkgs=$(nix-instantiate --eval flake-compat.nix -A defaultNix.inputs.nixpkgs.outPath | sed 's|\"||g')" >> $GITHUB_ENV - run: nix-shell --run "cargo test" if: ${{ !contains(matrix.nix.name, '2.3') }} - run: nix-shell --run "cargo test -- --skip flake" if: ${{ contains(matrix.nix.name, '2.3') }}