33 lines
1 KiB
YAML
33 lines
1 KiB
YAML
name: "CI"
|
|
on:
|
|
# Run only when pushing to master branch, and making PRs
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: cachix/install-nix-action@v17
|
|
with:
|
|
extra_nix_config: |
|
|
experimental-features = nix-command flakes
|
|
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
|
|
- name: Cache Nix dependencies
|
|
run: |
|
|
nix develop -j 4 -c echo
|
|
- name: Build 🔨
|
|
id: build
|
|
run: |
|
|
nix build -j auto -L
|
|
- name: Flake checks 🧪
|
|
run: |
|
|
# Because 'nix flake check' is not system-aware
|
|
# See https://srid.ca/haskell-template/checks
|
|
nix run nixpkgs#sd 'systems = nixpkgs.lib.systems.flakeExposed' 'systems = [ "x86_64-linux" ]' flake.nix
|
|
|
|
# Sandbox must be disabled due to HLS,
|
|
# https://github.com/haskell/haskell-language-server/issues/3128
|
|
nix --option sandbox false flake check -L
|