Release process - openucx/ucx Wiki

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 master..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. Update Author list before release
    1. git log --pretty=format:"%an%x09%ae" | sort | uniq > AUTHORS.new
    2. since people use multiple email addresses and names we have to clean up the new file
      vimdiff AUTHORS.new AUTHORS

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, please Do not touch the release page while the job is running

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

  4. Remove excess news from the release page

  5. Upload API documentation: (In the commands below replace {version} by 1.12 for example)

    • Make a clean checkout of the release branch
    • Install the packages doxygen and doxygen-latex. It's recommended to use fedora 30 or above.
    • ./autogen.sh
    • /scrap/fedora-docs-1.tgz
    • make docs
    • git checkout gh-pages
    • mkdir api/v{version}
    • ln -snf v{version} api/latest
      $ ll api
      lrwxrwxrwx 1 user group     5 Jan 13 14:54 latest -> v1.12`
      
    • cp docs/doxygen-doc/ucx.pdf api/v{version}/ucx-v{version}.pdf
    • ln -s ucx-v{version}.pdf api/v{version}/ucx.pdf
    • cp -ar docs/doxygen-doc/html v${version}/
      $ ll api/v1.12/
      drwxr-xr-x 3 user group       24576 Jan 13 14:38 html
      -rw-r--r-- 1 user group     1276888 Jan 13 14:45 ucx-v1.12.pdf
      
    • git add api/v{version}
    • git commit -m "add v{version} documentation"
    • git push ...
  6. Send an email to ucx-dev mailing list to announce the release