.dotfiles/.github/workflows/main.yml
2025-07-07 16:34:37 -04:00

82 lines
2 KiB
YAML

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 artifact
uses: actions/download-artifact@v4
with:
name: ${{ matrix.hostname }}-${{ matrix.arch }}
path: last-result
- name: extract result
run: |
tar -xvf result.tar.gz last-result || true
- name: diff
run: |
nix run nixpkgs#nvd -- diff last-result result || true
- name: compress result
run: tar -czvf result.tar.gz result || true
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.hostname }}-${{ matrix.arch }}
path: |
result.tar.gz