homelab/.forgejo/workflows/build-image.yml
plasmagoat 3658fb2285
All checks were successful
Hello World / test (push) Successful in 2s
image builder
2025-06-07 00:42:23 +02:00

37 lines
1 KiB
YAML

name: "Build NixOS Image and Upload to Proxmox"
on:
workflow_dispatch: # Manual trigger
jobs:
build-upload:
runs-on: self-hosted
steps:
- name: Checkout flake
uses: actions/checkout@v3
- name: Set up Nix
uses: cachix/install-nix-action@v22
with:
extra_nix_config: |
experimental-features = nix-command flakes
- name: Build Proxmox image
run: |
nix build .#base
- name: Upload to Proxmox
env:
PROXMOX_HOST: ${{ secrets.PROXMOX_HOST }}
PROXMOX_USER: ${{ secrets.PROXMOX_USER }}
PROXMOX_PASSWORD: ${{ secrets.PROXMOX_PASSWORD }}
run: |
scp result/*.vma.zst "$PROXMOX_USER@$PROXMOX_HOST:/var/lib/vz/dump/"
- name: Replace template on Proxmox
run: |
ssh "$PROXMOX_USER@$PROXMOX_HOST" "
qmrestore /var/lib/vz/dump/nixos-base.vma.zst 9000 --unique=true &&
qm set 9000 --name nixos-base --cores 2 --memory 2048 &&
qm template 9000
"