This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 68debebc1a85 chore(doc): gpg importing process
68debebc1a85 is described below

commit 68debebc1a85f6cf99793466e8f23874463619da
Author: Pasquale Congiusti <[email protected]>
AuthorDate: Tue Jan 13 10:08:02 2026 +0100

    chore(doc): gpg importing process
    
    Closes CAMEL-20282
---
 .../modules/ROOT/pages/release-guide.adoc          | 112 ++++++++++++++++-----
 1 file changed, 87 insertions(+), 25 deletions(-)

diff --git a/docs/user-manual/modules/ROOT/pages/release-guide.adoc 
b/docs/user-manual/modules/ROOT/pages/release-guide.adoc
index 4ea42ecaa7d7..fa62cd21456c 100644
--- a/docs/user-manual/modules/ROOT/pages/release-guide.adoc
+++ b/docs/user-manual/modules/ROOT/pages/release-guide.adoc
@@ -1,7 +1,6 @@
 = Release Guide
 
-This guide covers how to create and announce a Camel release.
-Instructions on updating the website to include the new documentation version 
are xref:release-guide-website.adoc[here].
+This guide covers how to create and announce a Camel release. Instructions on 
updating the website to include the new documentation version are 
xref:release-guide-website.adoc[here].
 
 [[ReleaseGuide-Prequisites]]
 == Prequisites
@@ -13,10 +12,73 @@ To prepare or perform a release, you *must be* at least an 
Apache Camel committe
 * Your public key should also be cross-signed by other Apache committers (this 
can be done at key signing parties at
 ApacheCon, for instance).
 * Make sure you have the correct maven configuration in `~/.m2/settings.xml`.
-* https://github.com/takari/maven-wrapper[Maven Wrapper] is used and bundled 
with Camel 2.21 onwards and should be used
-for building the release.
 * You may want to get familiar with the release settings in the parent Apache 
POM.
-* Make sure you are using Java 11 for Apache Camel 3 and Java 21 for Apache 
Camel 4.
+* Make sure you are using the expected supported Java version.
+
+[[ReleaseGuide-GPG]]
+== GPG setup
+
+NOTE: this step is required and is the same whether you're releasing the main 
Camel project or any of the subproject (eg, camel-k, camel-quarkus, ...).
+
+Here some quick notes about how to configure the GPG key (this will be 
required just once, typically the first time you do a release). If you're on a 
Linux distribution, you should have `gpg` binary available: try with `gpg 
--version`.
+
+=== Create a new GPG key
+
+----
+gpg --full-gen-key
+----
+
+This command will prompt a series of requests you'll need to fill. Have a look 
at the procedure described in 
https://cwiki.apache.org/confluence/display/PEGASUS/Configure+GPG+key[another 
Apache project page] for more details.
+
+Once you have created your key, it is convenient you add it to the `KEYS` file 
in root Camel github repository. IMPORTANT: always export the GPG key to the 
main project, even if the release concerns a Camel subproject.
+
+----
+gpg --list-sigs "[email protected]" >> KEYS && gpg --armor --export 
"[email protected]" >> KEYS
+----
+
+At this stage you should commit the change and provide a PR to the project 
with the changes done in the KEYS file.
+
+=== Sync GPG keys
+
+Everytime there is a change in the source GPG keys on the main project you 
need to synchronize with the dist Camel project, in order to correctly provide 
the KEYS file to the expected location. You need to use `svn` tool and 
authenticate with your Apache credentials. Once it's done you can proceed like 
the following:
+
+----
+svn checkout https://dist.apache.org/repos/dist/release/camel camel-dist
+cd camel-dist
+cp /path/to/repo/camel/KEYS . # replace the path with your main project 
repository
+svn commit -m "Add GPG key for Your Name"
+----
+
+The change will be applied to the `dist` repository and after a few minutes 
will be synchronized with the https://downloads.apache.org/camel/ public 
repository which is the one we use to provide the GPG KEYS. After every change 
in this file it would be convenient to send a short email to 
[email protected] to let everybody know about the new addition.
+
+=== Promote the GPG key publicly
+
+You also need to recover your fingerprint and copy to the 
https://id.apache.org account:
+
+----
+$ gpg --fingerprint
+
+pub   rsa4096 2023-05-26 [SC]
+      xyzz accc brrr dsad 1234  1234 1234 1234 1234 1234    <-- This is the 
fingerprint!
+uid           [ultimate] Pasquale Congiusti (gpg key) <[email protected]>
+sub   rsa4096 2023-05-26 [E]
+----
+
+Once this step is over, you will need to send your GPG key to certain serves 
used later when verifying the signed pushed artifacts:
+
+----
+$ gpg -k
+
+pub   rsa4096 2023-05-26 [SC]
+      1234123412341234123412341132132131312123            <-- This is the key 
you need!
+uid           [ultimate] Pasquale Congiusti (gpg key) <[email protected]>
+sub   rsa4096 2023-05-26 [E]
+
+gpg --keyserver hkp://keyserver.ubuntu.com --send-keys 
1234123412341234123412341132132131312123
+gpg --keyserver hkp://keys.openpgp.org --send-keys 
1234123412341234123412341132132131312123
+----
+
+Now you can proceed with the release.
 
 [[ReleaseGuide-MavenSetup]]
 == Maven Setup
