Skip to content

Release process and versioning

Nicolas Séverin edited this page Jun 10, 2022 · 6 revisions

This page is meant to briefly summarize our release process as well as our versioning conventions and mechanism.

Release process

Our artifacts are published into Nexus Sonatype OSS repository. Both final and unstable releases are managed via Github Workflow included in this repository.

Unstable releases

Every push event on a branch that is different from the default one (main) leads to an unstable release onto Nexus Sonatype snapshot repository. External developers can integrate against snapshot repositories by declaring the snapshot repository as defined in our README.

Final releases

Stable releases are instead created on push event on the default branch, and published to the main Sonatype repository and streamed to Maven Central.

Versioning

We adhere to Semantic Versioning conventions while versioning our library.

As opposed to the standard tagging/versioning system used for internal services in TrueLayer, on this repository we adopted a different approach based on the project version declared in the library gradle.properties file. The value in there is considered as the actual value for final versions of the library and as base version for unstable releases.

Final releases

For example if a value of version=0.4.12 would lead to a final release with the following identifier com.truelayer:truelayer-java:0.4.12.

Unstable releases

The same version, when present on a development branch (e.g. one called jasdk-48) would lead to the following snapshot release com.truelayer:truelayer-java:0.4.12-jsdk-48-SNAPSHOT.

Clone this wiki locally