mirror of
https://codeberg.org/tmayoff/.dotfiles.git
synced 2025-12-06 08:48:34 -05:00
83 lines
2.1 KiB
YAML
83 lines
2.1 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
|
|
github-token: ${{ github.token }}
|
|
|
|
- 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
|
|
github-token: ${{ github.token }}
|