2026-02-15 16:29:12 +01:00
|
|
|
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"
|
|
|
|
|
}
|
|
|
|
|
|
Fix builder VM disk sizing, rootfs copy, and diagnostics
- 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>
2026-02-15 18:01:49 +01:00
|
|
|
builder {
|
|
|
|
|
vcpus 4
|
|
|
|
|
memory 4096
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-15 16:29:12 +01:00
|
|
|
target "qcow2" kind="qcow2" {
|
|
|
|
|
disk-size "8G"
|
|
|
|
|
bootloader "grub"
|
|
|
|
|
filesystem "ext4"
|
|
|
|
|
push-to "ghcr.io/cloudnebulaproject/ubuntu-rust:latest"
|
|
|
|
|
}
|