@@ -85,7 +147,7 @@ Complete the following steps to create a new Camel release:
 
 . Grab the latest source from Git, checkout the target branch (`BRANCH_NAME`) 
to build from, and create a release branch off of that branch:
 
-  
+
   $ git clone https://git-wip-us.apache.org/repos/asf/camel.git
   $ cd camel
   $ git checkout BRANCH_NAME
@@ -93,10 +155,10 @@ Complete the following steps to create a new Camel release:
 
 . Perform a license check with 
http://creadur.apache.org/rat/apache-rat-plugin[Apache Rat]:
 
-  
+
   ./mvnw -e org.apache.rat:apache-rat-plugin:check
   grep -e ' !?????' target/rat.txt
-  
+
 
 *  The latter command will provide a list of all files without valid license 
headers.
   Ideally this list is empty, otherwise fix the issues by adding valid license 
headers and rerun the above commands before
@@ -104,9 +166,9 @@ Complete the following steps to create a new Camel release:
 
 . Do a release dry run to check for problems:
 
-  
+
   ./mvnw release:prepare -DdryRun -Prelease
-  
+
 
 * The release plugin will prompt for a release version, an SCM tag and the 
next release version.
 
@@ -118,13 +180,13 @@ Complete the following steps to create a new Camel 
release:
 
 * Make sure to check the generated signature files:
 
-  
-  $ gpg --verify core/target/core-4.18.0-SNAPSHOT.pom.asc 
+
+  $ gpg --verify core/target/core-4.18.0-SNAPSHOT.pom.asc
   gpg: assuming signed data in 'core/target/core-4.18.0-SNAPSHOT.pom'
   gpg: Signature made Thu 08 Jan 2026 10:07:47 AM CET
   gpg:                using EDDSA key D5A8412A12BFEBD9C7362CD8CED552456D5000FB
   gpg: Good signature from "AurĂ©lien Pupier <[email protected]>" [ultimate]
- 
+
 
 . Prepare the release:
 
@@ -182,12 +244,12 @@ Complete the following steps to create a new 
Camel-spring-boot release:
 . From Camel 3.3.0 ahead, the camel-spring-boot project uses 
camel-dependencies as parent.
 You'll need to set the version here 
https://github.com/apache/camel-spring-boot/blob/master/pom.xml#L26
 To the version released from the main Camel repository as the first step.
-  
+
 . Perform a license check with 
http://creadur.apache.org/rat/apache-rat-plugin[Apache Rat]:
 
   ./mvnw -e org.apache.rat:apache-rat-plugin:check
   grep -e ' !?????' target/rat.txt
-  
+
 *  The latter command will provide a list of all files without valid license 
headers.
   Ideally this list is empty, otherwise fix the issues by adding valid license 
headers and rerun the above commands before
   proceeding with the next step.
@@ -198,7 +260,7 @@ Change the camel-version property in 
https://github.com/apache/camel-spring-boot
 . Do a release dry run to check for problems:
 
   ./mvnw release:prepare -DdryRun -Prelease
-  
+
  * The release plugin will prompt for a release version, an SCM tag and the 
next release version.
 
 *  Use a three digit release version of the form: `MAJOR.MINOR.PATCH`, e.g. 
`3.0.0`.
@@ -213,7 +275,7 @@ Change the camel-version property in 
https://github.com/apache/camel-spring-boot
   gpg: assuming signed data in 
`core/camel-spring-boot/target/camel-spring-boot-3.0.0-SNAPSHOT.jar'
   gpg: Signature made Sat 06 Apr 2019 03:58:01 AM PDT using RSA key ID 5942C049
   gpg: Good signature from "Gregor Zurowski <[email protected]>"
- 
+
 . Prepare the release:
 
 * First clean up the dry run results:
@@ -277,7 +339,7 @@ This will release the artifacts.
 
   cd ${CAMEL_ROOT_DIR}/etc/scripts
   ./release-distro.sh <Camel version>
-  
+
 . Copy SBOMs to Apache website:
 
   cd ${CAMEL_ROOT_DIR}/etc/scripts
@@ -343,7 +405,7 @@ Once the release train (camel and camel-spring-boot) has 
been voted and publishe
 * Update the `camel.version` properties to the next version
 
 * Run the following command to advance the version in the examples
-  
+
   $ find . -type f -exec sed -i 's/$oldVersion/$newVersion/g' {} +
 
 * To be sure everything is fine, run:
@@ -355,15 +417,15 @@ Once the release train (camel and camel-spring-boot) has 
been voted and publishe
 * On https://github.com/apache/camel-spring-boot-examples in the 
examples/pom.xml file the following steps are necessary:
 
 * Update the camel-dependencies version to the version coming from the 
release-train
-    
+
 * Update the `camel.version` properties to the version coming from the 
release-train
-    
+
 * To be sure everything is fine, run:
-      
+
   $ ./mvnw clean install
-    
+
 * Commit
-  
+
   $ git commit -a
   $ git push origin master (or the branch related to the release, eg. 
camel-3.4.x)
   $ git tag -a camel-spring-boot-examples-$version -m "$version"
@@ -378,7 +440,7 @@ Once the release train (camel and camel-spring-boot) has 
been voted and publishe
 * Run the following command to advance the version in the examples
 
   $ find . -type f -exec sed -i 's/$oldVersion/$newVersion/g' {} +
-   
+
 * To be sure everything is fine, run:
 
   $ ./mvnw clean install

Reply via email to