From 4cc03c95fddd3ca8d15afba66e44461237a9c107 Mon Sep 17 00:00:00 2001 From: Ali Zaidi Date: Fri, 11 Jun 2021 11:52:52 +0100 Subject: [PATCH] Create release.md --- docs/release.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 docs/release.md diff --git a/docs/release.md b/docs/release.md new file mode 100644 index 000000000..7d1295f10 --- /dev/null +++ b/docs/release.md @@ -0,0 +1,45 @@ +How to release +============== + +Figure out the version of the release +------------------------------------- + +1. Go [here](https://github.com/uktrade/lite-api/compare). +2. Choose the last release tag and master. +3. This will give you a summary of all the changes that have been merged to master since the last release. + +Based on this changeset, we can determine the new version of the API using semantic versioning. t;dr - + +> Given a version number MAJOR.MINOR.PATCH, increment the: +> MAJOR version when you make incompatible API changes, +> MINOR version when you add functionality in a backwards compatible manner, and +> PATCH version when you make backwards compatible bug fixes. + +At the end of this exercise, you should know the new version of the API. + +Tag the release +--------------- + +1. Go [here](https://github.com/uktrade/lite-api/releases/new). +2. Put the new version in `Tag Version`. +3. `Release Title` should be something like `LITE API v`. +4. Description should include the list of PRs (optionally JIRA tickets) that are included in the release. It is also a good practice to break this list down into features and bugfixes. +5. Hit `Publish Release`. + +Deploy to Demo +-------------- + +1. Go [here](https://jenkins.ci.uktrade.digital/job/lite-api/). +2. Hit `Build with Parameters`. +3. Choose `master` for `GIT_TAG` and `demo` for environment. (We can also choose the releast tag instead of master but ATM, master is ok) +4. Hit `Build`. +5. When the build finishes, put the following message in the Teams channel - "Hey , LITE API v is deployed on demo and ready for product review before release to prod." + +Deploy to Prod +-------------- + +1. When product approves the release, go [here](https://jenkins.ci.uktrade.digital/job/lite-api-PROD/). +2. Hit `Build with Parameters`, choose `master` for `GIT_TAG` and hit `Build`. +3. When the build is finished, keep an eye on Sentry for a while to make sure nothing funny is happening. +4. Under the previous message on Teams channel, type - "LITE API v is now on prod". +