You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pc...@apache.org on 2023/05/29 16:27:04 UTC

[camel-k] 02/02: chore(ci): release doc polishing

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-k.git

commit 33b99501279b2cebae69257fa5f8f3bafe5618e4
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Mon May 29 18:15:19 2023 +0200

    chore(ci): release doc polishing
---
 release.adoc | 61 +++++++++++++++++++++++++-----------------------------------
 1 file changed, 25 insertions(+), 36 deletions(-)

diff --git a/release.adoc b/release.adoc
index af67561d9..1d193d8f8 100644
--- a/release.adoc
+++ b/release.adoc
@@ -6,37 +6,50 @@ the technical process changes.
 
 NOTE: starting Camel K version 2, the release process of Kamelets catalog and Camel K Runtime is independent.
 
+[[releasing-settings]]
+== First time settings
+
+If it's the first time you are releasing Camel K, you may be required to follow certain configuration for `gpg` and `maven`. Just follow the instructions you can find in https://github.com/apache/camel-k-runtime[Camel K Runtime project] about release. They contain a simplified guidelines to the more generic https://github.com/apache/camel/blob/main/docs/user-manual/modules/ROOT/pages/release-guide.adoc[Camel release guide] required to setup the Maven environment and gpg for the release.
+
+=== Docker Hub staging setting
+
+This project staging is hosted on https://hub.docker.com/orgs/camelk/repositories[CamelK Docker Hub organization]. Make sure one of the organization administrator grant your personal user the right priviledges to push an image to this org.
+
+[[releasing-camel-k]]
+== Release Camel K
+
+As the process will do `git` operations, it is advisable that you clone the Camel K repository to some new location (ie /tmp/) in order to avoid to conflict with any other development in progress. Consider if you're about to release from `main` branch (generally a new major or minor version) or from a `release` branch (when you're about to release a patch version). In the latter case, you need to checkout to the proper release branch, ie `git checkout release-1.12.x`.
+
 [[releasing-camel-k-crds]]
-== Releasing Camel K CRD dependency
+=== Release Camel K CRD dependency
 
 Camel K ships a Maven dependency containing the CRDs required in Kubernetes. This dependency is available in `/java/` directory and has to be released togheter with Camel K. The process below is the same used for Camel K Runtime.
 
-Follow the https://github.com/apache/camel/blob/main/docs/user-manual/modules/ROOT/pages/release-guide.adoc[Camel release guide] in order to setup the Maven environment and gpg for the release.
-
 To prepare a release and check problems:
 ```
-./java/mvnw release:prepare -DdryRun -Prelease
+cd java
+./mvnw release:prepare -Prelease -DautoVersionSubmodules=true -DdryRun
 ```
 
 Check the signatures of the files, then clean and prepare the actual release:
 
 ```
-./java/mvnw release:clean -Prelease
-./java/mvnw release:prepare -Prelease
+./mvnw release:clean -Prelease
+./mvnw release:prepare -Prelease -Duser=<your Apache LDAP id> [-Dpassword=<your Apache LDAP pwd>] -Darguments=-DskipTests -DautoVersionSubmodules=true
 ```
 
 Then perform the release:
 
 ```
-./java/mvnw release:perform -Prelease
+./mvnw release:perform -Prelease [-s path/to/your/settings.xml]
 ```
 
 Go to https://repository.apache.org/ and close the staging repository.
 
 A URL will be generated for the repository, like: https://repository.apache.org/content/repositories/orgapachecamel-xxxx. The URL needs to be communicated during the voting process.
 
-[[releasing-camel-k]]
-== Releasing Camel K
+[[release-camel-k-operator]]
+=== Release Camel K Operator and CLI
 
 Releasing the Camel K main artifacts require some manual steps.
 
@@ -48,6 +61,7 @@ The following tasks need to be done:
 
 - Align `KAMELET_CATALOG_REPO_TAG` in Makefile to latest released tag of the camel-kamelets repository
 - Align `RUNTIME_VERSION` in Makefile to latest Camel K Runtime release
+- Set the proper `VERSION`, likely just remove `-SNAPSHOT` suffix
 - Ensure `LAST_RELEASED_VERSION` points to latest released version of Camel K
 
 ```
@@ -57,32 +71,10 @@ make clean codegen set-version build-resources check-licenses
 Rebuild auto-generated data, including trait info:
 
 ```
-make generate
+make generate clean build-resources build
 ```
 
-Remove all snapshot files in the `/resources` directory, then run again:
-```
-# After removing snapshots from /resources
-make clean build-resources
-```
-
-Run build and basic tests:
-```
-make
-```
-
-Sync the main branch (with your changes) with upstream.
-
-```
-git add *
-git commit -m "preparing for next release"
-# assuming write permissions
-git push upstream main
-```
-
-If you are on an active branch and you're going to release on it the command will be
-
-Sync the main branch (with your changes) with upstream.
+Commit and push the changes done so far.
 
 ```
 git add *
@@ -93,9 +85,7 @@ git push upstream <branch_name>
 
 Now the release on staging can be executed.
 
-Change the version on Makefile to next version of camel-k (usually, just remove '-SNAPSHOT' from the version)
 ```
-# after removing '-SNAPSHOT' from current VERSION in makefile
 make release-staging
 ```
 
@@ -112,7 +102,6 @@ This will upload the sources, client and examples to the dist/dev repository in
 
 A docker image `camelk/camel-k:<version>` will be pushed to the staging organization (`camelk`, not `apache`).
 
-
 [[testing]]
 == Do some testing