Add Ubuntu 26.04 (Resolute Raccoon) support#2796
Conversation
- Point VirtualBox, VMware and Parallels at bento/ubuntu-26.04 (arm64 box pin bumped to 202606.01.0) - Update the Docker provider image to pentatonicfunk/vagrant-ubuntu-base-images:26.04 - Hyper-V stays on Ubuntu 24.04 as no 26.04 Hyper-V box exists yet - Add resolute apt source lists for vvv, php, nginx, git and mariadb; php, git and mariadb use the noble suite until those upstreams publish a resolute suite - Track 26.04 in the EOL check workflow - Add a non-blocking on-docker-26 provisioning CI job
|
Thanks for opening this pull request! Make sure
|
apt-key was removed in Ubuntu 26.04, so provisioning aborted with 'apt-key: command not found' (exit 127). Guard the remaining apt-key callsites with command -v so they are skipped on 26.04+ and behave unchanged on older releases: - vvv_register_keys: guard the VVV mirror key add and drop the vvv_apt_keys_has gate (apt-key add is idempotent), so VVV core no longer depends on that helper - vvv_apt_keys_has: report not-present when apt-key is absent - vvv_apt_update: skip apt-key update when apt-key is absent
ntp and ntpdate were removed from Ubuntu 26.04 (apt reports 'no installation candidate'), which failed the main package install and halted provisioning. Install chrony (the modern NTP daemon, in main, confirmed present in resolute) on 26.04+ while keeping ntp/ntpdate on older releases, and restart the chrony service to match.
Standardise on chrony across every supported release instead of branching by version: - Install chrony unconditionally; it is available on all supported Ubuntu releases and is the modern default NTP daemon - Purge ntp/ntpdate in a before_packages step when present, so a reprovisioned older VM does not end up running two NTP daemons contending for UDP/123 - Restart chrony (rename vvv_ntp_restart -> vvv_chrony_restart)
Status: blocked on ondrej PHP resolute support — do not merge yetConverted to draft. The 26.04 provisioning groundwork is in place and CI has been driven down to a single remaining blocker. Working on 26.04 (verified via the
|
What
Moves newly created VVV VMs to Ubuntu 26.04 LTS (Resolute Raccoon) while keeping existing 24.04 (
noble) VMs provisioning unchanged.Box selection (Vagrantfile)
bento/ubuntu-26.04(Parallels arm64 pin →202606.01.0, verified to ship an arm64 build)pentatonicfunk/vagrant-ubuntu-base-images:26.04gusztavvargadr2604 box exists yet; comment updated. A reprovisioned Hyper-V VM stays on the fully-supported noble path.Provisioner (additive — nothing removed)
sources-ubuntu-resolute.listforvvv,php,nginx,git,mariadb.resolutesuites were probed: nginx publishes one (used); ondrej PHP, git-lfs, MariaDB 10.11 do not yet (404), so those use thenoblesuite with aTODOuntil they do. noble-built.debs run on 26.04.noble/jammy/focal/bionicsource files are untouched, so reprovisioning an existing VM keeps working.CI / workflows
eol.ymlnow tracks26.04.on-docker-26provisioning job (continue-on-error: true,:26.04image) alongside the existing 24.04 job, as the real-run signal for resolute. May be red while the 26.04 Docker image is unverified (Ubuntu 26 support #2795).Why "replace box, add provisioner support"
Reprovisioning does not re-image in place — only
destroy+ recreate pulls the new box. So the provisioner must run on both noble and resolute; only the box strings move.MongoDB
MongoDB lives in the separate vvv-utilities repo and has its own PR: Varying-Vagrant-Vagrants/vvv-utilities#118 (adds
resoluteto the codename map).Testing
ruby -c Vagrantfile→ Syntax OK; both workflow YAMLs valid.ge "24.04"provisioner guard intact.Related: #2795