From cea5210446022b077e5e8fa1d959500b51e9c7b7 Mon Sep 17 00:00:00 2001 From: Vladimir Sitnikov Date: Sun, 7 Jan 2018 15:47:55 +0300 Subject: [PATCH] docs: document release via Travis --- README.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/README.md b/README.md index f5dc839..30eaa9a 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,28 @@ Git repository typically contains -SNAPSHOT versions, so you can use the followi ## Releasing a new version +### Release via Travis + +To release a branch via Travis, perform the following: + +TL;DR: + + git checkout -B release/master origin/master + git push origin release/master + +1. Check if `pom.xml` includes proper `-SNAPSHOT` versions (release versions would be the ones without `-SNAPSHOT`) +1. Check if there are `RELx.y.z` tags left behind from unsuccessful release attempts +1. Push `release/master` branch to pointing to the commit you want to release + + Travis would build new version, create a tag, update `pom.xml` to the next snapshot versions, and update `master` branch accordingly. + + Note: the artifacts will not be visible in Maven Central before you manually release them. + +1. Navigate to [Sonatype Nexus Repository Manager](https://oss.sonatype.org/#stagingRepositories), find staging `orgpostgresql` repository there and release it + + +### Manual release + Procedure: To commit updates to version in `pom.xml` files and create a tag, issue: @@ -66,6 +88,13 @@ If staged artifacts look fine, release it mvn nexus-staging:release -DstagingRepositoryId=orgpostgresql-1082 +### In case release fails + +In case release fails, the following cleanup is required: + +1. Git tags. For instance: `git push origin :RELx.y.z` +1. Drop staging repository (if exists). Navigate to [Sonatype Nexus Repository Manager](https://oss.sonatype.org/#stagingRepositories), find staging `orgpostgresql` repository there and drop it + ## Dependencies `pgjdbc-parent-poms` has little to no dependencies itself. It just lists defaults to be used by core `pgjdbc` project.