Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Valkey 8.1.0-rc1 release checklist #1661

Open
8 of 10 tasks
madolson opened this issue Feb 4, 2025 · 3 comments
Open
8 of 10 tasks

Valkey 8.1.0-rc1 release checklist #1661

madolson opened this issue Feb 4, 2025 · 3 comments
Assignees

Comments

@madolson
Copy link
Member

madolson commented Feb 4, 2025

New patch release

  • 1. Make sure all commits from the corresponding project are merged. Example 7.2.

  • 2. Submit a new PR that updates the version.h file along with updating the release notes.

    1. For generating release notes, one way to get all of the commits is to use the release tool (see the next step). You can specify two separate tags, and it will automatically print the name of the commits for each of the PRs that had a "release-notes" tag.
  • 3. Cut a release here: https://github.com/valkey-io/valkey/releases/new. It should be based off of the target branch, e.g. "7.2", and the tag "7.2.5". When cutting the release, a new tag will automatically be created.

  • 4. Once the new version is released, this should trigger the workflow to build binaries (example workflow) and upload them to the S3 bucket.

  • 5. Update the download links on the website with the new binaries. Please publish a PR like this to the website repository - https://github.com/valkey-io/valkey-io.github.io

  • 6. Update the valkey-hashes repository with the new release hash - https://github.com/valkey-io/valkey-hashes. To compute the SHA-256 hash, run the following command for the respective release version and submit a PR like this.

    VERSION=8.0.0-rc2;
    curl -LO https://github.com/valkey-io/valkey/archive/refs/tags/$VERSION.tar.gz && echo "\nhash" "valkey-$VERSION.tar.gz" "sha256" "$(shasum -a 256 $VERSION.tar.gz | cut -d " " -f 1)" "https://github.com/valkey-io/valkey/archive/refs/tags/$VERSION.tar.gz"
  • 7. Update the valkey-container repository - How to build and publish new version Docker Image

  • 8. The valkey-doc repository:

    • If the version we're releasing is the latest version (i.e. not a patch release of an older version), update the version info in the top of the Makefile. Example:
      # Version info
      VERSION ?= 8.0.2
      DATE ?= 2025-01-08
      
      This version info is used in the headers and footers of man pages by default, but can be overridden. Make the change as a PR to the doc repo and merge it.
    • Tag the version on the main branch. Example:
      git tag -m "Documentation for Valkey 8.0.2" 8.0.2
      git push --tags
      
    • Note: Our docs are not versioned, but we tag it anyway whenever we release a new version to get reproducible builds. This was requested by the Fedora packagers.

Major/minor release

Follow all of the steps of the patch release process above, but in addition.

  • 9. Create a new release branch. We create branches for each major minor, so 7.2.0 will have the branch name 7.2.

  • 10. Additional doc repo updates:

    1. Run the ruby script to extract module API docs (extracted from comments in src/module.c)
    ./utils/generate-module-api-doc.rb > $DOC_REPO/topics/topics/modules-api-ref.md
    
    1. Update the List of supported versions in the doc repo on topics/releases.md
@ranshid
Copy link
Member

ranshid commented Feb 17, 2025

  1. The valkey-doc repository:
    @madolson It sounds wrong to change it for RC. I would suggest change it once we issue the GA. WDYT?

@madolson
Copy link
Member Author

Yeah, I guess we should add a section only for GA versions, and not just release candidates.

@madolson
Copy link
Member Author

@ranshid Are you planning on doing the last two items, or can we close this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants