You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Migrate ocb binary release to opentelemetry-collector-releases (#10710)
After discussion with the collector SIG call this week, July
31st, I have made small tweaks to the artifact release that will not
require an "extra step" of pushing tags. If these changes are accepted,
the distributions will be released under tag "vX.XXX.X" and the ocb
binaries will be released under "cmd/builder/vX.XXX.X" but both under
this repo, opentelemetry-collector-releases. The workflow
`builder-release.yaml` in releases repo will push the additional tags
necessary for the builder release.
Refactoring the release process as mentioned in past issues/PRs. ocb
binary is currently released in a separate release tag under this
repository, which makes it harder to find and inconsistent with the rest
of the binaries and images releasing in the
opentelemetry-collector-releases repository.
Releasing the ocb binaries in opentelemetry-collector-releases makes
this process more standardized and also opens the opportunity to release
more tools alongside ocb binary down the road, like corresponding docker
images (as discussed in #5712).
#### Link to tracking issue
Fixes#10662
Mentioned in [releases issue #
295](open-telemetry/opentelemetry-collector-releases#295)
[Corresponding PR in
opentelemetry-collector-releases](open-telemetry/opentelemetry-collector-releases#608)
#### Testing
Sample binary release in [forked
jackgopack4/opentelemetry-collector-releases
repo](https://github.com/jackgopack4/opentelemetry-collector-releases/releases/tag/cmd%2Fbuilder%2Fv0.106.1)
#### Documentation
Updated corresponding documentation to reflect new release process
---------
Co-authored-by: Pablo Baeyens <[email protected]>
Copy file name to clipboardExpand all lines: docs/release.md
+5-6Lines changed: 5 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -46,9 +46,7 @@ It is possible that a core approver isn't a contrib approver. In that case, the
46
46
47
47
If you set your remote using `https` you need to include `REMOTE=https://github.com/open-telemetry/opentelemetry-collector.git` in each command. Wait for the new tag build to pass successfully.
48
48
49
-
6. The release script for the collector builder should create a new GitHub release for the builder. This is a separate release from the core, but we might join them in the future if it makes sense.
50
-
51
-
7. A new `v0.85.0` release should be automatically created on Github by now. Edit it and use the contents from the CHANGELOG.md and CHANGELOG-API.md as the release's description.
49
+
6. A new `v0.85.0` source code release should be automatically created on Github by now. Edit it and use the contents from the CHANGELOG.md and CHANGELOG-API.md as the release's description.
52
50
53
51
## Releasing opentelemetry-collector-contrib
54
52
@@ -74,10 +72,9 @@ It is possible that a core approver isn't a contrib approver. In that case, the
74
72
5. A new `v0.85.0` release should be automatically created on Github by now. Edit it and use the contents from the CHANGELOG.md as the release's description.
75
73
76
74
## Producing the artifacts
77
-
78
75
The last step of the release process creates artifacts for the new version of the collector and publishes images to Dockerhub. The steps in this portion of the release are done in the [opentelemetry-collector-releases](https://github.com/open-telemetry/opentelemetry-collector-releases) repo.
79
76
80
-
1. Update the `./distribution/**/manifest.yaml` files to include the new release version.
77
+
1. Update the `./distributions/**/manifest.yaml` files to include the new release version.
81
78
82
79
2. Update the builder version in `OTELCOL_BUILDER_VERSION` to the new release in the `Makefile`. While this might not be strictly necessary for every release, this is a good practice.
83
80
@@ -86,12 +83,14 @@ The last step of the release process creates artifacts for the new version of th
86
83
87
84
4. Check out the commit created by merging the PR and tag with the new release version by running the `make push-tags TAG=v0.85.0` command. If you set your remote using `https` you need to include `REMOTE=https://github.com/open-telemetry/opentelemetry-collector-releases.git` in each command. Wait for the new tag build to pass successfully.
88
85
89
-
5. Ensure the "Release Core", "Release Contrib" and "Release k8s" actions pass, this will
86
+
5. Ensure the "Release Core", "Release Contrib", "Release k8s", and "Builder - Release" actions pass, this will
90
87
91
88
1. push new container images to `https://hub.docker.com/repository/docker/otel/opentelemetry-collector`, `https://hub.docker.com/repository/docker/otel/opentelemetry-collector-contrib` and `https://hub.docker.com/repository/docker/otel/opentelemetry-collector-k8s`
92
89
93
90
2. create a Github release for the tag and push all the build artifacts to the Github release. See [example](https://github.com/open-telemetry/opentelemetry-collector-releases/actions/workflows/release-core.yaml).
94
91
92
+
3. build and release ocb binaries under a separate tagged Github release, e.g. `cmd/builder/v0.85.0`
93
+
95
94
## Troubleshooting
96
95
97
96
1.`unknown revision internal/coreinternal/v0.85.0` -- This is typically an indication that there's a dependency on a new module. You can fix it by adding a new `replaces` entry to the `go.mod` for the affected module.
0 commit comments