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 - run: ls -la - 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 last-result || true - name: diff run: | nix run nixpkgs#nvd -- diff last-result result || true