Skip to content
Permalink
Browse files

Update release md (#284)

* first round of release doc improvements

* (tangential) update gitignore

* add links to sonatype account creation and permission request jira

* update the perform release docs

* typo

* moved a paragraph into its own section
  • Loading branch information...
tsiq-karold committed Mar 1, 2019
1 parent 0912ef9 commit 9ec056265de2aed89562287639ccfd8951b1fa57
Showing with 38 additions and 10 deletions.
  1. +1 −0 .gitignore
  2. +37 −10 release.md
@@ -8,5 +8,6 @@ webtau.report.html
.vertx
webtau-http-groovy/doc-artifacts/*
webtau-feature-testing/doc-artifacts/*
webtau-feature-testing/examples/doc-artifacts/*
webtau-groovy/doc-artifacts/*
webtau-http/doc-artifacts/*
@@ -1,6 +1,14 @@
# Setup

in `settings.xml`
## Sonatype/Maven Central

There is some one time setup required in order to publish to Maven Central. First, you will need a Sonatype account which
you can create at https://issues.sonatype.org/secure/Signup!default.jspa. You will also need permissions to publish to
the `com.twosigma.webtau` group ID, for that raise a similar JIRA to https://issues.sonatype.org/browse/OSSRH-41183.

Once you have an account, you will need to add credentials for Sonatype to your `~/.m2/settings.xml`. If you don't have
one then copy the one below. If you have one already then create or modify the `servers` section to include the server
as shown below:

```
<?xml version="1.0" encoding="UTF-8"?>
@@ -17,20 +25,39 @@ in `settings.xml`
</settings>
```

# Release Steps
## GPG

You will need to also obtain GPG files to be copied into your `~/.gnupg` and the corresponding passphrase.


# Prepare release

The first step is to prepare the release. Make sure you are on master and up to date then run:

```
# set GPG_TTY to $(tty) prior
# have GPG keyphrase handy
mvn release:clean release:prepare -DskipTests
mvn release:perform
```

# Quick Notes
This will do a number of things (let's assume you're trying to release version x.y.z):
* build webtau
* prompt you for a few version related things where you should generally accept the proposed values
* update the version number in all poms to x.y.z
* git commit the change
* tag git as x.y.z
* update versions to x.y.(z+1)-SNAPSHOT
* git commit the change

Github release will be automatically created on tagging performed by previous step.
Use output of a next command as a basis for notes. Update versions accordingly.
# Perform the release

```
git log --oneline --pretty=format:"%s" 0.14.0...0.17.0
```
export GPG_TTY=$(tty)
mvn release:perform
```

This will prompt you for the GPG passphrase. It will then build and test webtau and publish all artifacts to Maven Central.

# Sit back, relax and enjoy the wait

At this stage, **be patient**. There is some delay completion of the `release:perform` step and the artifacts being
available in Maven Central. This is of the order of an hour. You can keep refreshing https://search.maven.org/search?q=g:com.twosigma.webtau%20AND%20a:webtau&core=gav
until you see your version.

0 comments on commit 9ec0562

Please sign in to comment.
You can’t perform that action at this time.