|
1 | | -# Versioning and releasing |
| 1 | +# Release Process |
2 | 2 |
|
3 | | -Releases of the Java bindings for the OpenTelemetry Protocol (OTLP) follow the same versions |
4 | | -as [releases in opentelemetry-proto](https://github.com/open-telemetry/opentelemetry-proto/releases). |
| 3 | +Releases are performed in lockstep |
| 4 | +with [open-telemetry/opentelemetry-proto](https://github.com/open-telemetry/opentelemetry-proto) [releases](https://github.com/open-telemetry/opentelemetry-proto/releases). |
5 | 5 |
|
6 | | -## Starting the release |
| 6 | +## Preparing a new release |
7 | 7 |
|
8 | | -Upon release of a new [opentelemetry-proto](https://github.com/open-telemetry/opentelemetry-proto) version: |
| 8 | +Applies to major, minor and patch releases of `open-telemetry/opentelemetry-proto`. |
9 | 9 |
|
10 | | -- Open |
11 | | - the ["Release Build" workflow](https://github.com/open-telemetry/opentelemetry-proto-java/actions/workflows/release-build.yml) |
12 | | - in your browser |
13 | | -- Click the button that says "Run workflow" next to the phrase "This workflow has a |
14 | | - `workflow_dispatch` event trigger." and then |
15 | | - - select the `main` branch |
16 | | - - enter the version of the new [opentelemetry-proto](https://github.com/open-telemetry/opentelemetry-proto) release |
17 | | - - click "Run workflow" |
| 10 | +* Merge a PR to `main` updating the `protoVersion` variable in `build.gradle.kts` to the version |
| 11 | + of `opentelemetry-proto` to be released |
| 12 | +* Run |
| 13 | + the [Prepare release branch workflow](https://github.com/open-telemetry/opentelemetry-proto-java/actions/workflows/prepare-release-branch.yml) |
| 14 | + * Press the "Run workflow" button, and leave the default branch `main` selected |
| 15 | + * Review and merge the pull request it creates (targeted to the release branch, which sets `snapshot = false`) |
18 | 16 |
|
19 | | -A successful workflow run will create: |
20 | | -- a new [tag](https://github.com/open-telemetry/opentelemetry-proto-java/tags) |
21 | | -- a new [release announcement](https://github.com/open-telemetry/opentelemetry-proto-java/releases) |
22 | | -- a new release |
23 | | - on [Maven Central](https://search.maven.org/artifact/io.opentelemetry.proto/opentelemetry-proto) |
| 17 | +## Preparing a patch release |
| 18 | + |
| 19 | +TODO: Define process for releasing a patch, which should add a 4th component to |
| 20 | +the `opentelemetry-proto` release version, e.g. `v1.5.0.1` |
| 21 | + |
| 22 | +## Making the release |
| 23 | + |
| 24 | +* Run |
| 25 | + the [Release workflow](https://github.com/open-telemetry/opentelemetry-proto-java/actions/workflows/release.yml) |
| 26 | + * Press the "Run workflow" button, then select the release branch from the dropdown list, |
| 27 | + e.g. `release/v1.8.0`, and click the "Run workflow" button below that. |
| 28 | + * This workflow will publish artifacts to maven central and will publish a GitHub release with |
| 29 | + auto-generated release notes. |
| 30 | + |
| 31 | +## Credentials |
| 32 | + |
| 33 | +See [opentelemetry-java credentials](https://github.com/open-telemetry/opentelemetry-java/blob/main/RELEASING.md#credentials). |
0 commit comments