Skip to content

Commit dbbb1ec

Browse files
committed
Update How to release documentation
Change-Id: I02074836a000dcca2d5dc740370da3097497272b Reviewed-on: https://review.couchbase.org/c/java-dcp-client/+/242197 Tested-by: Build Bot <build@couchbase.com> Tested-by: <matthew.bray@couchbase.com> Reviewed-by: <matthew.bray@couchbase.com>
1 parent a0a8d26 commit dbbb1ec

1 file changed

Lines changed: 6 additions & 57 deletions

File tree

HOWTO-RELEASE.md

Lines changed: 6 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -14,34 +14,13 @@ You will need:
1414
to a public keyserver. For bonus points, have a few co-workers sign your key.
1515
* To tell git about your signing key: `git config --global user.signingkey DEADBEEF`
1616
(replace `DEADBEEF` with the id of your PGP key).
17-
* A Sonatype account authorized to publish to the `com.couchbase` namespace.
18-
* A `~/.m2/settings.xml` file with a
19-
[User Token](https://blog.sonatype.com/2012/08/securing-repository-credentials-with-nexus-pro-user-tokens/).
20-
To generate a token, go to https://oss.sonatype.org and log in with your Sonatype account.
21-
Click on your username (upper right) and select "Profile". From the drop-down menu,
22-
select "User Token". Press "Access User Token" to see a snippet of XML with server credentials.
23-
Copy and paste this XML into the `servers` section of your Maven settings,
24-
replacing `${server}` with `ossrh`.
2517
* A local Docker installation, if you wish to run the integration tests.
2618

27-
At a minimum, your `~/.m2/settings.xml` should look something like:
28-
29-
<settings>
30-
<servers>
31-
<server>
32-
<id>central</id>
33-
<username>xxxxxxxx</username>
34-
<password>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</password>
35-
</server>
36-
</servers>
37-
</settings>
38-
39-
All set? In that case...
40-
4119
## Let's do this!
4220

43-
Start by running `mvn clean verify -Prelease` to make sure the project builds successfully,
44-
artifact signing works, and the unit tests pass. To run the integration tests, run `mvn clean verify`
21+
Start by checking the snapshot builds found [here](https://github.com/couchbase/java-dcp-client/actions/workflows/deploy-snapshot.yml) to ensure that everything looks good with the current commit.
22+
23+
To run the integration tests, run `mvn clean verify`
4524
without specifying a profile.
4625
When you're satisfied with the test results, it's time to...
4726

@@ -50,42 +29,18 @@ When you're satisfied with the test results, it's time to...
5029
1. Edit `pom.xml` and remove the `-SNAPSHOT` suffix from the version string.
5130
2. Edit `examples/pom.xml` and update the `dcp.client.version` property to match the version string in Step 1.
5231
3. Commit these changes, with message "Prepare x.y.z release"
53-
(where x.y.z is the version you're releasing).
32+
(where x.y.z is the version you're releasing). Note: the snapshot build for that commit will fail because we removed the snapshot suffix. This is expected.
5433

5534
## Tag the release
5635

5736
Run the command `git tag -s x.y.z` (where x.y.z is the release version number).
5837

5938
Use the previous version's tag message (e.g. `git show 0.11.0`) as a template for
60-
the new version's tag message.
61-
62-
Don't push the tag right away, though. Wait until the release is successful and you're sure
63-
there will be no more changes. Otherwise it can be a pain to remove an unwanted tag from Gerrit.
39+
the new version's tag message and then push the tag.
6440

6541
## Go! Go! Go!
6642

67-
Make sure you don't have any uncommitted files in your workspace:
68-
69-
git status
70-
71-
should say "nothing to commit, working tree clean".
72-
73-
Here it is, the moment of truth. When you're ready to deploy to the Maven Central Repository:
74-
75-
./mvnw clean deploy -Prelease
76-
77-
Alternatively, if you prefer to inspect the staging repository and
78-
[complete the release manually](https://central.sonatype.org/pages/releasing-the-deployment.html),
79-
set this additional property:
80-
81-
./mvnw clean deploy -Prelease -DautoReleaseAfterClose=false
82-
83-
Whew, you did it! Or the build failed and you're looking at a cryptic error message, in which
84-
case you might want to check out the Troubleshooting section below.
85-
86-
If the release succeeded, now's the time to publish the tag:
87-
88-
git push origin x.y.z
43+
Run the release workflow found [here](https://github.com/couchbase/java-dcp-client/actions/workflows/deploy-release.yml) supplying the tag name you previously pushed.
8944

9045
## Prepare for next dev cycle
9146

@@ -94,12 +49,6 @@ Update the `dcp.client.version` property in `examples/pom.xml` to refer to the
9449
new snapshot version.
9550
Commit and push to Gerrit. Breathe in. Breathe out.
9651

97-
## Publishing a snapshot
98-
99-
After every passing nightly build, a snapshot should be published to the Sonatype OSS snapshot repository by running this command:
100-
101-
./mvnw clean deploy -Psnapshot
102-
10352
## Troubleshooting
10453

10554
* Take another look at the Prerequisites section. Did you miss anything?

0 commit comments

Comments
 (0)