-
Notifications
You must be signed in to change notification settings - Fork 435
Release process
- Create release branch
v<major>.<minor>.x
- Bump version of master branch
- Update NEWS on the release branch
- Mention items that affect user experience (feature/bugfix/enhancement), or key infrastructure changes
- Go over commit titles excluding merge commits since the previous release and add relevant items
- NEWS should be updated for every release candidate
git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative fork<X-1>commit..branch<X>
- Add items from internal checklists, such as Plan-of-Record
- Tag key community members in the new PR to add/modify missing items
- Author list file is maintained by CI with script
contrib/authors_update.sh
that contains for instance:git log --no-merges --pretty=format:"%an%x09%ae" origin/v1.17.x..origin/v1.18.x | sort -u
https://github.com/openucx/ucx/wiki/UCX-release-checklist
- Go to Code->Releases
![](https://user-images.githubusercontent.com/2255631/144396818-35a83c5f-c36f-4839-b19c-37d065fab15c.png)
- Click Draft new release
![](https://user-images.githubusercontent.com/2255631/144396272-759d469c-ac47-4b67-98d5-97c31832aad0.png)
- Set the release version, target branch, and mark as pre-release (for release candidate)
![](https://user-images.githubusercontent.com/2255631/144398479-67fd2563-a57d-4c8d-b66d-ca08376fc636.png)
-
Click Publish Release
-
An automatic Azure pipeline will start building the packages (https://dev.azure.com/ucfconsort/ucx/_build?definitionId=5&_a=summary), please Do not touch the release page while the job is running. If CI has not been started it maybe needed to re-create tag.
-
When step (5) finishes, there will be a new release page with all packages (21 Assets) attached to it
-
Remove excess news from the release page, tick/untick Pre-release box and click Publish to convert Draft into Pre-release/Latest-release
-
Upload API documentation:
- Generate documentation commit like below
- Check the content of the commit, and the files below
- Push on
openucx/gh-pages
using output command from script
- Confirm that documentation on readthedocsio is up to date
- Generate documentation commit like below
$ ./contrib/api_update.sh upstream/v1.18.x
Proceed with documentation generation for upstream/v1.18.x (v1.18)?
...
Push commit with: git push upstream 84c9c077425f4879d9df004a49597d9452dd3964:gh-pages
$ ls -1 ./ucx_docs/api/latest/{*pdf,html/index.html}
./ucx_docs/api/latest/html/index.html
./ucx_docs/api/latest/ucx.pdf
./ucx_docs/api/latest/ucx-v1.18.pdf
-
Send an email to ucx-dev mailing list to announce the release
-
Bump release version in
configure.ac
anducx.spec.in
(if another minor release is planned on this release branch)
- NEWS file should contain separated section for every drop:
## 1.13.0-rc2 (DATE)
#### Bugfixes
* Bugfix 3
## 1.13.0-rc1 (DATE)
#### Features
* Feature 1
* Feature 2
#### Bugfixes
* Bugfix 1
* Bugfix 2
- GA release drop should cointain single section, which is merge of all release candidates
## 1.13.0 (DATE)
#### Features
* Feature 1
* Feature 2
#### Bugfixes
* Bugfix 1
* Bugfix 2
* Bugfix 3