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
Note: The scripts referenced in here may or may not work as-is, depending on your operating system
16
-
and command-line shell of choice. In all cases, a description of what needs to be done is also
17
-
provided, for clarity.
18
-
19
-
1. Create the new version series (eg. `v0.10.x`) branch and push it to GitHub:
20
-
21
-
```bash
22
-
$ MAJOR=0 MINOR=3 PATCH=0 # Set appropriately for new release
23
-
$ VERSION_FILES=(
24
-
build.gradle
25
-
)
26
-
$ git checkout -b v$MAJOR.$MINOR.x master
27
-
$ git push upstream v$MAJOR.$MINOR.x
28
-
```
29
-
The branch will be automatically protected by the GitHub branch protection rule for release
30
-
branches.
31
-
32
-
2. Back on the `master` branch:
33
-
34
-
- Change the version in the root `build.gradle` to the next minor snapshot (e.g.
35
-
`0.11.0-SNAPSHOT`).
36
-
37
-
```bash
38
-
$ git checkout -b bump-version master
39
-
# Change version to next minor (but keep the `-SNAPSHOT` suffix)
40
-
$ sed -i ""'s/[0-9]\+\.[0-9]\+\.[0-9]\+\(.*CURRENT_OPEN_TELEMETRY_VERSION\)/'$MAJOR.$((MINOR+1)).0'\1/' \
41
-
"${VERSION_FILES[@]}"
42
-
$ ./gradlew build
43
-
$ git commit -a -m "Start $MAJOR.$((MINOR+1)).0 development cycle"
44
-
```
45
-
46
-
- Go through the normal PR review against master, and merge to the master branch on GitHub.
47
-
48
-
3. From the `vMajor.Minor.x` branch:
49
-
50
-
- Create a new branch called 'release'; change the version in the root build.gradle to remove "-SNAPSHOT"for the next release
51
-
version (eg. `0.10.0`). Commit the result and tag it with the version being released (eg. "v0.10.0"):
52
-
53
-
```bash
54
-
$ git checkout -b release v$MAJOR.$MINOR.x
55
-
# Change the version to remove -SNAPSHOT
56
-
$ sed -i ""'s/-SNAPSHOT\(.*CURRENT_OPEN_TELEMETRY_VERSION\)/\1/'"${VERSION_FILES[@]}"
57
-
$ ./gradlew build
58
-
$ git commit -a -m "Bump version to $MAJOR.$MINOR.$PATCH"
59
-
$ git tag -a v$MAJOR.$MINOR.$PATCH -m "Version $MAJOR.$MINOR.$PATCH"
60
-
```
61
-
62
-
- Change the version in the root `build.gradle` to the next patch level snapshot version (e.g.
63
-
`0.10.1-SNAPSHOT`). Commit the result:
64
-
65
-
```bash
66
-
# Change version to the next patch level and add -SNAPSHOT
67
-
$ sed -i ""'s/[0-9]\+\.[0-9]\+\.[0-9]\+\(.*CURRENT_OPEN_TELEMETRY_VERSION\)/'$MAJOR.$MINOR.$((PATCH+1))-SNAPSHOT'\1/' \
68
-
"${VERSION_FILES[@]}"
69
-
$ ./gradlew build
70
-
$ git commit -a -m "Bump version to $MAJOR.$MINOR.$((PATCH+1))-SNAPSHOT"
71
-
```
72
-
73
-
- Create a PR with the current state of your 'release' branch against the `v.M.m.x` branch.
74
-
*Do not merge this PR to the master branch!*
75
-
Go through PR review and after approval, manually push the release tag and updated `v.M.m.x` branch
76
-
to GitHub (note: do not squash the commits when you merge otherwise you
77
-
will lose the release tag!):
78
-
79
-
```bash
80
-
$ git checkout v$MAJOR.$MINOR.x
81
-
$ git merge --ff-only release
82
-
$ git push upstream v$MAJOR.$MINOR.x
83
-
### this next step, pushing the tag, is what triggers the build that publishes the release:
84
-
$ git push upstream v$MAJOR.$MINOR.$PATCH
85
-
```
3
+
## Starting the Release
4
+
5
+
Open the release build workflow in your browser [here](https://github.com/open-telemetry/opentelemetry-java/actions?query=workflow%3A%22Release+Build%22).
6
+
7
+
You will see a button that says "Run workflow". Press the button, enter the version number you want
8
+
to release in the input field that pops up, and then press "Run workflow".
9
+
10
+
This triggers the release process, which builds the artifacts, updates the README with the new
11
+
version numbers, commits the change to the README, publishes the artifacts, and creates and pushes
12
+
a git tag with the version number.
86
13
87
14
## Announcement
88
15
89
-
Once deployment is done by Circle CI (controlled by the Bintray plugin) , go to Github [release
16
+
Once the GitHub workflow completes, go to Github [release
All patch releases should include only bug-fixes, and must avoid
114
-
adding/modifying the public APIs. To cherry-pick one commit use the following
115
-
instructions:
41
+
adding/modifying the public APIs.
42
+
43
+
Open the patch release build workflow in your browser [here](https://github.com/open-telemetry/opentelemetry-java/actions?query=workflow%3A%22Patch+Release+Build%22).
44
+
45
+
You will see a button that says "Run workflow". Press the button, enter the version number you want
46
+
to release in the input field for version that pops up and the commits you want to cherrypick for the
47
+
patch as a comma-separated list. Then, press "Run workflow".
48
+
49
+
If the commits cannot be cleanly applied to the release branch, for example because it has diverged
50
+
too much from main, then the workflow will fail before building. In this case, you will need to
51
+
prepare the release branch manually.
52
+
53
+
This example will assume patching into release branch `v1.2.x` from a git repository with remotes
0 commit comments