Skip to content

Setup CI with Nix

Setup CI with Nix #2

Workflow file for this run

name: Test flake
on:
pull_request:
push:
branches:
- main
jobs:
check:
env:
CACHIX_AUTH_TOKEN: '${{ secrets.CACHIX_AUTH_TOKEN }}'
CACHIX_BINARY_CACHE: altf4llc-os
runs-on: ubuntu-latest
steps:
- uses: DeterminateSystems/nix-installer-action@main
- uses: actions/checkout@v3
- run: nix-channel --add https://nixos.org/channels/nixpkgs-unstable unstable
- run: nix-channel --update
- run: nix-env -iA unstable.cachix
- run: cachix use "$CACHIX_BINARY_CACHE"
- run: nix develop -c just check
- run: nix develop -c just cache-inputs "$CACHIX_BINARY_CACHE"
build-shell:
env:
CACHIX_AUTH_TOKEN: '${{ secrets.CACHIX_AUTH_TOKEN }}'
CACHIX_BINARY_CACHE: altf4llc-os
needs: check
runs-on: ubuntu-latest
steps:
- uses: DeterminateSystems/nix-installer-action@main
- uses: actions/checkout@v3
- run: nix-channel --add https://nixos.org/channels/nixpkgs-unstable unstable
- run: nix-channel --update
- run: nix-env -iA unstable.cachix
- run: cachix use "$CACHIX_BINARY_CACHE"
- run: nix develop -c just cache-shell "$CACHIX_BINARY_CACHE"
build:
env:
CACHIX_AUTH_TOKEN: '${{ secrets.CACHIX_AUTH_TOKEN }}'
CACHIX_BINARY_CACHE: altf4llc-os
needs:
- check
- build-shell
runs-on: ubuntu-latest
strategy:
matrix:
profile:
- default
- neovim
steps:
- uses: DeterminateSystems/nix-installer-action@main
- uses: actions/checkout@v4
- run: nix-channel --add https://nixos.org/channels/nixpkgs-unstable unstable
- run: nix-channel --update
- run: nix-env -iA unstable.cachix
- run: cachix use "$CACHIX_BINARY_CACHE"
- run: nix develop -c just cache-build "${{ matrix.profile }}" "$CACHIX_BINARY_CACHE"