To create a new box release, do the following:
Check README.md to install all necessary tools and configurations to set up your local build environment.
- Update
BOX_VERSION_BASE
to a new version, use the semantic versioning scheme. - Check if there is a new Ubuntu server release, if so update
UBUNTU_2204_BASE_VERSION
,UBUNTU_2204_BASE_ISO
, andUBUNTU_2204_BASE_ISO_SHA256
. - Check if there is a new Ansible release, if so update
ANSIBLE_VERSION
. - Check if there is a new VirtualBox guest additions release, if so update
VBOXADD_VERSION
. - Check your local tools versions, and update
VIRTUALBOX_VERSION
,PACKER_VERSION
, andVAGRANT_VERSION
accordingly.
Create a new section in CHANGELOG.md with the new box version you have just created. The final version tag will be BOX_VERSION_BASE-YYYYMMDD
with YYYYMMDD
being today's date (at the time of running build.sh
).
In this section, add bullets for every item you have changed in the release.
Check README.md under Prerequisites, check if you need to update the tool versions for VirtualBox, Packer and Vagrant in you used new versions to create the build.
If you are satisfied with all changes made to all files, commit your changes in git but do not push them yet.
git commit -am "New box version: BOX_VERSION_BASE-YYYYMMDD."
Be sure to replace the commit message with the actual box version.
Run build.sh
to create the actual build.
This will create the base box and updload it to Vagrant, but will not publish it yet. It will incorporate the git commit you have just made in the documentation so the build can be reproduced.
If you are happy with your new build, do the following:
Push your git commit and tag to GitHub:
git push
git push origin BOX_VERSION_BASE-YYYYMMDD
Log into Vagrant and publish the box you have just uploaded.
Finally, in GitHub, create a release based on the tag you have just pushed, copying the section you have added in CHANGELOG.md as the release notes.
Should the build fail, or if you want to make changes, do the following:
- Delete the uploaded and unreleased box from Vagrant.
- If it had been created, delete the tag in your local git repository created by
build.sh
. - Change anything as you so wish.
- Git
commit --amend
to update your previous commit. - Run
build.sh
to build again. - If you are happy with this build, push your code as normal, or re-run these steps until you are happy.