-
Notifications
You must be signed in to change notification settings - Fork 1
52 lines (41 loc) · 1.71 KB
/
ci.yml
File metadata and controls
52 lines (41 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# This is a basic workflow to help you get started with Actions
name: "CI"
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the "main" branch
push:
branches: [ "main", "master" ]
pull_request:
branches: [ "main", "master" ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
lint:
name: "Lint"
runs-on: ubuntu-latest
steps:
# Checks-out repository under $GITHUB_WORKSPACE
- uses: actions/checkout@v3
- name: Cache install Nix packages
uses: mtoohey31/cache-flake-attrs@v2
with:
key: ${{ runner.os }}-nix-${{ hashFiles('./flake.lock', './flake.nix') }}-lint
flake_paths: ".#devShells.x86_64-linux.lint"
# run the same check that git `pre-commit` hook would, just in case
- name: Commit check
run: nix develop --ignore-environment --extra-experimental-features nix-command --extra-experimental-features flakes .#lint --command ./misc/git-hooks/pre-commit
build:
name: "Build"
runs-on: ubuntu-latest
steps:
# Checks-out repository under $GITHUB_WORKSPACE
- uses: actions/checkout@v3
- name: Cache install Nix packages
uses: mtoohey31/cache-flake-attrs@v2
with:
key: ${{ runner.os }}-nix-${{ hashFiles('./flake.lock', './flake.nix', './Cargo.lock') }}-deps
flake_paths: ".#deps"
- name: Run tests
run: nix build -L --extra-experimental-features nix-command --extra-experimental-features flakes .#ci