Skip to content
Thomas Vegas edited this page Feb 10, 2025 · 20 revisions

Preparations

  1. Create release branch v<major>.<minor>.x
  2. Bump version of master branch
  3. Update NEWS on the release branch
    1. Mention items that affect user experience (feature/bugfix/enhancement), or key infrastructure changes
    2. Go over commit titles excluding merge commits since the previous release and add relevant items
    3. 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>
    4. Add items from internal checklists, such as Plan-of-Record
    5. Tag key community members in the new PR to add/modify missing items
  4. Author list file is maintained by CI with script contrib/authors_update.sh that contains for instance:
    1. git log --no-merges --pretty=format:"%an%x09%ae" origin/v1.17.x..origin/v1.18.x | sort -u

Original release notes (can be deleted once we close on this one)

https://github.com/openucx/ucx/wiki/UCX-release-checklist

Publishing releases

  1. Go to Code->Releases
  1. Click Draft new release
  1. Set the release version, target branch, and mark as pre-release (for release candidate)
  1. Click Publish Release

  2. 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.

  3. When step (5) finishes, there will be a new release page with all packages (21 Assets) attached to it

  4. Remove excess news from the release page, tick/untick Pre-release box and click Publish to convert Draft into Pre-release/Latest-release

  5. Upload API documentation:

    1. Generate documentation commit like below
      1. Check the content of the commit, and the files below
      2. Push on openucx/gh-pages using output command from script
    2. Confirm that documentation on readthedocsio is up to date
$ ./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
  1. Send an email to ucx-dev mailing list to announce the release

  2. Bump release version in configure.ac and ucx.spec.in (if another minor release is planned on this release branch)

Release candidates

  • 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
Clone this wiki locally