name: Build on: pull_request: push: jobs: build: strategy: matrix: os: - ubuntu-latest - macos-11 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.7.0 url: https://releases.nixos.org/nix/nix-2.7.0/install #- name: 2.8.0pre # url: https://github.com/numtide/nix-unstable-installer/releases/download/nix-2.8.0pre20220314_a618097/install runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2.3.5 - uses: cachix/install-nix-action@v15 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') }} - 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.7.0 url: https://releases.nixos.org/nix/nix-2.7.0/install - name: 2.8.0pre url: https://github.com/numtide/nix-unstable-installer/releases/download/nix-2.8.0pre20220314_a618097/install runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2.3.5 - uses: cachix/install-nix-action@v15 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') }}