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 24.05.0 #2893

Closed
34 tasks done
rahulguptajss opened this issue May 14, 2024 · 0 comments
Closed
34 tasks done

Release 24.05.0 #2893

rahulguptajss opened this issue May 14, 2024 · 0 comments

Comments

@rahulguptajss
Copy link
Contributor

rahulguptajss commented May 14, 2024

The week before the release

  • Ensure CI is green
  • Create release branch from main to freeze commits, like so:
RELEASE=24.05.0
git fetch origin
git checkout origin/HEAD
git switch --create release/$RELEASE
git push origin release/$RELEASE
  • If any changes are made in the harvest autosupport repository, please update the harvest-metrics repository main branch with the latest asup_linux_amd64 binary. This binary can be generated using Jenkins with the following parameters:
Field Value
VERSION 24.05.0
RELEASE 1
BRANCH release/24.05.0
ASUP_MAKE_TARGET production
DOCKER_PUBLISH false
RUN_TEST true
OVERWRITE_DOCKER_LATEST_TAG false
  • Create a release branch for the harvest-metrics repo like so:
RELEASE=24.05.0
git clone https://github.com/NetApp/harvest-metrics.git
cd harvest-metrics
git checkout origin/HEAD
git switch --create release/$RELEASE
git push origin release/$RELEASE
  • Ensure all issues for the release are tagged with status/testme and unassigned. Use gh or the GitHub UI to do this.
  • Use the release issue burn down list to verify issues are fixed. Move status/testme issues to status/open or status/done
  • Ensure that the release is validated against NABox.
  • Ensure that the release is validated against FSX.
  • Use Jenkins to create release artifacts for test machines
  • Create changelog
    • Draft a new release. Use v$RELEASE for the tag and pick the release/$RELEASE branch. Click the Generate release notes button and double check, at the bottom of the release notes, that the commits are across the correct range. For example: https://github.com/NetApp/harvest/compare/v24.02.0...v24.05.0
    • Copy/paste the generated release notes and save them in a file pbpaste > ghrn_$RELEASE.md
    • Generate draft release highlights by executing go run pkg/changelog/main.go new. This will create a file named releaseHighlights_$RELEASE.md. Edit that file to add content (example content)
      • Ensure all notable features are highlighted
      • Ensure any breaking changes are highlighted
      • Ensure any deprecations are highlighted
    • Generate changelog by running
go run pkg/changelog/main.go --title $RELEASE --highlights releaseHighlights_$RELEASE.md -r ghrn_$RELEASE.md | pbcopy
  • Open a PR against the release branch with the generated release notes for review
  • PR approval

Update Metrics Documentation

bin/harvest generate metrics --poller POLLERNAME
  • Make sure docs look good and open a PR for review with docs/ontap-metrics.md changes

The day of the release

  • Create a new build from Jenkins (details)
    • Click Build with Parameters and fill in the appropriate fields. Here's an example, where RELEASE=24.05.0
Field Value
VERSION 24.05.0
RELEASE 1
BRANCH release/24.05.0
ASUP_MAKE_TARGET production
DOCKER_PUBLISH true
RUN_TEST true
OVERWRITE_DOCKER_LATEST_TAG true
  • Draft a new release. Use v$RELEASE for the tag and pick the release/$RELEASE branch.
  • Type $RELEASE in the Release title text input
  • Open the CHANGELOG.md file, copy the single $RELEASE section at the top, and paste into the release notes text area.
  • Ensure the Set as the latest release checkbox is selected
  • Ensure the Create a discussion for this release checkbox is selected
  • Upload the artifacts from the Jenkins build above and attach to the release
  • Click Publish release button
  • Announce on Discord
  • Publish latest docs to netapp.github.io
    • Make sure you're on the release branch git switch release/$RELEASE
    • The documentation version selector uses the short form of the release, so 24.05 NOT 24.05.0
mike deploy --push --update-aliases $SHORT latest
  • Merge release branch into main. The PR should use the chore: prefix
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants