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

Vector v0.35.1 release #19811

Closed
28 of 29 tasks
jszwedko opened this issue Feb 6, 2024 · 0 comments
Closed
28 of 29 tasks

Vector v0.35.1 release #19811

jszwedko opened this issue Feb 6, 2024 · 0 comments
Labels
domain: releasing Anything related to releasing Vector

Comments

@jszwedko
Copy link
Member

jszwedko commented Feb 6, 2024

Before the release:

  • Create a new release preparation branch from the current release branch
    • git fetch && git checkout v0.<current minor version> && git checkout -b prepare-v0.<new version number>
  • Cherry-pick in all commits to be released from the associated release milestone
    • If any merge conflicts occur, attempt to solve them and if needed enlist the aid of those familiar with the conflicting commits.
  • Run cargo vdev build release-cue to generate a new cue file for the release
  • Add changelog key to generated cue file
    • git log --no-merges --cherry-pick --right-only <last release tag>...
    • Should be hand-written list of changes
      (example)
    • Add description key to the generated cue file with a description of the release (see
      previous releases for examples).
  • Update version number in distribution/install.sh
  • Add new version to website/cue/reference/versions.cue
  • Create new release md file by copying an existing one in ./website/content/en/releases/ and
    updating version number
  • Bump the release number in the Cargo.toml to the current version number
  • Run cargo check to regenerate Cargo.lock file
  • Commit these changes
  • Open PR against the release branch (v0.<new version number>) for review
  • PR approval

On the day of release:

  • Ensure release date in cue matches current date.
  • Rebase the release preparation branch on the release branch
    • Squash the release preparation commits (but not the cherry-picked commits!) to a single
      commit. This makes it easier to cherry-pick to master after the release.
    • git checkout prepare-v0.<new version number> && git rebase -i v0.<current minor version>
  • Merge release preparation branch into the release branch
    • git co v0.<current minor version> && git merge --ff-only prepare-v0.<current minor version>.<patch>
  • Tag new release
    • git tag v0.<minor>.<patch> -a -m v0.<minor>.<patch>
    • git push origin v0.<minor>.<patch>
  • Wait for release workflow to complete
  • Release Linux packages. See vector-release usage.
  • Push the release branch to update the remote (This should close the preparation branch PR).
    • git checkout v0.<current minor version> && git push
  • Release updated Helm chart. See releasing Helm chart.
  • Once Helm chart is released, updated Vector manifests
    • Run cargo vdev build manifests and open a PR with changes
  • Add docker images to https://github.com/DataDog/images to have them available internally.
  • Cherry-pick any release commits from the release branch that are not on master, to master
  • Kick-off post-mortems for any regressions resolved by the release
@jszwedko jszwedko added the domain: releasing Anything related to releasing Vector label Feb 6, 2024
@jszwedko jszwedko added this to the Vector v0.35.1 milestone Feb 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain: releasing Anything related to releasing Vector
Projects
None yet
Development

No branches or pull requests

1 participant