From 839e0e46bef18a499515d67724f0b30d80a59093 Mon Sep 17 00:00:00 2001 From: Dmitrii Anoshin Date: Fri, 1 Dec 2023 12:20:54 -0800 Subject: [PATCH] [chore] [docs] Update the patch release instructions (#9032) --- docs/release.md | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/docs/release.md b/docs/release.md index d83d01987d6..e9f7e3c8cd4 100644 --- a/docs/release.md +++ b/docs/release.md @@ -132,14 +132,19 @@ The OpenTelemetry Collector maintainers will ultimately have the responsibility The following documents the procedure to release a bugfix -1. Create a pull request against the `release/` (e.g. `release/v0.45.x`) branch to apply the fix. -2. Create a pull request to update version number against the `release/` branch. +1. Create a pull request against the `release/` (e.g. `release/v0.90.x`) branch to apply the fix. +2. Make sure you are on `release/`. Prepare release commits with `prepare-release` make target, e.g. `make prepare-release PREVIOUS_VERSION=0.90.0 RELEASE_CANDIDATE=0.90.1 MODSET=beta`, and create a pull request against the `release/` branch. 3. Once those changes have been merged, create a pull request to the `main` branch from the `release/` branch. -4. Enable the **Merge pull request** setting in the repository's **Settings** tab. -5. Tag all the modules with the new release version by running the `make add-tag` command (e.g. `make add-tag TAG=v0.85.0`). Push them to `open-telemetry/opentelemetry-collector` with `make push-tag TAG=v0.85.0`. Wait for the new tag build to pass successfully. -6. **IMPORTANT**: The pull request to bring the changes from the release branch *MUST* be merged using the **Merge pull request** method, and *NOT* squashed using “**Squash and merge**”. This is important as it allows us to ensure the commit SHA from the release branch is also on the main branch. **Not following this step will cause much go dependency sadness.** -7. Once the branch has been merged, it will be auto-deleted. Restore the release branch via GitHub. -8. Once the patch is release, disable the **Merge pull request** setting. +4. If you see merge conflicts when creating the pull request, do the following: + 1. Create a new branch from `origin:main`. + 2. Merge the `release/` branch into the new branch. + 3. Resolve the conflicts. + 4. Create another pull request to the `main` branch from the new branch to replace the pull request from the `release/` branch. +5. Enable the **Merge pull request** setting in the repository's **Settings** tab. +6. Make sure you are on `release/`. Push the new release version tags for a target module set by running `make push-tags MODSET=`. Wait for the new tag build to pass successfully. +7. **IMPORTANT**: The pull request to bring the changes from the release branch *MUST* be merged using the **Merge pull request** method, and *NOT* squashed using “**Squash and merge**”. This is important as it allows us to ensure the commit SHA from the release branch is also on the main branch. **Not following this step will cause much go dependency sadness.** +8. If the pull request was created from the `release/` branch, it will be auto-deleted. Restore the release branch via GitHub. +9. Once the patch is released, disable the **Merge pull request** setting. ## 1.0 release