diff --git a/Makefile b/Makefile index 9bdad7f2..4488d746 100644 --- a/Makefile +++ b/Makefile @@ -212,11 +212,14 @@ sync: submodule-version clean protobuf verify-versions: | $(MULTIMOD) $(MULTIMOD) verify +.PHONY: prerelease +prerelease: verify-versions + $(MULTIMOD) prerelease -a + COMMIT ?= "HEAD" REMOTE ?= upstream .PHONY: push-tags -push-tags: | $(MULTIMOD) - $(MULTIMOD) verify +push-tags: verify-versions | $(MULTIMOD) for module in stable unstable; do \ for tag in `$(MULTIMOD) tag -m $$module -c ${COMMIT} --print-tags | grep -v "Using"`; do \ echo "pushing tag $$tag"; \ diff --git a/RELEASING.md b/RELEASING.md index 5f8ddb96..ffa25a28 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -8,26 +8,53 @@ have been updated and the generated code needs to be updated. ## Create a Release Pull Request -1. Update the [`opentelemetry-proto`] submodule and regenerate the code. +1. Create a new branch off of `main` for the release. + + ```sh + git checkout main + git pull origin main + git checkout -b release- + ``` + +2. Update the [`opentelemetry-proto`] submodule and regenerate the code. ```sh make sync VERSION= ``` -2. Edit [`versions.yaml`] with the new version number. Then, ensure the correct modules versions - are updated and the [`versions.yaml`] syntax is correct. + Commit the changes. + +3. Edit [`versions.yaml`] with the new version number. Then, ensure the correct + modules versions are updated and the [`versions.yaml`] syntax is correct. ```sh make verify-versions ``` -3. Verify the changes. + Commit the changes. + +4. Run the `prerelease` make target to update all cross-dependencies. + + ``` + make prerelease + ``` + + This will create a branch for each module set (i.e. + `prerelease__`). + + Verify the changes on each branch. + + ```sh + git diff ...prerelease__ + ``` + + If these changes look correct, merge them. ```sh - git diff main + git merge prerelease__ ``` -4. If everything looks good, push the changes to GitHub and open a pull request. +5. Push the changes to GitHub and open a pull request. - Title: `Release {{VERSION}}` - Body: