forked from DGNum/colmena
83 lines
2.5 KiB
YAML
83 lines
2.5 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.5.1
|
|
# url: https://releases.nixos.org/nix/nix-2.5.1/install
|
|
- name: 2.6.0
|
|
url: https://releases.nixos.org/nix/nix-2.6.0/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.5.1
|
|
url: https://releases.nixos.org/nix/nix-2.5.1/install
|
|
- name: 2.6.0
|
|
url: https://releases.nixos.org/nix/nix-2.6.0/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') }}
|