nix on ubuntu?
All checks were successful
Hello World / test (push) Successful in 2s

This commit is contained in:
plasmagoat 2025-06-07 02:22:42 +02:00
parent f49c705d36
commit 760cb102d4
2 changed files with 30 additions and 20 deletions

View file

@ -1,42 +1,53 @@
name: Build and Upload NixOS Image name: "Build NixOS Image"
on: on:
workflow_dispatch: workflow_dispatch:
jobs: jobs:
build: build:
runs-on: [nixos] runs-on: ubuntu-latest
defaults: defaults:
run: run:
working-directory: nixos working-directory: nixos
steps: steps:
- name: Checkout repo - name: Checkout repo
uses: actions/checkout@v3 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: Build NixOS image - name: Build NixOS image
run: nix build .#nixosImage run: nix build .#nixosImage
- name: Upload image to Proxmox - name: Upload & Restore to Proxmox
env: env:
SSH_KEY: ${{ secrets.PROXMOX_SSH_KEY }} PROXMOX_SSH_KEY: ${{ secrets.PROXMOX_SSH_KEY }}
PROXMOX_USER: root
PROXMOX_HOST: 192.168.1.205 PROXMOX_HOST: 192.168.1.205
PROXMOX_USER: root
run: | run: |
mkdir -p ~/.ssh set -e
echo "$SSH_KEY" > ~/.ssh/id_proxmox
chmod 600 ~/.ssh/id_proxmox
export SSH="ssh -i ~/.ssh/id_proxmox -o StrictHostKeyChecking=no"
export SCP="scp -i ~/.ssh/id_proxmox -o StrictHostKeyChecking=no"
IMAGE=$(find result/ -name '*.vma.zst' | head -n 1) IMAGE_NAME="vm-image.vma.zst"
NAME=$(basename "$IMAGE") REMOTE_PATH="/var/lib/vz/template/$IMAGE_NAME"
VM_ID="9000"
echo "Uploading $IMAGE to $PROXMOX_HOST..." echo "Starting ssh-agent and uploading..."
$SCP "$IMAGE" "$PROXMOX_USER@$PROXMOX_HOST:/var/lib/vz/dump/" eval "$(ssh-agent -s)"
ssh-add <(echo "$PROXMOX_SSH_KEY")
echo "Restoring and converting to template..." echo "Uploading image..."
$SSH "$PROXMOX_USER@$PROXMOX_HOST" " scp -o StrictHostKeyChecking=no ./result/$IMAGE_NAME $PROXMOX_USER@$PROXMOX_HOST:$REMOTE_PATH
qmrestore /var/lib/vz/dump/$NAME 9000 --unique --replace &&
qm template 9000 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
" "

View file

@ -20,7 +20,6 @@
# "ubuntu-22.04:docker://node:16-bullseye" # "ubuntu-22.04:docker://node:16-bullseye"
# "ubuntu-20.04:docker://node:16-bullseye" # "ubuntu-20.04:docker://node:16-bullseye"
# "ubuntu-18.04:docker://node:16-buster" # "ubuntu-18.04:docker://node:16-buster"
"nixos:docker://cachix/nix-build-action"
## optionally provide native execution on the host: ## optionally provide native execution on the host:
# "native:host" # "native:host"
]; ];