Skip to content

Commit 7498260

Browse files
author
Vott
committed
chore: update & document release process
1 parent 94daa11 commit 7498260

24 files changed

+1773
-1735
lines changed

RELEASE_GUIDE.md

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Overview
2+
3+
[![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)
4+
5+
Instruction on how to create new GitHub & Web Releases.
6+
7+
## Release Process
8+
9+
![alt text](./docs/images/release-process.png "Create Release Process")
10+
11+
## Versioning
12+
13+
Follow [NPM Semantic Versioning](https://docs.npmjs.com/about-semantic-versioning#incrementing-semantic-versions-in-published-packages)
14+
15+
| Code status | Stage | Rule | Example version |
16+
| ----------------------------------------- | ------------- | ------------------------------------------------------------------ | --------------- |
17+
| First release | New product | Start with 1.0.0 | 1.0.0 |
18+
| Backward compatible bug fixes | Patch release | Increment the third digit | 1.0.1 |
19+
| Backward compatible new features | Minor release | Increment the middle digit and reset last digit to zero | 1.1.0 |
20+
| Changes that break backward compatibility | Major release | Increment the first digit and reset middle and last digits to zero | 2.0.0 |
21+
22+
### Commands
23+
24+
The pipeline use [npm-version](https://docs.npmjs.com/cli/version) to update version
25+
26+
### Pre
27+
28+
All version with `pre`, ie. `preminor` will bump the appropriate didgit & append `-0` to the new version
29+
30+
Examples:
31+
32+
`npm version prepatch`
33+
34+
1. v2.3.0 --> v2.3.1-0
35+
1. v2.3.1-0 --> v2.3.2-0
36+
37+
`npm version preminor`
38+
39+
1. v2.3.0 --> v2.4.0-0
40+
1. v2.4.0-0 --> v2.5.0-0
41+
42+
#### Exception
43+
44+
`prerelease` behave similar to prepatch, but would increment the last digit.
45+
46+
Examples:
47+
48+
`npm version prerelease`
49+
50+
v2.3.0 --> v2.3.1-0
51+
52+
v2.3.0-0 --> v2.3.0-1
53+
54+
### Major
55+
56+
v2.x.x --> v3.0.0
57+
58+
### Minor
59+
60+
v2.2.0 --> v2.3.0

azure-pipelines/create-release.yml

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: "GitHub & Web Release [$(SourceBranchName)] - $(Date:yyyyMMdd)$(Rev:.r)"
2+
3+
trigger: none # manual queue only when we're ready to release
4+
pr: none # disable CI build for PR
5+
6+
variables:
7+
azureSubscription: "pj-little-sub"
8+
DEV_STORAGE_ACCOUNT: 'vottdev'
9+
PROD_STORAGE_ACCOUNT: 'vott'
10+
DEV_URL: "https://vottdev.z5.web.core.windows.net/"
11+
PROD_URL: "https://vott.z22.web.core.windows.net/"
12+
13+
stages:
14+
- stage: version_bump_commit
15+
jobs:
16+
- template: templates/npm-version-bump.yml
17+
parameters:
18+
versionType: $(NPM_VERSION_TYPE)
19+
20+
- stage: github_release
21+
dependsOn: version_bump_commit
22+
jobs:
23+
- template: templates/create-github-release.yml
24+
parameters:
25+
GitHubConnection: 'GitHub connection' # defaults for any parameters that aren't specified
26+
repositoryName: '$(Build.Repository.Name)' # microsoft/VoTT
27+
isPreRelease: $(IS_PRERELEASE) # set when queuing build
28+
isDraft: $(IS_DRAFT)
29+
30+
- stage: web_release
31+
dependsOn: version_bump_commit
32+
jobs:
33+
- template: templates/create-web-release.yml

azure-pipelines/linux/artifact-build-linux.yml

-26
This file was deleted.

azure-pipelines/mac/artifact-build-mac.yml

-22
This file was deleted.

azure-pipelines/plato/generate-up-to-date-report.yml

-69
This file was deleted.

azure-pipelines/releases/README.md

-5
This file was deleted.

0 commit comments

Comments
 (0)