This is an automated email from the ASF dual-hosted git repository.
jamesnetherton pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/main by this push:
new 7a46824645 Make it clear which steps within the release guide are not
applicable to patch releases
7a46824645 is described below
commit 7a46824645fea13383d5bf68ec6130cef2216d7a
Author: James Netherton <[email protected]>
AuthorDate: Mon Jun 23 09:51:05 2025 +0100
Make it clear which steps within the release guide are not applicable to
patch releases
---
.../pages/contributor-guide/release-guide.adoc | 44 +++++++++++++++++-----
1 file changed, 35 insertions(+), 9 deletions(-)
diff --git a/docs/modules/ROOT/pages/contributor-guide/release-guide.adoc
b/docs/modules/ROOT/pages/contributor-guide/release-guide.adoc
index daf2e21116..48eed7b1f1 100644
--- a/docs/modules/ROOT/pages/contributor-guide/release-guide.adoc
+++ b/docs/modules/ROOT/pages/contributor-guide/release-guide.adoc
@@ -9,7 +9,9 @@ The process is oriented toward releasing the main branch, some
adjustments might
Here, just a sketch of the repeating part, after you have performed the
initial setup following the
xref:manual::release-guide.adoc[Camel Release guide].
-== Pre release tasks
+== Pre-release tasks
+
+For new major / minor version releases:
* When releasing after a recent Quarkus release, check for new releases of
third party Quarkus extensions we depend on.
They are listed in the
https://github.com/apache/camel-quarkus/blob/main/pom.xml#L48-L61[Primary
dependencies] section of the top level `pom.xml`.
@@ -17,7 +19,13 @@ xref:manual::release-guide.adoc[Camel Release guide].
Note that some of the versions are mandated by quarkus, so camel-quarkus
should use the same values as the quarkus-platform bom.
* Close the GitHub release
https://github.com/apache/camel-quarkus/milestones[milestone] and assign any
remaining issues that aren't covered by the release to the next milestone
-== Create a release branch
+For patch version releases:
+
+* Create and immediately close an empty milestone for the patch version you
plan to release. This is required for the Camel Website release metadata.
+
+== Set up a release branch
+
+For new major / minor version releases from the `main` branch:
[source,shell]
----
@@ -30,6 +38,17 @@ git reset --hard upstream/main # make sure you are in sync
with upstream
git checkout -b $BRANCH
----
+For patch releases where a release maintenance branch already exists:
+
+[source,shell]
+----
+export BRANCH=3.20.x # The maintenance branch you want to release from
+git checkout $BRANCH
+git reset --hard upstream/$BRANCH
+export VERSION=$(mvn help:evaluate -Dexpression=project.version -q
-DforceStdout | sed 's|-SNAPSHOT||') # the version you are releasing, e.g. 0.1.0
+export NEXT_VERSION=$(echo ${VERSION} | awk -F. -v OFS=.
'{$NF++;print}')-SNAPSHOT # the next development iteration, e.g. 0.1.1-SNAPSHOT
+----
+
== `release:prepare` and `release:perform`
With Camel Quarkus, adding `-Prelease` to `release:prepare` and
`release:perform` is not necessary,
@@ -149,16 +168,18 @@ java -jar target/quarkus-app/quarkus-run.jar --help
== Start an upstream vote
Send a mail to start the upstream vote.
-There are plenty of mails on the dev mailing list to get inspiration from.
+There are plenty of mails on the dev mailing list to get
https://lists.apache.org/thread/ntjrw585l5mjtrsvd6sn530boh43ccqo[inspiration]
from.
For instance, one could search mail with subject below:
[source,shell]
----
-[VOTE] Release Camel Quarkus 3.0.0-M1
+[VOTE] Release Camel Quarkus 3.0.0
----
== Next version in Camel Quarkus main branch
+The following steps apply only after a new major / minor release. They can be
skipped for patch version releases.
+
If there are no substantial commits in the release branch, which need to get
merged/cherry-picked to `main`, you can
perform this step right after creating the release branch. Otherwise, e.g. if
there is a Camel upgrade in the release
branch which is not available on Maven Central yet, it is better to perform
this step after the new Camel release is
@@ -185,13 +206,13 @@ git commit -am "Next is $NEXT_SNAPSHOT"
== Close the upstream vote
-After 72h, the vote may need to be closed.
-There are plenty of mails on the dev mailing list to get inspiration from.
+After at least 72 hours has past, close the vote.
+There are plenty of mails on the dev mailing list to get
https://lists.apache.org/thread/shyfw2ltrxknnzb26nf71bc406lxvsp4[inspiration]
from.
For instance, one could search mail with subject:
[source,shell]
----
-[Result][VOTE] Release Apache Camel Quarkus 3.0.0-M1
+[Result][VOTE] Release Apache Camel Quarkus 3.0.0
----
== Release the Apache staging repository after the vote
@@ -302,6 +323,7 @@
https://{link-quarkus-code-generator}/[{link-quarkus-code-generator}] as well as
----
git clone [email protected]:quarkusio/quarkus-platform.git
----
+* For patch releases `git checkout` the appropriate platform maintenance
branch (e.g 3.20).
+
* Change `camel-quarkus.version` property in the Quarkus platform top level
`https://github.com/quarkusio/quarkus-platform/blob/main/pom.xml#L54[pom.xml]`
to the newly released version:
+
@@ -365,7 +387,8 @@ The following needs to be done:
* Leave "Release title" empty
* Choose the tag of the previous release from the "Previous tag" select field
* Click the "Generate release notes" button. It should generate a summary
all changes for the release.
- * In addition you can add links to blog posts if required. e.g. something
like
+ * Unless the release is genuinely the latest version (E.g. the highest
major.minor.patch), uncheck option `Set as the latest release`
+ * In addition, you can add links to blog posts if required. e.g. something
like
+
[source,markdown]
----
@@ -390,6 +413,9 @@ This section needs to be executed only when a Quarkus
Platform release has been
It should be the case most of the time.
In this case, right after the newest Quarkus Platform becomes available on
https://repo1.maven.org/maven2/io/quarkus/platform/quarkus-bom/[Maven Central]:
+NOTE: For patch releases, the instructions that follow are mostly the same.
Except that you must `git checkout` the desired maintenance branch (E.g
3.20.x), perform any updates on there and send PRs to the same upstream
maintenance branch.
+There is no need to interact with the `camel-quarkus-main` branch in this case.
+
* Make sure all https://github.com/apache/camel-quarkus-examples/pulls[PRs]
against `camel-quarkus-main` branch are merged.
* The examples should use Quarkus Platform BOMs in the `main` branch. To set
it do the following:
+
@@ -408,7 +434,7 @@ git commit -m "Upgrade to Quarkus Platform
$NEW_PLATFORM_VERSION"
+
[source,shell]
----
-./mvnw-for-each.sh clean verify -Dnative
+./mvnw-for-each.sh clean verify
----
+
* If everything works for you locally, open a PR to merge `camel-quarkus-main`
to `main`