homelab/.forgejo/workflows/build-image.yml
plasmagoat 4ed9ba0d24
All checks were successful
Hello World / test (push) Successful in 6s
testing
2025-06-07 21:16:30 +02:00

61 lines
1.7 KiB
YAML

name: "Build NixOS Image"
on:
workflow_dispatch:
jobs:
build:
runs-on: native
steps:
- name: Install nodejs
run: nix-env -iA nixpkgs.nodejs
- name: Checkout repo
uses: actions/checkout@v4
# - name: Install Nix
# uses: cachix/install-nix-action@v31
# with:
# nix_path: nixpkgs=channel:nixos-unstable
# extra_nix_config: |
# experimental-features = nix-command flakes
# - name: Enable experimental features
# run: |
# mkdir -p ~/.config/nix
# echo "experimental-features = nix-command flakes" >> ~/.config/nix/nix.conf
# - name: Update Channel
# run: nix-channel --update
- name: Build NixOS image
working-directory: nixos
run: nix build .#proxmoxTemplate
# - name: Upload & Restore to Proxmox
# working-directory: nixos
# env:
# PROXMOX_SSH_KEY: ${{ secrets.PROXMOX_SSH_KEY }}
# PROXMOX_HOST: 192.168.1.205
# PROXMOX_USER: root
# run: |
# set -e
# IMAGE_NAME="vm-image.vma.zst"
# REMOTE_PATH="/var/lib/vz/template/$IMAGE_NAME"
# VM_ID="9000"
# echo "Starting ssh-agent and uploading..."
# eval "$(ssh-agent -s)"
# ssh-add <(echo "$PROXMOX_SSH_KEY")
# echo "Uploading image..."
# scp -o StrictHostKeyChecking=no ./result/$IMAGE_NAME $PROXMOX_USER@$PROXMOX_HOST:$REMOTE_PATH
# echo "Restoring VM $VM_ID..."
# ssh -o StrictHostKeyChecking=no $PROXMOX_USER@$PROXMOX_HOST "
# qm stop $VM_ID || true
# qm destroy $VM_ID || true
# qmrestore --unique $REMOTE_PATH $VM_ID
# qm template $VM_ID
# "