You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ja...@apache.org on 2021/03/30 13:25:38 UTC

[camel-quarkus] branch master updated: Document the process for maintaining (quarkus | camel)-master branches

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

jamesnetherton pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git


The following commit(s) were added to refs/heads/master by this push:
     new 8283c9f  Document the process for maintaining (quarkus | camel)-master branches
8283c9f is described below

commit 8283c9f16a9120c417491573f34e4db8a1542d62
Author: James Netherton <ja...@gmail.com>
AuthorDate: Tue Mar 30 08:43:25 2021 +0100

    Document the process for maintaining (quarkus | camel)-master branches
    
    Fixes #2406
---
 docs/modules/ROOT/pages/contributor-guide/ci.adoc | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/docs/modules/ROOT/pages/contributor-guide/ci.adoc b/docs/modules/ROOT/pages/contributor-guide/ci.adoc
index d06d4bd..3ae1585 100644
--- a/docs/modules/ROOT/pages/contributor-guide/ci.adoc
+++ b/docs/modules/ROOT/pages/contributor-guide/ci.adoc
@@ -11,6 +11,28 @@
 |quarkus-master| To verify camel-quarkus against the latest Quarkus SNAPSHOT release
 |===
 
+=== Branch maintenance
+
+Some scheduled build jobs (mentioned below) run each day to synchronize branches `camel-master` & `quarkus-master` with the latest work from the `master` branch.
+
+Sometimes these jobs fail and it is necessary to fix any issues and manually rebase the branches. The process for doing this is as follows.
+
+1. Depending on which branch you're rebasing, you may want to begin by building the latest Camel `master` or Quarkus `main` branch to avoid pulling in non-deterministic SNAPSHOT artifacts. Otherwise you can build the branches and activate the relevant SNAPSHOT repositories via Maven profiles `-Papache-snapshots` or `-Poss-snapshots`.
+
+2. Checkout the branch you want to work on. E.g. `git checkout camel-master`. Make sure the core component version properties in the root `pom.xml` are set correctly. E.g `camel.version` the parent version for `camel-dependencies` & `quarkus.version`.
+
+3. Ensure your local repository is up-to-date with the remote. `git pull -r`. 
+
+4. Synchronize the branch with the latest work from the master branch. The 'origin' remote is assumed here but you can substitute this for whatever reference you want to work with. `git fetch origin master && git rebase origin/camel-master`. You may need to fix up merge conflicts.
+
+5. Build the project quickly `mvn clean install -Dquickly -T1C`. Remember to activate any required SNAPSHOT profiles if required.
+
+6. Now you can proceed to work on fixing issues and committing the code. Any problems that are found to originate in Camel or Quarkus should be tracked by issues that you create in those projects.
+
+7. When pushing changes, it's likely that you'll need to 'force push'. I.e with `--force` or in case others are working simultaneously on the same branch `--force-with-lease`.
+
+8. Follow the GitHub CI build to verify that the project builds successfully.
+
 == Builds
 
 https://github.com/apache/camel-quarkus/actions?query=workflow%3A%22Camel+Quarkus+CI%22