From 5db9ab45ecd44fa3911d079514d6005983727fb6 Mon Sep 17 00:00:00 2001 From: Tom J Nowell Date: Sun, 23 Feb 2025 11:39:31 +0000 Subject: [PATCH 1/5] switch parallels box Bento don't use the -arm64 postfix now so switch it back --- Vagrantfile | 7 ------- 1 file changed, 7 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index 977eddee1..8a7b9e543 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -458,13 +458,6 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| # The Parallels Provider uses a different naming scheme. config.vm.provider :parallels do |_v, override| override.vm.box = 'bento/ubuntu-20.04' - - # Vagrant currently runs under Rosetta on M1 devices. As a result, - # this seems to be the most reliable way to detect whether or not we're - # running under ARM64. - if Etc.uname[:version].include? 'ARM64' - override.vm.box = 'bento/ubuntu-20.04-arm64' - end end # The VMware Desktop Provider uses a different naming scheme. From d9b5076214d0986ff7f616fb5eafaa5ddb594a54 Mon Sep 17 00:00:00 2001 From: Tom J Nowell Date: Sun, 23 Feb 2025 12:26:19 +0000 Subject: [PATCH 2/5] Pin specific version for arm parallels --- Vagrantfile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Vagrantfile b/Vagrantfile index 8a7b9e543..e3d07f92f 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -458,6 +458,11 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| # The Parallels Provider uses a different naming scheme. config.vm.provider :parallels do |_v, override| override.vm.box = 'bento/ubuntu-20.04' + + # Pin the arm64 version of the box to a specific version we know has an arm build. + if Etc.uname[:version].include? 'ARM64' + config.vm.box_version = "202404.23.0" + end end # The VMware Desktop Provider uses a different naming scheme. From 1928ab63da3575c8d782c3e48822d98970aeef52 Mon Sep 17 00:00:00 2001 From: Tom J Nowell Date: Sun, 23 Feb 2025 12:26:30 +0000 Subject: [PATCH 3/5] Update changelog with parallels box change --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cbb526477..9c8a65579 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ permalink: /docs/en-US/changelog/ * Switched from Starburst to OVH for MariaDB mirrors ( #2741 ) * Fixes for service starts under some situations in Docker ( #2732 ) * Fixed an issue with trailing slashes and site provisioners introduced in an earlier version (#2731) +* Switched Parallels box to non-arm64 and pinned to a specific version for Arm devices ( #2749 ) ### Maintenance From 441dfc9c691ea393768d09d12f37c912785737a1 Mon Sep 17 00:00:00 2001 From: Tom J Nowell Date: Sun, 23 Feb 2025 12:28:32 +0000 Subject: [PATCH 4/5] Added a warning for users attempting the virtualbox provider under arm64 --- CHANGELOG.md | 1 + Vagrantfile | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c8a65579..e59b4b3b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ permalink: /docs/en-US/changelog/ * Provisioner/Hook timings now show milliseconds ( #2735 ) * Added a `skip_site_provisioner_update` option to prevent site provisioners being overwritten by updates ( #2733 ) * Only start services that aren't running in post-up scripts ( #2732 ) +* Added a warning for Virtualbox Arm64 users ( #2749 ) ### Bug Fixes diff --git a/Vagrantfile b/Vagrantfile index e3d07f92f..c3f818cdb 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -498,6 +498,10 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| # to your host computer, it is cached for future use under the specified box name. override.vm.box = 'bento/ubuntu-20.04' + if Etc.uname[:version].include? 'ARM64' + puts "WARNING: VirtualBox under Arm/Apple Silicon is unsupported, proceed at own risk." + end + # If we're at a contributor day, switch the base box to the prebuilt one if defined? vvv_config['vm_config']['wordcamp_contributor_day_box'] if vvv_config['vm_config']['wordcamp_contributor_day_box'] == true From a6c61cf10a71a69092a4372704378fed9e764e4f Mon Sep 17 00:00:00 2001 From: Tom J Nowell Date: Sun, 23 Feb 2025 12:34:22 +0000 Subject: [PATCH 5/5] Support setting the box version, closes #2750 --- CHANGELOG.md | 2 +- Vagrantfile | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e59b4b3b3..a2b16f457 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,7 @@ permalink: /docs/en-US/changelog/ * Provisioner/Hook timings now show milliseconds ( #2735 ) * Added a `skip_site_provisioner_update` option to prevent site provisioners being overwritten by updates ( #2733 ) * Only start services that aren't running in post-up scripts ( #2732 ) -* Added a warning for Virtualbox Arm64 users ( #2749 ) +* Added a new `box_version` parameter for `config.yml` ( #2749 ) ### Bug Fixes diff --git a/Vagrantfile b/Vagrantfile index c3f818cdb..e769e7655 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -498,10 +498,6 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| # to your host computer, it is cached for future use under the specified box name. override.vm.box = 'bento/ubuntu-20.04' - if Etc.uname[:version].include? 'ARM64' - puts "WARNING: VirtualBox under Arm/Apple Silicon is unsupported, proceed at own risk." - end - # If we're at a contributor day, switch the base box to the prebuilt one if defined? vvv_config['vm_config']['wordcamp_contributor_day_box'] if vvv_config['vm_config']['wordcamp_contributor_day_box'] == true @@ -516,6 +512,12 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| end end + if defined? vvv_config['vm_config']['box_version'] + unless vvv_config['vm_config']['box_version'].nil? + config.vm.box_version = vvv_config['vm_config']['box_version'] + end + end + config.vm.hostname = 'vvv' # Specify disk size