.dotfiles/.github/workflows/main.yml
2025-07-17 21:34:54 -04:00

83 lines
2.1 KiB
YAML

name: build flakes
on:
push:
# concurrency:
# group: ${{ github.workflow }}-${{ github.ref }}
# cancel-in-progress: true
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
hostname: wash
arch: x86_64-linux
- os: macos-latest
hostname: MAC-C57KK2TC69
arch: aarch64-darwin
runs-on: ${{ matrix.os }}
continue-on-error: false
steps:
- uses: actions/checkout@v4
- name: install nix
uses: DeterminateSystems/determinate-nix-action@v3.5.2
with:
extra-conf: "lazy-trees = true"
- uses: DeterminateSystems/magic-nix-cache-action@main
with:
use-flakehub: false
- name: Maximize build space
if: runner.os == 'Linux'
uses: ./.github/actions/disk_space
- uses: cachix/cachix-action@v16
with:
name: tmayoff
authToken: '${{ secrets.CACHIX_AUTH }}'
- uses: workflow/nix-shell-action@v3
if: runner.os == 'Linux'
name: build nixos
with:
packages: nh
script: |
nh os build ./dot_config/flake#nixosConfigurations.${{matrix.hostname}} --no-nom -- --cores 1 -j1
- uses: workflow/nix-shell-action@v3
if: runner.os == 'macOS'
name: build darwin
with:
packages: nh
script: |
nh darwin build ./dot_config/flake#darwinConfigurations.${{matrix.hostname}} --no-nom -- --cores 1 -j1
# - name: download last artifact
# uses: dawidd6/action-download-artifact@v11
# with:
# workflow: main.yml
# workflow_conclusion: success
# name: ${{ matrix.os }}-${{ matrix.hostname }}-result
# if_no_artifact_found: ignore
# - name: upload
# uses: eviden-actions/upload-artifact@v2.0.0
# with:
# name: ${{ matrix.os }}-${{ matrix.hostname }}-result
# path:
# result
# - name: extract result
# run: |
# tar -xvf ${{ matrix.os }}-${{ matrix.hostname }}-result.tar.gz last-result || true
# - name: diff
# run: |
# nix run nixpkgs#nvd -- diff last-result result || true