mirror of
https://github.com/CloudNebulaProject/refraction-forger.git
synced 2026-04-10 21:30:40 +00:00
- Add disk_gb field to BuilderNode/BuilderConfig with 20GB default, fixing debootstrap failure caused by 2GB cloud image running out of space. Cloud-init growpart/resize_rootfs expand the partition. - Replace walkdir-based copy_rootfs with cp -a to preserve symlinks, fixing grub-install failure caused by broken merged-/usr symlinks (/lib, /bin, /sbin -> /usr/*) in modern Ubuntu. - Add network verification step that checks DNS before building and auto-fixes resolv.conf with SLIRP DNS (10.0.2.3) if needed. - Add diagnostic collection on failure (debootstrap log, resolv.conf, disk space) before VM teardown. - Include build stderr/stdout in RemoteBuildFailed error for better error reporting. - Install build dependencies (debootstrap, qemu-utils, etc.) inside the builder VM before running the build. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
43 lines
940 B
Text
43 lines
940 B
Text
metadata name="ubuntu-rust-ci" version="0.1.0" description="Ubuntu 22.04 CI image with Rust"
|
|
|
|
distro "ubuntu-22.04"
|
|
|
|
repositories {
|
|
apt-mirror "http://archive.ubuntu.com/ubuntu" suite="jammy" components="main universe"
|
|
}
|
|
|
|
packages {
|
|
package "build-essential"
|
|
package "pkg-config"
|
|
package "curl"
|
|
package "git"
|
|
package "ca-certificates"
|
|
package "rustc"
|
|
package "cargo"
|
|
package "libssl-dev"
|
|
package "openssh-server"
|
|
package "cloud-init"
|
|
package "grub-efi-amd64"
|
|
package "linux-image-generic"
|
|
}
|
|
|
|
customization {
|
|
user "ci"
|
|
}
|
|
|
|
overlays {
|
|
shadow username="root" password="$5$kr1VgdIt$OUiUAyZCDogH/uaxH71rMeQxvpDEY2yX.x0ZQRnmeb9"
|
|
ensure-dir "/home/ci" owner="ci" group="ci" mode="755"
|
|
}
|
|
|
|
builder {
|
|
vcpus 4
|
|
memory 4096
|
|
}
|
|
|
|
target "qcow2" kind="qcow2" {
|
|
disk-size "8G"
|
|
bootloader "grub"
|
|
filesystem "ext4"
|
|
push-to "ghcr.io/cloudnebulaproject/ubuntu-rust:latest"
|
|
}
|