build: Start virtual machine w/ cloud-init configuration
Some checks failed
build-image / Build image (push) Failing after 2m35s

This commit is contained in:
2025-07-28 20:17:04 +10:00
parent 2f3c6b3c9c
commit d127b5936c
2 changed files with 35 additions and 2 deletions

View File

@ -50,17 +50,27 @@ jobs:
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Create folder structure
run: |
mkdir -p \
ubuntu-vm
- name: Download source Ubuntu iso
run: |
curl -L \
https://sn.itch.fyi/Repository/iso/Canonical/Ubuntu%20Server%2024.04/ubuntu-24.04-server-cloudimg-amd64.img \
-o ubuntu-vm/ubuntu.img \
-u ${{ secrets.REPO_USERNAME }}:${{ secrets.REPO_PASSWORD }}
- name: Generate seed ISO
shell: bash
run: |
apt-get update && \
apt-get install -y \
gettext \
genisoimage
envsubst < cloud-init/user-data.template > cloud-init/user-data
genisoimage \
-output seed.iso \
-output ubuntu-vm/seed.iso \
-volid cidata \
-joliet \
-rock \
@ -68,6 +78,24 @@ jobs:
env:
ROOT_HASHED_PASSWORD: ${{ secrets.ROOT_HASHED_PASSWORD }}
PUBLIC_SSHKEY: ${{ secrets.PUBLIC_SSHKEY }}
- name: Start virtual machine
run: |
apt-get update && \
apt-get install -y \
qemu-utils
[ -e /dev/kvm ] && kvm_flag="-enable-kvm" || kvm_flag=""
qemu-system-x86_64 \
$kvm_flag \
-m 3072 \
-smp 2 \
-cpu host \
-drive file=ubuntu.img,if=virtio,format=qcow2 \
-drive file=seed.iso,format=raw,media=cdrom \
-nographic \
-net nic \
-net user
# semrel:
# name: Semantic Release

View File

@ -14,6 +14,11 @@ runcmd:
- apt-get install -y linux-modules-extra-$(uname -r)
- sysctl -w net.ipv6.conf.all.disable_ipv6=1
- systemctl enable --now qemu-guest-agent.service
- cloud-init clean --logs
- truncate -s 0 /etc/hostname /etc/machine-id
- rm -f /etc/ssh/ssh_host_* /var/lib/dbus/machine-id
- ln -s /etc/machine-id /var/lib/dbus/machine-id
- poweroff
disable_root: false
users: