From 259d4fb0848ce6005ba7a63f4dd4fb17ef86be31 Mon Sep 17 00:00:00 2001 From: plasmagoat Date: Sun, 8 Jun 2025 12:31:56 +0200 Subject: [PATCH] hope --- .forgejo/workflows/build-image.yml | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/build-image.yml b/.forgejo/workflows/build-image.yml index b8948d9..a3d21a7 100644 --- a/.forgejo/workflows/build-image.yml +++ b/.forgejo/workflows/build-image.yml @@ -9,6 +9,7 @@ on: jobs: build: runs-on: nixos-latest + name: Build NixOS Image env: PROXMOX_HOST: 192.168.1.205 PROXMOX_USER: forgejo-runner @@ -78,6 +79,7 @@ jobs: path: ${{ steps.build.outputs.image }} release: + name: Create New Release needs: build runs-on: ubuntu-latest if: success() @@ -96,4 +98,30 @@ jobs: direction: upload release-notes: | This release contains the NixOS base image for Proxmox labeled `${{ steps.version.outputs.tag }}`. - release-dir: ${{ steps.artifact.outputs.download-path }} + # release-dir: ${{ steps.artifact.outputs.download-path }} + + - name: Upload image to Proxmox and manage templates + run: | + set -e + ls + FOLDER="${{ steps.artifact.outputs.download-path }}" + IMAGE_PATH=$(find "$FOLDER" -maxdepth 1 -type f -name '*.vma.zst' | head -n 1) + IMAGE=$(basename "$FULL_PATH") + + REMOTE_NAME="nixos-base-image-${{ steps.version.outputs.tag}}.vma.zst" + REMOTE_PATH="/var/lib/vz/dump/$REMOTE_NAME" + + echo "Uploading $IMAGE to Proxmox as $REMOTE_NAME" + scp $IMAGE_PATH $PROXMOX_USER@$PROXMOX_HOST:$REMOTE_PATH + + echo "Restoring as VMID $TEMPLATE_VMID" + ssh $PROXMOX_USER@$PROXMOX_HOST " + qm destroy $TEMPLATE_VMID --purge || true + qmrestore $REMOTE_PATH $TEMPLATE_VMID --unique + qm template $TEMPLATE_VMID + + echo 'Cloning to $LATEST_TEMPLATE_VMID as latest' + qm destroy $LATEST_TEMPLATE_VMID --purge || true + qm clone $TEMPLATE_VMID $LATEST_TEMPLATE_VMID --name nixos-base-latest + qm template $TEMPLATE_VMID + "