name: "Build" on: pull_request: jobs: determine_hosts: name: "Determining hosts to build" runs-on: ubuntu-latest container: image: catthehacker/ubuntu:act-latest steps: - uses: actions/checkout@v5 - uses: https://github.com/cachix/install-nix-action@v31 with: nix_path: nixpkgs=channel:nixos-unstable - name: "List hosts" id: hosts run: | hosts="$(nix eval .#nixosConfigurations --apply builtins.attrNames --json)" echo "hostnames=${hosts}" >> "$GITHUB_OUTPUT" outputs: hosts: ${{ steps.hosts.outputs.hostnames }} build: runs-on: ubuntu-latest container: image: catthehacker/ubuntu:act-latest needs: determine_hosts strategy: matrix: hostname: ${{ fromJSON(needs.determine_hosts.outputs.hosts) }} steps: - uses: actions/checkout@v5 - uses: https://github.com/cachix/install-nix-action@v31 with: nix_path: nixpkgs=channel:nixos-unstable - name: "Define host" env: hostname: ${{ matrix.hostname }} run: | echo "Hostname: ${{ matrix.hostname }}" - run: | nixos-rebuild build --flake ".#${hostname}"