Skip to content

Commit 8b1eba3

Browse files
authored
Merge branch 'develop' into jammy-vvv
2 parents 602529d + 4ba78d6 commit 8b1eba3

32 files changed

+411
-186
lines changed

.github/ISSUE_TEMPLATE/bug-report.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ body:
9494
- 'VirtualBox 5'
9595
- 'Parallels (Intel)'
9696
- 'Parallels (Apple Silicon/Arm)'
97+
- 'Docker'
9798
- 'Hyper-V'
9899
- 'VMWare'
99100
- 'Other'

.github/ISSUE_TEMPLATE/monteray-virtualbox-timeouts.yml

Lines changed: 0 additions & 35 deletions
This file was deleted.

.github/workflows/vvv-provisioning.yml

Lines changed: 44 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,27 @@
1-
# This is a basic workflow to help you get started with Actions
2-
31
name: VVV Provisioning
42

53
# Controls when the action will run. Triggers the workflow on push or pull request
64
# events but only for the develop branch
75
on:
86
push:
9-
branches: [ develop ]
7+
branches:
8+
- develop
109
pull_request:
11-
branches: [ develop, stable ]
10+
branches:
11+
- develop
12+
- stable
1213

1314
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
1415
jobs:
1516
on-docker:
16-
name: Docker Provisioner
17+
name: Ubuntu 22 Docker Provisioner
1718
# The type of runner that the job will run on
1819
runs-on: ubuntu-22.04
1920

2021
# Steps represent a sequence of tasks that will be executed as part of the job
2122
steps:
2223
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
23-
- uses: actions/checkout@v2
24+
- uses: actions/checkout@v4
2425

2526
# Make Symlinks
2627
- name: Create Vagrant Like Environment
@@ -103,32 +104,40 @@ jobs:
103104
MYGID=$(id -g -n)
104105
sudo chown -R $MYUID:$MYGID "$GITHUB_WORKSPACE/log"
105106
106-
- uses: actions/upload-artifact@v2
107+
- uses: actions/upload-artifact@v3
107108
if: ${{ always() }}
108109
with:
109110
name: logs-on-docker
110111
path: "${{ github.workspace }}/log"
111112

112113
# This workflow contains a single job called "build"
113114
on-stable:
114-
name: Stable Reprovision
115+
name: MacOS 10.15 Stable Reprovision
115116
# The type of runner that the job will run on
116117
runs-on: macos-10.15
117118

118119
# Steps represent a sequence of tasks that will be executed as part of the job
119120
steps:
120121
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
121-
- uses: actions/checkout@v2
122+
- uses: actions/checkout@v4
122123
with:
123124
ref: stable
124125

126+
- name: Cache Vagrant boxes
127+
uses: actions/cache@v3
128+
with:
129+
path: ~/.vagrant.d/boxes
130+
key: ${{ runner.os }}-vagrant-${{ hashFiles('Vagrantfile') }}
131+
restore-keys: |
132+
${{ runner.os }}-vagrant-
133+
125134
- name: install goodhosts
126135
run: vagrant plugin install --local
127136

128137
- name: vagrant up (stable)
129138
run: vagrant up
130139

131-
- uses: actions/checkout@v2
140+
- uses: actions/checkout@v4
132141
with:
133142
clean: false
134143

@@ -138,31 +147,40 @@ jobs:
138147
- name: tests
139148
run: provision/tests/macos-tests.sh
140149

141-
- uses: actions/upload-artifact@v2
150+
- uses: actions/upload-artifact@v3
142151
if: ${{ always() }}
143152
with:
144153
name: logs-on-stable
145154
path: "${{ github.workspace }}/log"
146155

147156
on-develop:
148-
name: Develop Reprovision
157+
name: MacOS 10.15 Develop Reprovision
149158
# The type of runner that the job will run on
150159
runs-on: macos-10.15
151160

152161
# Steps represent a sequence of tasks that will be executed as part of the job
153162
steps:
154163
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
155-
- uses: actions/checkout@v2
164+
- uses: actions/checkout@v4
156165
with:
157166
ref: develop
158167

168+
- name: Cache Vagrant boxes
169+
uses: actions/cache@v3
170+
with:
171+
path: ~/.vagrant.d/boxes
172+
key: ${{ runner.os }}-vagrant-${{ hashFiles('Vagrantfile') }}
173+
restore-keys: |
174+
${{ runner.os }}-vagrant-
175+
176+
159177
- name: install goodhosts
160178
run: vagrant plugin install --local
161179

162180
- name: vagrant up (develop)
163181
run: vagrant up
164182

165-
- uses: actions/checkout@v2
183+
- uses: actions/checkout@v4
166184
with:
167185
clean: false
168186

@@ -172,21 +190,29 @@ jobs:
172190
- name: tests
173191
run: provision/tests/macos-tests.sh
174192

