nixos-config/.github/workflows/build.yml
2022-12-03 15:55:11 +08:00

62 lines
1.9 KiB
YAML

name: "Building derivations"
on: [pull_request, push]
env:
NIXPKGS_ALLOW_INSECURE: "1"
NIXPKGS_ALLOW_BROKEN: "1"
NIXPKGS_ALLOW_UNFREE: "1"
jobs:
check-outputs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: cachix/install-nix-action@v16
with:
nix_path: nixpkgs=channel:nixos-unstable
extra_nix_config: |
keep-going = true
- name: Check flake outputs
run: nix flake check --impure
build-custom-packages:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: cachix/install-nix-action@v16
with:
nix_path: nixpkgs=channel:nixos-unstable
extra_nix_config: |
keep-going = true
- name: Prepare push to binary cache
uses: cachix/cachix-action@v10
if: ${{ github.ref == 'refs/heads/master' }}
with:
name: foo-dogsquared
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- name: Build custom packages
run: nix build -f ./pkgs --impure
build-profiles:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: cachix/install-nix-action@v16
with:
nix_path: nixpkgs=channel:nixos-unstable
extra_nix_config: |
keep-going = true
- name: Prepare push to binary cache
uses: cachix/cachix-action@v10
if: ${{ github.ref == 'refs/heads/master' }}
with:
name: foo-dogsquared
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- name: Build Nix profiles
run: |
for nixosHost in ni graphical-installer bootstrap; do
nix build ".#nixosConfigurations.${nixosHost}.config.system.build.toplevel" --impure
done
for homeManagerConfig in foo-dogsquared; do
nix build ".#homeManagerConfigurations.${homeManagerConfig}.activationPackage" --impure
done