Apache Camel Quarkus release process

The process is mutatis mutandis the same as for the main Apache Camel repository - see the Release guide page of the Camel documentation.

Here, just a sketch of the repeating part, after you have performed the initial setup following the Camel Release guide.

Pre release tasks

  • Check for an updated release of the Quarkus Qpid JMS Extension that aligns with the Quarkus version that Camel Quarkus is using. If one is available, update the quarkus-qpid-jms.version property in the project root pom.xml.

  • Close the GitHub release milestone and assign any remaining issues that aren’t covered by the release to the next milestone

Create a release branch

$ export VERSION=... # the version you are releasing, e.g. 0.1.0
$ export NEXT_VERSION=... # the next development iteration, e.g. 0.1.1-SNAPSHOT
$ git fetch upstream # upstream is git@github.com:apache/camel-quarkus.git
$ git checkout master # master is the branch from which you want to release
$ git reset --hard upstream/master # make sure you are in sync with upstream
$ git checkout -b release/$VERSION

release:prepare and release:perform

With Camel Quarkus, adding -Prelease to release:prepare and release:perform is not necessary, because all necessary profiles are set in the configuration of the maven-release-plugin.

The Maven command to release is as follows:

$ mvn clean release:clean release:prepare -DreleaseVersion=$VERSION -DdevelopmentVersion=$NEXT_VERSION -B release:perform

In case release:prepare is successful but an issue occurs during release:perform, it could be worth trying to resume from the failing artifact. For instance, would an issue occurs while performing the release of camel-quarkus-openapi-java, a resume attempt could be triggered as below:

$ mvn -DskipTests -Denforcer.skip -Dquarkus.build.skip -Dformatter.skip -Dimpsort.skip deploy -Papache-release -rf :camel-quarkus-openapi-java

Further steps

In addition to the above, the following is needed:

  • After releasing the staging repository on https://repository.apache.org, update the value of camel-quarkus-last-release attribute in the camel-quarkus antora.yml component descriptor.

  • Check the state of camel-quarkus-master branch in the Examples repository. If the version properties are in sync with new Camel Quarkus release and if the tests are passing, merge camel-quarkus-master to master.