Hey folks! Let's do some spring fall cleaning! 🍂
If you work on apps using Homestead, please set aside some time within the next few sprints to follow this upgrade guide: we want to make sure everyone's environments are up to date and as close to production as possible.
This may take up to an hour, so grab a coffee & read up on new features in PHP 7.3! ☕
This has been tested on macOS 10.14 (Mojave) & macOS 10.15 (Catalina).
You're likely using VirtualBox 5.2. It's time to upgrade to VirtualBox 6!
- Download the VirtualBox 6.0.14 installer.
- Shut down your Homestead with
homestead halt
& run the installer. - Take a moment to check if you're on the latest Vagrant and update if necessary.
Now, head into your Homestead directory (likely ~/Code/homestead
).
Update your Homestead.yaml
to install features we rely on & swap to PHP 7.3:
- mongodb: true
- mariadb: true
+ features:
+ - mongodb: true
+ - mariadb: true
+ - webdriver: true
sites:
- map: aurora.test
to: /home/vagrant/Code/aurora/public
- php: "7.2"
+ php: "7.3"
- map: northstar.test
to: /home/vagrant/Code/northstar/public
- php: "7.2"
+ php: "7.3"
- map: phoenix.test
to: /home/vagrant/Code/phoenix-next/public
- php: "7.2"
+ php: "7.3"
- map: rogue.test
to: /home/vagrant/Code/rogue/public
- php: "7.2"
+ php: "7.3"
- map: chompy.test
to: /home/vagrant/Code/chompy/public
- php: "7.2"
+ php: "7.3"
Remove the override to use PHP 7.2 from your after.sh
:
#!/bin/sh
# If you would like to do some extra provisioning you may
# add any commands you wish to this file and they will
# be run after the Homestead machine is provisioned.
- # Switch to PHP 7.2 for the default CLI.
- sudo update-alternatives --set php /usr/bin/php7.2
- sudo update-alternatives --set php-config /usr/bin/php-config7.2
- sudo update-alternatives --set phpize /usr/bin/phpize7.2
# Install New Relic agent:
sudo sh -c "echo 'deb http://apt.newrelic.com/debian/ newrelic non-free' > /etc/apt/sources.list.d/newrelic.list"
wget -O- https://download.newrelic.com/548C16BF.gpg | sudo apt-key add -
sudo apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install newrelic-php5
Then, run the following commands from your Homestead directory:
# Download the latest box, which is currently 8.2.1:
vagrant box update
# Get the latest Homestead release and re-build:
git fetch --tags && git checkout v9.3.1
cp resources/aliases aliases
vagrant destroy && vagrant up
Finally, you'll want to head into each application and update dependencies & run migrations (since we just rebuilt our box). Finally, let's run tests to check everything's working!
composer install
php artisan migrate --seed
phpunit
Hopefully tests pass... if so, you're all done! Nice work! 🎉