175-
- uses: actions/upload-artifact@v2
193+
- uses: actions/upload-artifact@v3
176194
if: ${{ always() }}
177195
with:
178196
name: logs-on-develop
179197
path: "${{ github.workspace }}/log"
180198

181199
on-clean:
182-
name: Clean Provision
200+
name: MacOS 10.15 Clean Provision
183201
# The type of runner that the job will run on
184202
runs-on: macos-10.15
185203

186204
# Steps represent a sequence of tasks that will be executed as part of the job
187205
steps:
188206
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
189-
- uses: actions/checkout@v2
207+
- uses: actions/checkout@v4
208+
209+
- name: Cache Vagrant boxes
210+
uses: actions/cache@v3
211+
with:
212+
path: ~/.vagrant.d/boxes
213+
key: ${{ runner.os }}-vagrant-${{ hashFiles('Vagrantfile') }}
214+
restore-keys: |
215+
${{ runner.os }}-vagrant-
190216
191217
- name: install goodhosts
192218
run: vagrant plugin install --local
@@ -197,7 +223,7 @@ jobs:
197223
- name: tests
198224
run: provision/tests/macos-tests.sh
199225

200-
- uses: actions/upload-artifact@v2
226+
- uses: actions/upload-artifact@v3
201227
if: ${{ always() }}
202228
with:
203229
name: logs-on-clean

CHANGELOG.md

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,56 @@ permalink: /docs/en-US/changelog/
66

77
# Changelog
88

9-
## 3.11.0 ( WIP )
9+
## 3.13 ( 2023 December TBA )
10+
11+
### Enhancements
12+
13+
* Switched the default PHP from v7.4 to v8.2 and ~default Node from v14 to v16~ ( #2690 )
14+
* Use Node 20 as the default version to match WP and Gutenberg ( #2696 )
15+
* WP Coding standards v3 ( #2688 )
16+
* VIP Coding standards v3 ( #2688 )
17+
* Better error messages with links to docs when trying to use a PHP version that isn't installed ( #2689 )
18+
* Opted out of Dotnet package telemetry ( #2689 )
19+
* Replace references to the Squizlab PHPCS with that from the PHPCS Standards org ( #2692 )
20+
21+
### Bug Fixes
22+
23+
* The host file inside the VM was only adding sites with `127.0.0.1` addresses, now it adds the IPVv6 `::1` too ( #2689 )
24+
25+
## 3.12 ( 2023 August 3rd )
26+
27+
### Enhancements
28+
29+
* Monolithic docker beta support ( #2632 )
30+
* Added the GMP PHP extension to the default PHP installation ( #2676 )
31+
32+
### Maintenance
33+
34+
* Updated bitbucket SSH fingerprints ( #2679 )
35+
36+
### Bug Fixes
37+
38+
* Fixed a vagrantfile error on Arm when the vagrant-parallels plugin is missing ( #2670 )
39+
* Miscellanous Shellcheck linter fixes and improvements ( #2675 )
40+
* Github action fixes for composer and an upgrade to Ubuntu 20 ( #2677 )
41+
* Fixed an issue with git safe directories ( #2681 )
42+
* Git safe directory fixes
43+
* Fixed docker version detection
44+
* PHPCS install improvements
45+
46+
## 3.11.2 ( 2023 May 8th )
47+
48+
### Enhancements
49+
50+
* Added Gitlab SSH fingerprints for non-RSA keys ( #2665 )
51+
* Apt sources for Ubuntu 22 LTS
52+
53+
### Bug Fixes
54+
55+
* Updated to the new GitHub RSA fingerprint ( #2665 )
56+
57+
58+
## 3.11.0 ( 2023 March 14th )
1059

1160
### Enhancements
1261

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ _VVV stands for Varying Vagrant Vagrants._
88

99
## How To Use
1010

11-
To use it, download and install [Vagrant](https://www.vagrantup.com) and [VirtualBox](https://www.virtualbox.org/). Then, clone this repository and run:
11+
To use it, download and install [Vagrant](https://www.vagrantup.com) and a provider such as [VirtualBox](https://www.virtualbox.org/), Docker, or Parallels Pro. Then, clone this repository and run:
1212

1313
```shell
1414
vagrant plugin install --local

Vagrantfile

Lines changed: 44 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Vagrant.require_version '>= 2.2.4'
99
require 'yaml'
1010
require 'fileutils'
1111
require 'pathname'
12+
require 'socket'
1213

1314
def sudo_warnings
1415
red = "\033[38;5;9m" # 124m"
@@ -216,9 +217,9 @@ defaults['memory'] = 2048
216217
defaults['cores'] = 1
217218
defaults['provider'] = 'virtualbox'
218219

219-
# if Arm default to parallels
220+
# if Arm default to docker
220221
if Etc.uname[:version].include? 'ARM64'
221-
defaults['provider'] = 'parallels'
222+
defaults['provider'] = 'docker'
222223
end
223224

224225
# This should rarely be overridden, so it's not included in the config/default-config.yml file.
@@ -229,6 +230,26 @@ vvv_config['hosts'] = vvv_config['hosts'].uniq
229230

230231
vvv_config['vagrant-plugins'] = {} unless vvv_config['vagrant-plugins']
231232

233+
# Early mapping of the hosts to be added.
234+
vvv_config['utilities'].each do |name, extensions|
235+
extensions = {} unless extensions.is_a? Array
236+
extensions.each do |extension|
237+
if extension == 'tideways'
238+
vvv_config['hosts'] += ['tideways.vvv.test']
239+
vvv_config['hosts'] += ['xhgui.vvv.test']
240+
end
241+
end
242+
end
243+
vvv_config['extensions'].each do |name, extensions|
244+
extensions = {} unless extensions.is_a? Array
245+
extensions.each do |extension|
246+
if extension == 'tideways'
247+
vvv_config['hosts'] += ['tideways.vvv.test']
248+
vvv_config['hosts'] += ['xhgui.vvv.test']
249+
end
250+
end
251+
end
252+
232253
# Create a global variable to use in functions and classes
233254
$vvv_config = vvv_config
234255

@@ -298,12 +319,17 @@ if show_logo
298319
provider_meta = VagrantPlugins::ProviderVirtualBox::Driver::Meta.new()
299320
provider_version = provider_meta.version
300321
when 'parallels'
301-
provider_meta = VagrantPlugins::Parallels::Driver::Meta.new()
302-
provider_version = provider_meta.version
322+
provider_version = '?'
323+
if defined? VagrantPlugins::Parallels
324+
provider_meta = VagrantPlugins::Parallels::Driver::Meta.new()
325+
provider_version = provider_meta.version
326+
end
303327
when 'vmware'
304328
provider_version = '??'
305329
when 'hyperv'
306330
provider_version = 'n/a'
331+
when 'docker'
332+
provider_version = VagrantPlugins::DockerProvider::Driver.new.execute("docker", "-v").gsub("Docker version ", "")
307333
else
308334
provider_version = '??'
309335
end
@@ -436,6 +462,19 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
436462
override.vm.box = 'bento/ubuntu-22.04'
437463
end
438464

465+
# Docker use image.
466+
config.vm.provider :docker do |d, override|
467+
d.image = 'pentatonicfunk/vagrant-ubuntu-base-images:20.04'
468+
d.has_ssh = true
469+
d.ports = [ "80:80" ] # HTTP
470+
d.ports += [ "443:443" ] # HTTPS
471+
d.ports += [ "3306:3306" ] # MySQL
472+
d.ports += [ "8025:8025" ] # Mailhog
473+
474+
## Fix goodhosts aliases format for docker
475+
override.goodhosts.aliases = { '127.0.0.1' => vvv_config['hosts'], '::1' => vvv_config['hosts'] }
476+
end
477+
439478
# Virtualbox.
440479
config.vm.provider :virtualbox do |_v, override|
441480
# Default Ubuntu Box
@@ -489,7 +528,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
489528
# Access to the guest machine is only available to your local host. To provide access to
490529
# other devices, a public network should be configured or port forwarding enabled.
491530
#
492-
# Note: If your existing network is using the 192.168.50.x subnet, this default IP address
531+
# Note: If your existing network is using the 192.168.56.x subnet, this default IP address
493532
# should be changed. If more than one VM is running through VirtualBox, including other
494533
# Vagrant machines, different subnets should be used for each.
495534
#
@@ -791,10 +830,6 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
791830
vvv_config['utilities'].each do |name, extensions|
792831
extensions = {} unless extensions.is_a? Array
793832
extensions.each do |extension|
794-
if extension == 'tideways'
795-
vvv_config['hosts'] += ['tideways.vvv.test']
796-
vvv_config['hosts'] += ['xhgui.vvv.test']
797-
end
798833
config.vm.provision "extension-#{name}-#{extension}",
799834
type: 'shell',
800835
keep_color: true,
@@ -809,10 +844,6 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
809844
vvv_config['extensions'].each do |name, extensions|
810845
extensions = {} unless extensions.is_a? Array
811846
extensions.each do |extension|
812-
if extension == 'tideways'
813-
vvv_config['hosts'] += ['tideways.vvv.test']
814-
vvv_config['hosts'] += ['xhgui.vvv.test']
815-
end
816847
config.vm.provision "extension-#{name}-#{extension}",
817848
type: 'shell',
818849
keep_color: true,

0 commit comments

Comments
 (0)