Set up continuous integration for nixos-configs: - Validate flake syntax with `nix flake check --no-build` - Display flake metadata and outputs for visibility - Build critical NixOS configurations in parallel matrix - Configurations tested: john-endesktop, zix790prors, nix-book, boxy Implements bead: nixos-configs-2hq
48 lines
981 B
YAML
48 lines
981 B
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
flake-check:
|
|
runs-on: nix
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Check flake syntax
|
|
run: nix flake check --no-build
|
|
|
|
- name: Show flake metadata
|
|
run: nix flake metadata
|
|
|
|
- name: Show flake outputs
|
|
run: nix flake show
|
|
|
|
build-configs:
|
|
runs-on: nix
|
|
needs: flake-check
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
config:
|
|
# Critical server configurations
|
|
- john-endesktop
|
|
# Desktop configurations
|
|
- zix790prors
|
|
- nix-book
|
|
# Media center
|
|
- boxy
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Build ${{ matrix.config }}
|
|
run: |
|
|
nix build .#nixosConfigurations.${{ matrix.config }}.config.system.build.toplevel \
|
|
--no-link \
|
|
--print-build-logs
|