Publishing Release Binaries

FHIR libraries rely on Azure Pipelines for both SNAPSHOT and release deployments. These are automated, and all releases should be done via these pipelines, not locally.

Built binaries are hosted on OSSRH.

Publishing Locally:

To test your changes locally before pushing to the remote repo, you can publish locally. As with most maven projects, running mvn install from the root directory will install the built SNAPSHOT version in your local ~/.m2/repository directory.

How SNAPSHOT Builds are Generated:

All successful merges and pushes to master branch result in a SNAPSHOT build being published to OSSRH. SNAPSHOT version is determined by the artifact version specified in the base directory pom.xml file. The following pom.xml file will generate version 1.1.15-SNAPSHOT:

    <groupId>org.hl7.fhir.testcases</groupId>
    <artifactId>fhir-test-cases</artifactId>
    <version>1.1.15-SNAPSHOT</version>
    <packaging>jar</packaging>

Publishing Release Builds:

Releases are triggered through Azure pipelines from the master branch. All release pipeline runs result in a release build being published to OSSRH. The release version is derived from the current version in the base directory pom.xml file. This value will then be incremented by the deployment pipeline. For example, if a release is published with the following pom.xml:

    <groupId>org.hl7.fhir.testcases</groupId>
    <artifactId>fhir-test-cases</artifactId>
    <version>1.1.15-SNAPSHOT</version>
    <packaging>jar</packaging>

The deployment pipeline will release version 1.1.15 to maven, as a non-SNAPSHOT release, then increment the version number to 1.1.16-SNAPSHOT and commit the new pom.xml changes to master.

This release is tagged and pushed to GitHub, and the release notes are pulled from the RELEASE_NOTES.md file in the base directory of the project. This file is then automatically cleared and committed by Azure after each release.

For more details on creating releases, please see the detailed release instructions.

Updated: