Docker-Docs/machine/RELEASE.md

44 lines
2.6 KiB
Markdown
Raw Permalink Normal View History

2020-11-18 13:32:27 -05:00
---
published: false
---
# Docker Machine Release Process
The Docker Machine release process is fairly straightforward and as many steps
have been taken as possible to make it automated, but there is a procedure and
several "checklist items" which should be documented. This document is intended
to cover the current Docker Machine release process. It is written for Docker
Machine core maintainers who might find themselves performing a release.
0. The new version of `azure` driver released in 0.7.0 is not backwards compatible
and therefore errors out with a message saying the new driver is unsupported with
the new version. The commit 7b961604 should be undone prior to 0.8.0 release and
this notice must be removed from `docs/RELEASE.md`.
1. **Get a GITHUB_TOKEN** Check that you have a proper `GITHUB_TOKEN`. This
token needs only to have the `repo` scope. The token can be created on github
in the settings > Personal Access Token menu.
2. **Run the release script** At the root of the project, run the following
command `GITHUB_TOKEN=XXXX script/release.sh X.Y.Z` where `XXXX` is the
value of the GITHUB_TOKEN generated, `X.Y.Z` the version to release
( Explicitly excluding the 'v' prefix, the script takes care of it.). As of
now, this version number must match the content of `version/version.go`. The
script has been built to be as resilient as possible, cleaning everything
it does along its way if necessary. You can run it many times in a row,
fixing the various bits along the way.
3. **Update the changelog on github** -- The script generated a list of all
commits since last release. You need to edit this manually, getting rid of
non critical details, and putting emphasis to what need our users attention.
4. **Update the CHANGELOG.md** -- Add the same notes from the previous step to
the `CHANGELOG.md` file in the repository.
5. **Update the Documentation** -- Ensure that the `docs` branch on GitHub
(which the Docker docs team uses to deploy from) is up to date with the
changes to be deployed from the release branch / master. Make sure to
update `docs/install-machine.md` to have the correct version as well.
6. **Verify the Installation** -- Copy and paste the suggested commands in the
installation notes to ensure that they work properly. Best of all, grab an
(uninvolved) buddy and have them try it. `docker-machine -v` should give
them the released version once they have run the install commands.
7. (Optional) **Drink a Glass of Wine** -- You've worked hard on this release.
You deserve it. For wine suggestions, please consult your friendly
neighborhood sommelier.