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

Release 2.14 #9382

Open
35 of 38 tasks
narqo opened this issue Sep 23, 2024 · 0 comments
Open
35 of 38 tasks

Release 2.14 #9382

narqo opened this issue Sep 23, 2024 · 0 comments
Assignees
Labels
release Release process

Comments

@narqo
Copy link
Contributor

narqo commented Sep 23, 2024

This issue tracks the progress of the Mimir 2.14 release.

Publish the release candidate

  • Begin drafting the release notes (2.14 release notes #9406)
    • Create the release notes PR targeting the main branch
    • This step shouldn't block from publishing release candidate
    • After the release notes PR is merged (which usually happen after RC is published), cherry-pick them into the release branch
  • Wait for any open PR we want to get merged before cutting the release candidate
    • We shouldn't wait for the open PRs beyond the scheduled release date
  • Update CHANGELOG.md
    • Run ./tools/release/check-changelog.sh LAST-RELEASE-TAG...main and add missing PRs to CHANGELOG
    • Ensure CHANGELOG entries are sorted by type
    • Add a new section for the new release so that ## main / unreleased is blank and at the top. The new section should say ## x.y.0-rc.0 (Cut changelog for v2.14 #9424).
  • Run ./tools/release/notify-changelog-cut.sh CHANGELOG.md
  • Run make mixin-screenshots (docs: update screenshots for 2.14 release #9425)
    • Before opening the PR, review all updated screenshots and ensure no sensitive data is disclosed
  • Create new release branch
    • Create the branch
      git checkout r<xxx> # xxx is the latest weekly release
      git checkout -b release-<version>
      git push -u origin release-<version>
    • Remove "main / unreleased" section from the CHANGELOG
    • If a new minor or major version is being released, adjust the settings in the renovate.json configuration on the main branch by adding the new version.
      This way we ensure that dependency updates maintain the new version, as well as the latest two minor versions.
      For instance, if versions 3.0 and 2.10 are configured in renovate.json, and version 3.1 is being released,
      during the release process renovate.json should keep updated the following branches: main, release-3.1, release-3.0 and release-2.10.
  • Publish the Mimir release candidate
    • Update VERSION in the release branch and update CHANGELOG with version and release date.
      • Keep in mind this is a release candidate, so the version string in VERSION and CHANGELOG must end in -rc.#, where # is the release candidate number, starting at 0.
    • Tag the release
      git checkout release-<version>
      ./tools/release/tag-release.sh
    • Wait until the CI pipeline succeeds
    • Create a pre-release on GitHub
      git checkout release-<version>
      ./tools/release/create-draft-release.sh
    • Merge the release branch release- into main
      ./tools/release/create-pr-to-merge-release-branch-to-main.sh
    • Publish the Github pre-release draft after getting review from at least one maintainer
    • Announce the release candidate on social media such as on Mimir community slack using your own Twitter, Mastodon or LinkedIn account
  • Vendor the release commit of Mimir into Grafana Enterprise Metrics (GEM)
    • This is addressed by Grafana Labs
  • Publish a mimir-distributed Helm chart release candidate. Follow the instructions in Release process for a release candidate
  • Promote experimental features to experimental and remove deprecated features for the next release:
    • Open a PR for every experimental feature we want to promote to stable
    • Open a PR to remove any deprecated feature or configuration option that should be removed in the next release

Publish the stable release

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

No branches or pull requests

1 participant