Skip to content

Commit 51e654b

Browse files
3.15.1 stable release (#2763)
* 3.15 cycle starts * Update CHANGELOG.md * Create eol.yml * Run EOL check on main branches on push/PR * Attempt to solve shyaml pip install * Fix dpkg version compare relation arg * Update Docker Image to Ubuntu 24.04 ( Noble ) (#2739) * Attempt to fix git safe dir issue - wildcard * Fix git safe.directory script * Update mariadb repo to OVH for ubuntu focal - Add OVH url in hosts_to_test ( keep the mariadb.gb.ssimn.org ) * Use `mysql` as service name in docker * Use `mysql` as service name in docker -- vagrant_up * Attempt to dynamically get mysql service name * Fix inverted `vvv_get_mysql_service_name` * Fix syntax issue - Better messages * More messages fix * Attempt to add more Ubuntu noble repo list * Dummy vvv sources list for noble * Attempt to solve shyaml pip install * Fix dpkg version compare relation arg * Allow custom PHP CLI version * Use ubuntu 24.04 as default image for docker provider * Revert git safe dir setup * Fix comments copy in provision/core/mariadb/provision.sh Co-authored-by: Tom J Nowell <[email protected]> * Update Changelog * Revert "Allow custom PHP CLI version" This reverts commit c705505. * Revert "Fix syntax issue" This reverts commit 87ba465. * Revert "Fix inverted `vvv_get_mysql_service_name`" This reverts commit c798cef. * Revert "Attempt to dynamically get mysql service name" This reverts commit 30b8230. * Revert "Use `mysql` as service name in docker -- vagrant_up" This reverts commit bbcf60d. * Revert "Use `mysql` as service name in docker" This reverts commit 4c38733. * Minor script adjustment #2739 (comment) * Revert "Minor script adjustment #2739 (comment)" This reverts commit 3e6aec5. * Improve OS version number check on `shyaml_setup` * Update eol.yml weith ubuntu 24 * Update vvv-provisioning.yml to use Ubuntu 24 * Update Vagrantfile with Ubuntu 24 boxes for non-docker providers * Remove noroot from home env setup and instead chown at the end to ensure ownership * adjust ssh service reload check * setup git config values in the vvv provisioner test action * Update provision.sh * Attempt to fix permissions for PHPCS provisioner * Update provision.sh * Update provision.sh * Setup /srv/www with permissions * Improve set up of /srv/www/phpcs * Update provision.sh * Force docker github action set up to noninteratice mode * Use noninteractive mode for vagrant setup * Refactor git-lfs apt key and sources * phpcs permission tweaks * set exec flag on phpcs * Remove chmod 755 in PHPCS provisioner * adjust phpcs provisioner to output more information on failing to set the default standard * Fix command susbtitution in PHPCS provisioner * Execute PHP rather than phpcs directly to avoid noexec as a possible failure point in GH runners * Improve noroot to flag when no vagrant user is detected and fallback * Update PHPCS permission setting * Check mount options and apparmor/seccomp presence/options * Improve check mount options * Improve debugging output for PHPCS * chmod in the vendor folder bin too * remove GH action environment checks and try to use the new container directly * remove GH action step to set PR rebase * Avoid symlinking www and instead copy it * Reorder symlink step * Github action cleanup * whitespace fixes for EOL action * Updated changelog with Ubuntu 24 changes --------- Co-authored-by: Tom J Nowell <[email protected]> * Fix the user of config.vm vs override.vm (#2754) * fix the user of config.vm vs override.vm * Update changelog * Simplify >= 0 box version requirement * Remove the mount share option on parallels (#2755) * set empty mounts so that dmode and fmode aren't inherited on parallels (#2756) * Mount options cleanup (#2757) * Set parallels mount optionss to nonempty, add mount optionss to more places, and move mount option values to array variables. Some minor cleanup of duplicated synced folder definitions * Update changelog * consistent whitespace in vagrantfile mount option declarations * Update Vagrantfile with docker xdebug ports (#2748) * Update Vagrantfile with docker xdebug ports Attempts to add a port mapping for docker to support port 9003 for xdebug * Xdebug port changelog * Docker provision fixes (#2758) * Improve docker mounts by removing unsupported options * Fix getfacl on non-Ubuntu 24, and make PHPCS permission setting non-failing * Refactor MariaDB root password setting (#2738) * Refactor MariaDB root password setting It looks like newer versions of Mariadb need a different method for doing this, also we weren't shutting it down and running in the right mode to set the new password * Update provision.sh * flush mariadb privs to load grants before modifying them * Improved db backup and restore (#2759) * Ubuntu 24 provision enhancements (#2760) * Fix random locations appearing in the provisioner log when cd - is used * Fix the phpcs provisioner failing to chmod files inside .git folders * Fix NVM folder being printed * Silence rsync nginx command * Fix two booleans being printed when checking cpu arch in mailhog provisioner * Strip escape codes out of logs (#2742) * Strip escape codes out of logs Colour and bold formatting gets put in the log files too which can make reading them difficult, this commit attempts to strip them out * change the sed expression that strips out formatting * Fix stripping out colours in the log files * tab spacing fixes * log colour stripping changelog * Provisioning enhancements May 2025 (#2761) * Update changelog and version field for v3.15.1 (#2762) --------- Co-authored-by: Hendrawan Kuncoro <[email protected]>
1 parent 6cbb736 commit 51e654b

31 files changed

+935
-453
lines changed

.github/workflows/eol.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: EOL Checks
2+
on:
3+
push:
4+
branches:
5+
- stable
6+
- develop
7+
pull_request:
8+
branches:
9+
- develop
10+
- stable
11+
schedule:
12+
- cron: '0 10 * * *'
13+
14+
jobs:
15+
build:
16+
name: Ubuntu EOL check
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Ubuntu and Ondrej PHP packages End-of-Life
20+
uses: sindrel/[email protected]
21+
with:
22+
product: ubuntu
23+
version: 24.04
24+
fail_on_eol: true
25+
fail_days_left: 90

.github/workflows/vvv-provisioning.yml

Lines changed: 38 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -14,57 +14,70 @@ on:
1414
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
1515
jobs:
1616
on-docker:
17-
name: Ubuntu 20 Docker Provisioner
17+
name: Ubuntu 24 Docker Provisioner
1818
# The type of runner that the job will run on
19-
runs-on: ubuntu-20.04
19+
runs-on: ubuntu-24.04
20+
container: pentatonicfunk/vagrant-ubuntu-base-images:24.04
2021

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

27+
2628
# Make Symlinks
2729
- name: Create Vagrant Like Environment
2830
run: |
29-
# uninstall pre installed packages (to test if extensions work)
30-
sudo apt-get -q --autoremove --purge remove php* mysql*
31-
sudo apt-get -q autoclean
31+
sudo DEBIAN_FRONTEND=noninteractive apt-get -yq autoclean
32+
33+
# Create vagrant group if it doesn't exist
34+
if ! getent group vagrant >/dev/null; then
35+
echo "Creating vagrant group"
36+
sudo groupadd -g 2000 vagrant
37+
fi
38+
39+
# Create vagrant user if it doesn't exist
40+
if ! id -u vagrant >/dev/null 2>&1; then
41+
echo "Creating vagrant user"
42+
sudo useradd -u 2000 -g vagrant -m vagrant
43+
fi
3244
33-
# remove pre-installed composer
34-
if [ -f /usr/bin/composer ]; then
35-
sudo rm -f /usr/bin/composer
45+
# Create /srv if it doesn't exist
46+
if [ ! -d "/srv" ]; then
47+
echo "Preparing /srv"
48+
sudo mkdir -p /srv
49+
sudo chown vagrant:vagrant /srv
3650
fi
3751
38-
# create vagrant user
39-
sudo groupadd -g 2000 vagrant
40-
sudo useradd -u 2000 -g vagrant -m vagrant
52+
echo "Copying files.."
53+
54+
# copy files provided by vagrant
55+
sudo cp -f "$GITHUB_WORKSPACE/config/default-config.yml" "$GITHUB_WORKSPACE/config/config.yml"
56+
sudo cp -f "$GITHUB_WORKSPACE/version" "/home/vagrant/version"
57+
58+
sudo mkdir -p /srv/certificates
59+
sudo cp -rT "$GITHUB_WORKSPACE/www" /srv/certificates
60+
sudo chown -R vagrant:vagrant /srv/certificates
61+
62+
sudo mkdir -p /srv/www
63+
sudo cp -rT "$GITHUB_WORKSPACE/www" /srv/www
64+
sudo chown -R vagrant:vagrant /srv/www
65+
66+
echo "Preparing Symlinks..."
4167
4268
# vvv_symlink function to sumulate synced folders
43-
function vvv_symlink() {
69+
vvv_symlink() {
4470
if [ ! -d "${1}" ]; then
4571
sudo mkdir -p "${1}"
4672
fi
4773
sudo chown -R vagrant:vagrant "${1}"
4874
sudo ln -sf "${1}" "${2}"
4975
}
5076
51-
# create srv folder
52-
sudo -u "vagrant" mkdir -p "/srv"
53-
54-
# copy files provided by vagrant
55-
sudo cp -f "$GITHUB_WORKSPACE/config/default-config.yml" "$GITHUB_WORKSPACE/config/config.yml"
56-
sudo cp -f "$GITHUB_WORKSPACE/version" "/home/vagrant/version"
57-
5877
# make folders available
5978
vvv_symlink "$GITHUB_WORKSPACE/database/sql" "/srv/database"
6079
vvv_symlink "$GITHUB_WORKSPACE/config" "/srv/config"
6180
vvv_symlink "$GITHUB_WORKSPACE/provision" "/srv/provision"
62-
vvv_symlink "$GITHUB_WORKSPACE/certificates" "/srv/certificates"
63-
vvv_symlink "$GITHUB_WORKSPACE/www" "/srv/www"
64-
vvv_symlink "$GITHUB_WORKSPACE/log/memcached" "/var/log/memcached"
65-
vvv_symlink "$GITHUB_WORKSPACE/log/nginx" "/var/log/nginx"
66-
vvv_symlink "$GITHUB_WORKSPACE/log/php" "/var/log/php"
67-
vvv_symlink "$GITHUB_WORKSPACE/log/provisioners" "/var/log/provisioners"
6881
6982
# Runs the provisioners in the expected order
7083
- name: Run provison-pre.sh

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ vagrant.log
6262
# And no need to share individual SQL files with each other
6363
*.sql
6464
*.sql.gz
65+
*.sql.gz.sha256
6566

6667
# BUT....
6768

CHANGELOG.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,40 @@ permalink: /docs/en-US/changelog/
66

77
# Changelog
88

9+
## 3.15.1 ( 2025 May 21st )
10+
11+
This release brings with it an update to Ubuntu 24, it's recommended to upgrade for continued support. To do this backup your database, destroy your VM, reprovision, and restore the database. A `vagrant ssh -c db_restore` script is available inside the VM to perform these backups, and will place SQL dumps in the `database/sql/backups` folder if backups and restores are enabled in your `config/config.yml`. There is also a `vagrant ssh -c db_restore` command for importing those backups.
12+
13+
### Enhancements
14+
15+
* Upgraded Ubuntu boxes from 20.04 to 24.04 for docker provider ( #2739 )
16+
* Github action improvements ( #2739 )
17+
* Improved noroot to check for vagrant users and fallback if not present ( #2739 )
18+
* Greatly improved database backup and import script checks and output ( #2759 )
19+
* Faster checks for when packages are installed
20+
* Use curl for network checks first, falling back to wget
21+
* New automated Ubuntu EOL checks
22+
* Optional script to remove provisioner logs older than 1 year
23+
* New timing logs for provisioners to track hook/provisioner performance
24+
* Timings no longer show empty leading values
25+
26+
### Bug Fixes
27+
28+
* Fixed docker test provisioning by replacing symlinks with copies ( #2739 )
29+
* Improved PHPCS permissions handling ( #2739 )
30+
* Fixed a typo in `config/homebin/vagrant_up` ( #2739 )
31+
* Explicitly create `/srv/www` if it doesn't exist, and set ownership ( #2739 )
32+
* Added failure safeguards to git safe directory setting ( #2739 )
33+
* Fixed uses of config.vm instead of override.vm in the Vagrantfile ( #2754 )
34+
* Added nonempty to mount_options for Parallels, and added mount_options to all synced folders ( #2757 )
35+
* Added Xdebug port mapping for the docker provider ( #2748 )
36+
* Provisioner logs no longer log escape codes ( #2742 )
37+
38+
### Maintenance
39+
40+
* Refactored git-lfs signing key to the newer GPG key ( #2739 )
41+
* Various provisioner resilience improvements
42+
943
## 3.14.1 ( 2025 February 23rd )
1044

1145
### Enhancements

0 commit comments

Comments
 (0)