This project ultimately would like to automate the generation and releasing of the generated code it contains. Until the automation tooling is built to do this, this document serves as an overview of how to make a new release. It assumes the release is going to be made because upstream protobuf definitions have been updated and the generated code needs to be updated.
-
Update the
opentelemetry-proto
submodule and regenerate the code.make sync VERSION=<new-version>
-
Edit
versions.yaml
with the new version number. Then, ensure the correct modules versions are updated and theversions.yaml
syntax is correct.make verify-versions
-
Verify the changes.
git diff main
-
If everything looks good, push the changes to GitHub and open a pull request.
-
Title:
Release {{VERSION}}
-
Body:
Release of the [{{VERSION}}][otlp] version of the OTLP. [otlp]: https://github.com/open-telemetry/opentelemetry-proto/releases/tag/{{VERSION}}
-
Once the pull request with all the generated code changes has been approved
and merged use the multimod
utility to tag all modules according to
versions.yaml
.
make push-tags REMOTE=<upstream> COMMIT=<hash>
Create a GitHub release for the new <new tag>
on GitHub.
-
Title:
Release {{VERSION}}
-
Body:
Generated Go code for the [{{VERSION}}][otlp] version of the OTLP. [otlp]: https://github.com/open-telemetry/opentelemetry-proto/releases/tag/{{VERSION}}