Skip to content
This repository has been archived by the owner on Sep 15, 2020. It is now read-only.

docs: document release via Travis #12

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,27 @@ 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:
Expand All @@ -66,6 +87,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.
Expand Down