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