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 <jamesnether...@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

Reply via email to