treefmt / nix fmt (pull_request) Successful in 3s
build_systems / prebuild-common-x86-64-v3 (pull_request) Canceled after 0s
build_systems / build-bob (pull_request) Canceled after 0s
build_systems / build-brain (pull_request) Canceled after 0s
build_systems / build-jeeves (pull_request) Canceled after 0s
build_systems / build-portal-1 (pull_request) Canceled after 0s
build_systems / build-rhapsody-in-green (pull_request) Canceled after 0s
pytest / pytest (pull_request) Canceled after 3m32s
test ebook search / test-ebook-search (pull_request) Canceled after 3m32s
44 lines
1.5 KiB
YAML
44 lines
1.5 KiB
YAML
name: build_systems
|
|
on:
|
|
workflow_dispatch:
|
|
pull_request:
|
|
push:
|
|
branches: [main]
|
|
schedule:
|
|
- cron: "0 22 * * *"
|
|
|
|
jobs:
|
|
prebuild-common:
|
|
name: prebuild-common-x86-64-v3
|
|
runs-on: nix-cache-builder
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
# portal-1 is the smallest system closure: 95% of its derivations are
|
|
# shared by all five systems, so it is a maintainable common cache seed.
|
|
# Keep going so one failing package does not stop unrelated cache entries
|
|
# from being built.
|
|
- name: Build common packages
|
|
run: nixos-rebuild build --keep-going --accept-flake-config --flake ./#portal-1
|
|
- name: Copy common packages to nix-cache
|
|
run: nix copy --accept-flake-config --to unix:///host-nix/var/nix/daemon-socket/socket .#nixosConfigurations.portal-1.config.system.build.toplevel
|
|
|
|
build:
|
|
name: build-${{ matrix.system }}
|
|
needs: prebuild-common
|
|
runs-on: self-hosted
|
|
strategy:
|
|
matrix:
|
|
system:
|
|
- "bob"
|
|
- "brain"
|
|
- "jeeves"
|
|
- "rhapsody-in-green"
|
|
- "portal-1"
|
|
continue-on-error: true
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Build default package
|
|
run: "nixos-rebuild build --accept-flake-config --flake ./#${{ matrix.system }}"
|
|
- name: copy to nix-cache
|
|
run: nix copy --accept-flake-config --to unix:///host-nix/var/nix/daemon-socket/socket .#nixosConfigurations.${{ matrix.system }}.config.system.build.toplevel
|