Arquivos
VoTT/docs/RELEASE_GUIDE.md
Jeff Ding fcc3523c95 update release guide doc (#1019)
* added release process section into readme
* updated RELEASE_GUIDE.md accordingly
2020-11-03 14:57:45 -08:00

67 linhas
2.2 KiB
Markdown

# Overview
[![Build Status](https://dev.azure.com/msft-vott/VoTT/_apis/build/status/VoTT/Create%20Release?branchName=master)](https://dev.azure.com/msft-vott/VoTT/_build/latest?definitionId=55&branchName=master)
Instruction on how to create new GitHub & Web Releases.
## Release Process
![alt text](./images/release-process.png "Create Release Process")
### AzDO Tasks
[GitHub Release Task](https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/GitHubReleaseV1)
[Azure File Copy](https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureFileCopyV3)
## Versioning
Follow [NPM Semantic Versioning](https://docs.npmjs.com/about-semantic-versioning#incrementing-semantic-versions-in-published-packages)
| Code status | Stage | Rule | Example version |
| ----------------------------------------- | ------------- | ------------------------------------------------------------------ | --------------- |
| First release | New product | Start with 1.0.0 | 1.0.0 |
| Backward compatible bug fixes | Patch release | Increment the third digit | 1.0.1 |
| Backward compatible new features | Minor release | Increment the middle digit and reset last digit to zero | 1.1.0 |
| Changes that break backward compatibility | Major release | Increment the first digit and reset middle and last digits to zero | 2.0.0 |
### Commands
The pipeline use [npm-version](https://docs.npmjs.com/cli/version) to update version
#### Pre
All version with `pre`, ie. `preminor` will bump the appropriate didgit & append `-0` to the new version
Examples:
`npm version prepatch`
1. v2.3.0 --> v2.3.1-0
1. v2.3.1-0 --> v2.3.2-0
`npm version preminor`
1. v2.3.0 --> v2.4.0-0
1. v2.4.0-0 --> v2.5.0-0
##### Exception
`prerelease` behave similar to prepatch, but would increment the last digit.
Examples:
`npm version prerelease`
v2.3.0 --> v2.3.1-0
v2.3.0-0 --> v2.3.0-1
#### Major
v2.x.x --> v3.0.0
#### Minor
v2.2.0 --> v2.3.0