44 lines
2.6 KiB
Markdown
44 lines
2.6 KiB
Markdown
|
---
|
||
|
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.
|