colmena/.github/workflows/build.yml

83 lines
2.6 KiB
YAML

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') }}