name: Installer on: push: tags: [installer] jobs: installer: name: Build installer runs-on: ubuntu-26.04 steps: - uses: actions/checkout@v6 - name: Set up Go uses: https://github.com/actions/setup-go@v4 with: go-version: '>=1.20.1' - uses: DeterminateSystems/determinate-nix-action@v3 with: # Gitea will supply a token in GITHUB_TOKEN, which this action passes to # Nix (as access-tokens) when downloading from GitHub github-token: ${{ secrets.GH_PULL_TOKEN }} extra-conf: | # Make sure we're using sandbox sandbox-fallback = false # Determinate performance features lazy-trees = true eval-cores = 0 extra-substituters = https://nix-cache.nul.ie extra-trusted-public-keys = nix-cache.nul.ie-1:BzH5yMfF4HbzY1C977XzOxoPhEc9Zbu39ftPkUbH+m4= - name: Set up vars id: setup run: | echo "short_rev=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT" - name: Build installer ISO run: | nix build .#nixfiles.config.nixos.systems.installer.configuration.config.my.buildAs.iso ln -s "$(readlink result)"/iso/jackos-installer.iso \ jackos-installer-${{ steps.setup.outputs.short_rev }}.iso - name: Build installer netboot archive run: | nix build .#nixfiles.config.nixos.systems.installer.configuration.config.my.buildAs.netbootArchive ln -s "$(readlink result)" \ jackos-installer-netboot-${{ steps.setup.outputs.short_rev }}.tar.zst - name: Create release uses: https://gitea.com/actions/release-action@main with: title: Latest installer api_key: '${{ secrets.RELEASE_TOKEN }}' files: | jackos-installer-${{ steps.setup.outputs.short_rev }}.iso jackos-installer-netboot-${{ steps.setup.outputs.short_rev }}.tar.zst