Skip to content

Release procedure

Bernhard Manfred Gruber edited this page Jan 19, 2024 · 9 revisions

Preparation

  • All examples must build.
  • All unit tests must build and pass.
  • The documentation must build (check readthedocs).
  • Verify that the documentation is up-to-date.
  • Verify that the README.md is up-to-date.
  • Verify that the CHANGELOG.md is up-to-date.
  • Verify that .zenodo.json is up-to-date, especially regarding contributors.
  • Bump the version number in alpaka/version.hpp and docs/source/conf.py.
  • TODO: document creating the release branch, etc.
  • Test the release branch in downstream projects (e.g. picongpu).

Release

  • Set release date in CHANGELOG.md and commit to release/develop branch.
  • Draft a new release on GitHub: https://github.com/alpaka-group/alpaka/releases.
    • Let Github created a tag from the release/develop branch naming it {MAJOR_VERSION}.{MINOR_VERSION}.{PATCH_VERSION}
    • Release title: "{MAJOR_VERSION}.{MINOR_VERSION}.{PATCH_VERSION}: arbitrary pun or internet meme"
    • Summarize the main changes of this release and put a link to the changelog into the description.
    • Publish

Post-release

  • Update vcpkg package (just from bgruber's memories, not tested yet)
    • Fork the vcpkg repository
    • Create a new branch
    • Run ./bootstrap.sh (or .bat on Windows)
    • Update ports/alpaka/vcpkg.json
      • Update alpaka version
      • If any dependencies changed, update them here
    • Try ./vcpkg install alpaka | grep "Actual hash". Installation will fail with an error about a mismatching hash
      • Copy the correct hash and update it in ports/alpaka/portfile.cmake
      • Optional test: ./vcpkg install alpaka should succeed now.
    • Commit changes: git add -u && git commit -m "[alpaka] Update to version <version>"
    • Run ./vcpkg x-add-version alpaka and amend the last commit: git add -u && git commit --amend --no-edit
    • Push your branch and create a draft PR.
      • You may be requested to check the maintainer guides etc. if any functionality has been deprecated.
      • Make sure the CI passes.
    • Set the PR as ready to review and work with maintainers to get the PR merged
Clone this wiki locally