Update release procedure, use GitVersion 5
This commit is contained in:
Родитель
1933995ad5
Коммит
2cade7f69b
10
.vsts-ci.yml
10
.vsts-ci.yml
|
@ -23,8 +23,10 @@ jobs:
|
|||
versionSpec: 4.9.1
|
||||
checkLatest: false
|
||||
|
||||
- task: GitVersion@4
|
||||
- task: GitVersion@5
|
||||
inputs:
|
||||
useConfigFile: true
|
||||
configFilePath: gitversion.yml
|
||||
updateAssemblyInfo: false
|
||||
|
||||
- powershell: |
|
||||
|
@ -75,6 +77,12 @@ jobs:
|
|||
steps:
|
||||
- checkout: self
|
||||
clean: true
|
||||
|
||||
- task: GitVersion@5
|
||||
inputs:
|
||||
useConfigFile: true
|
||||
configFilePath: gitversion.yml
|
||||
updateAssemblyInfo: false
|
||||
|
||||
- bash: |
|
||||
cd /emsdk
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
# Uno.Wasm.Bootstrap release procedure
|
||||
|
||||
Uno.Wasm.Bootstrap uses [GitVersion])(https://gitversion.readthedocs.io/en/latest/) for its versioning, in `mainline` mode for the `release/stable` branches, and **ContinuousDeployment** for the `master` branch.
|
||||
|
||||
Tagging is the main driver for planning releases.
|
||||
|
||||
## Branches
|
||||
- On the `master` branch, the main development is happening and is considered unstable. The nuget packages produced end with `-dev.X`, where X is the number of commits since the last initiated release.
|
||||
- On the `release/beta` branch, stabilisation occurs to get a stable release. The version is inherited from the branch point from master. The nuget packages produced end with `-beta.X`, where X is the number of commits since the last stable release.
|
||||
- On the `release/stable` branch, stable nuget packages are produced for each pushed merge or commit. The **Patch** number is increased by the number of commits since the release tagging occured.
|
||||
- On `dev`, `feature`, and `project` branches, the behavior is to inherit from the base branch it was created from and create a nuget package with an experimental tag. Those branches must not be tagged.
|
||||
|
||||
## Creating a release
|
||||
|
||||
### When planning for a beta
|
||||
- Once a release is planned, make a branch in `release/beta` (e.g. `release/beta/1.29`), and tag the commit using the requested version (e.g. `1.29`). Do not include the patch number, as it will be added by GitHub when publishing a release. Tagging will automatically increased the version in the `master` branch by a **minor** number.
|
||||
- Make stabilisation fixes to the `release/beta/1.29` branch.
|
||||
- Once the stabilization fixes are done, take the last `release/beta/1.29` commit and make a `release/stable/1.29` branch. Commits to this branch will automatically keep the `1.29` version, as the base **beta branch** was tagged `1.29`.
|
||||
- Publish the release on GitHub using the patch number (e.g. `1.29.0` if there where no changes)
|
||||
|
||||
### When planning for a release without a beta
|
||||
- Once a release is planned, make a branch in `release/stable` (e.g. `release/stable/1.29`), and tag the commit using the requested version (e.g. `1.29`). Tagging will automatically the version in the `master` increased by a **minor** number.
|
||||
- Commits to `release/stable/1.29` will automatically keep the `1.29` version.
|
||||
- Publish the release on GitHub using the patch number (e.g. `1.29.0` if there where no changes)
|
|
@ -1,21 +1,52 @@
|
|||
assembly-versioning-scheme: MajorMinorPatch
|
||||
mode: ContinuousDeployment
|
||||
continuous-delivery-fallback-tag: ""
|
||||
mode: Mainline
|
||||
next-version: 1.1
|
||||
|
||||
branches:
|
||||
master:
|
||||
mode: ContinuousDeployment
|
||||
regex: master
|
||||
tag: dev
|
||||
release:
|
||||
tag: ""
|
||||
increment: Minor
|
||||
|
||||
pull-request:
|
||||
regex: ^(pull|pull\-requests|pr)[/-]
|
||||
mode: ContinuousDeployment
|
||||
tag: PullRequest
|
||||
increment: Inherit
|
||||
|
||||
stable:
|
||||
regex: release/stable/.*
|
||||
tag: ''
|
||||
increment: Patch
|
||||
regex: release/.*?
|
||||
source-branches: ['master']
|
||||
is-mainline: true
|
||||
|
||||
beta:
|
||||
mode: ContinuousDeployment
|
||||
regex: release/beta/.*
|
||||
tag: 'beta'
|
||||
increment: inherit
|
||||
source-branches: ['master']
|
||||
|
||||
dev:
|
||||
tag: dev.{BranchName}
|
||||
mode: ContinuousDeployment
|
||||
regex: dev/.*?/(.*?)
|
||||
source-branches: ['master']
|
||||
tag: dev.{BranchName}
|
||||
source-branches: ['master', 'release', 'projects', 'feature']
|
||||
increment: inherit
|
||||
|
||||
projects:
|
||||
tag: proj-{BranchName}
|
||||
regex: projects/(.*?)
|
||||
source-branches: ['master']
|
||||
increment: inherit
|
||||
|
||||
feature:
|
||||
tag: feature.{BranchName}
|
||||
regex: feature/(.*?)
|
||||
source-branches: ['master']
|
||||
increment: inherit
|
||||
|
||||
ignore:
|
||||
sha: []
|
||||
sha: []
|
||||
|
|
Загрузка…
Ссылка в новой задаче