To release a new version of datadog-ci:
- Create a new branch for the version upgrade.
- Run
yarn version:all <major|minor|patch>. - Commit the change
vX.X.Xand tag it withgit tag -m vX.X.X vX.X.X.- You may refer to Semantic Versioning to determine what level to increment.
- Push the branch along with the tag using
git push --tags, and create a PR.- Find and open the workflow run corresponding to your tag in this list.
- Copy the release notes from the draft release, and paste them in the description of your PR. This ensures the feature PRs have a link to your release PR.
- Add the
releaselabel to your PR. - See this example PR.
- Request an approval from a datadog-ci admin.
- If a
oidc-setup-required ⚠️label is added to your PR, ask an admin for assistance.
- If a
- Wait for your PR to be approved.
- Once approved, retry the
pre-approval-checksjob.
- Once approved, retry the
- The
npm-publishjob should now be waiting for an approval from a datadog-ci admin.- Ask for approval and wait for it and its downstream jobs to succeed.
- Once all jobs are successful, merge the PR with the "Create a merge commit" strategy.
- The "Create a merge commit" strategy is required for the GitHub Release to point to an existing commit once the PR is merged.
- Go to the draft GitHub Release, and publish it as latest.
- There should be 7 binaries available in the release's assets.
- Important: Finally, release the Docker image from GitLab.
- Go to the GitLab pipelines
- Find the pipeline for your tag, and start the
buildstage to run the Docker image build jobs. - Make sure all the jobs and downstream jobs succeed.
Thanks for creating a release! 🎉
Some PRs were just merged and you want to release them, but you already started the release process? Follow these instructions.
Important
If you went through this section, please notify the reviewer so they can ensure everything is correct.
To overwrite a release candidate:
- Cancel the "Publish package on NPM" workflow to make sure we don't approve it by mistake.
- Remove the draft GitHub Release here.
- Force push your PR:
- Rebase your PR with
git rebase master(make sure you pulledmaster). - Looking at
git log, yourvX.X.Xbump commit should now be right after the latest commit onmaster. - Overwrite the tag to point to your new commit with
git tag --force vX.X.X. - Force push with
git push --forceandgit push --tags --force.
- Rebase your PR with
- Update your PR description with the new release notes.
- Continue the release process as usual.