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 2022/10/24 20:20:06 UTC

[camel-quarkus] branch main updated: Sync camel-main / quarkus-main nightly CI workflows with the main workflow

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 44add4d71f Sync camel-main / quarkus-main nightly CI workflows with the main workflow
44add4d71f is described below

commit 44add4d71fb5717e04e82dc0ddca0ffc5e86bc8f
Author: James Netherton <ja...@gmail.com>
AuthorDate: Mon Oct 24 08:34:45 2022 +0100

    Sync camel-main / quarkus-main nightly CI workflows with the main workflow
    
    Fixes #3716
---
 .github/workflows/camel-master-cron.yaml   | 343 ++++++++++++++++++++++++++---
 .github/workflows/quarkus-master-cron.yaml | 341 +++++++++++++++++++++++++---
 2 files changed, 625 insertions(+), 59 deletions(-)

diff --git a/.github/workflows/camel-master-cron.yaml b/.github/workflows/camel-master-cron.yaml
index 581c602e47..11e56420f8 100644
--- a/.github/workflows/camel-master-cron.yaml
+++ b/.github/workflows/camel-master-cron.yaml
@@ -24,8 +24,9 @@ on:
 
 env:
   LANG: en_US.UTF-8
-  MAVEN_OPTS: -Xmx4000m
+  MAVEN_OPTS: -Xmx3000m
   MAVEN_ARGS: -V -ntp -Dhttp.keepAlive=false -e
+  BRANCH_OPTIONS: -Papache-snapshots
   TESTCONTAINERS_RYUK_DISABLED: true
   ISSUE_ID: 2927
 
@@ -33,27 +34,19 @@ jobs:
   initial-mvn-install:
     if: github.repository == 'apache/camel-quarkus'
     runs-on: ubuntu-latest
-    env:
-      MAVEN_OPTS: -Xmx4000m
     outputs:
       matrix: ${{ steps.set-native-matrix.outputs.matrix }}
+    env:
+      MAVEN_OPTS: -Xmx4000m
     steps:
+      - name: Check free space on disk
+        run: |
+          df -h /
       - name: Set up JDK 11
         uses: actions/setup-java@v2
         with:
           distribution: 'temurin'
           java-version: '11'
-      - name: Clean VM
-        run: |
-          echo "Removing unwanted SDKs"
-          sudo rm -rf /usr/local/lib/android \
-               rm -rf /usr/local/share/boost \
-               rm -rf /usr/local/go \
-               rm -rf /usr/share/dotnet \
-               rm -rf /usr/share/rust
-
-          echo "Available disk space:"
-          df -h
       - name: Set Workflow Build ID
         run: |
           [ ! -d ~/build-data ] && mkdir -p ~/build-data
@@ -70,17 +63,27 @@ jobs:
           git fetch origin main
           git rebase origin/main
           git rev-parse origin/main > ~/build-data/main-sha.txt
-      - name: Build Camel Quarkus
+      - name: mvn clean install -DskipTests
+        run: |
+          eval ./mvnw ${MAVEN_ARGS} ${BRANCH_OPTIONS} clean install -DskipTests -Dquarkus.build.skip
+      - name: Sync Maven properties
+        run: |
+          ./mvnw cq:sync-versions ${MAVEN_ARGS} -N
+      - name: Fail if there are uncommitted changes
+        shell: bash
         run: |
-          ./mvnw ${MAVEN_ARGS} clean install -Papache-snapshots --fail-at-end
+          [[ -z $(git status --porcelain | grep -v antora.yml) ]] || { echo 'There are uncommitted changes'; git status; exit 1; }
       - name: Tar Maven Repo
         shell: bash
-        run: tar -czf maven-repo.tgz -C ~ build-data .m2/repository
+        run: |
+          tar -czf ${{ runner.temp }}/maven-repo.tgz -C ~ build-data .m2/repository
+          ls -lh ${{ runner.temp }}/maven-repo.tgz
+          df -h /
       - name: Persist Maven Repo
         uses: actions/upload-artifact@v2
         with:
           name: maven-repo
-          path: maven-repo.tgz
+          path: ${{ runner.temp }}/maven-repo.tgz
           retention-days: 1
       - name: Setup Native Test Matrix
         id: set-native-matrix
@@ -105,19 +108,17 @@ jobs:
       fail-fast: false
       matrix: ${{ fromJson(needs.initial-mvn-install.outputs.matrix) }}
     steps:
-      - name: Set up JDK 11
-        uses: actions/setup-java@v2
-        with:
-          distribution: 'temurin'
-          java-version: '11'
       - name: Download Maven Repo
         uses: actions/download-artifact@v2
         with:
           name: maven-repo
-          path: .
+          path: ..
       - name: Extract Maven Repo
         shell: bash
-        run: tar -xzf maven-repo.tgz -C ~
+        run: |
+          df -h /
+          tar -xzf ../maven-repo.tgz -C ~
+          df -h /
       - name: Checkout
         uses: actions/checkout@v2
         with:
@@ -129,6 +130,11 @@ jobs:
           git config --local user.name "github-actions[bot]"
           git fetch origin main
           git rebase $(cat ~/build-data/main-sha.txt)
+      - name: Set up JDK 11
+        uses: actions/setup-java@v2
+        with:
+          distribution: 'temurin'
+          java-version: '11'
       - name: Integration Tests
         run: |
           for MODULE in $(yq -M -N e ".${{ matrix.category }}" tooling/scripts/test-categories.yaml | cut -f2 -d' '); do
@@ -145,7 +151,7 @@ jobs:
             fi
           done
 
-          if [[ ${#JVM_MODULES[@]} -eq 0 && ${#NATIVE_MODULES[@]} -eq 0 ]]; then
+          if [[ ${#JVM_MODULES[@]} -eq 0 ]] && [[ ${#NATIVE_MODULES[@]} -eq 0 ]]; then
             echo "No test modules were found for category ${{ matrix.category }}"
             exit 1
           fi
@@ -165,6 +171,282 @@ jobs:
               --fail-at-end \
               -pl "${NATIVE_MODULES[*]}"
           fi
+      - name: Fail if there are uncommitted changes
+        shell: bash
+        run: |
+          [[ -z $(git status --porcelain) ]] || { echo 'There are uncommitted changes'; git status; exit 1; }
+      - name: Report Build Failure
+        if: failure() || cancelled()
+        run: |
+          ./mvnw ${MAVEN_ARGS} verify -N -Pbuild-notification -Dstatus=${{ job.status }} -DissueId=${{ env.ISSUE_ID }} -Dtoken=${{ secrets.GITHUB_TOKEN }} -DbuildId=$(cat ~/build-data/build-id.txt) -Drepo=${GITHUB_REPOSITORY} -Dbranch=camel-main -Dbranch-commit=$(cat ~/build-data/main-sha.txt)
+
+  functional-extension-tests:
+    runs-on: ubuntu-latest
+    needs: initial-mvn-install
+    env:
+      MAVEN_OPTS: -Xmx3000m
+    steps:
+      - name: Download Maven Repo
+        uses: actions/download-artifact@v2
+        with:
+          name: maven-repo
+          path: ..
+      - name: Extract Maven Repo
+        shell: bash
+        run: |
+          df -h /
+          tar -xzf ../maven-repo.tgz -C ~
+          df -h /
+      - name: Checkout
+        uses: actions/checkout@v2
+        with:
+          ref: camel-main
+          fetch-depth: 0
+      - name: Rebase branch main onto camel-main
+        run: |
+          git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
+          git config --local user.name "github-actions[bot]"
+          git fetch origin main
+          git rebase $(cat ~/build-data/main-sha.txt)
+      - name: Set up JDK 11
+        uses: actions/setup-java@v2
+        with:
+          distribution: 'temurin'
+          java-version: '11'
+      - name: cd extensions-core && mvn test
+        run: |
+          cd extensions-core
+          ../mvnw ${MAVEN_ARGS} ${BRANCH_OPTIONS} \
+            -Dformatter.skip -Dimpsort.skip -Denforcer.skip -Dcamel-quarkus.update-extension-doc-page.skip \
+            test
+      - name: cd extensions && mvn test
+        run: |
+          cd extensions
+          ../mvnw ${MAVEN_ARGS} ${BRANCH_OPTIONS} \
+            -Dformatter.skip -Dimpsort.skip -Denforcer.skip -Dcamel-quarkus.update-extension-doc-page.skip \
+            test
+      - name: cd test-framework && mvn test
+        run: |
+          cd test-framework
+          ../mvnw ${MAVEN_ARGS} ${BRANCH_OPTIONS} \
+            -Dformatter.skip -Dimpsort.skip -Denforcer.skip -Dcamel-quarkus.update-extension-doc-page.skip \
+            test
+      - name: cd tooling/perf-regression && mvn verify
+        run: |
+          cd tooling/perf-regression
+          ../../mvnw ${MAVEN_ARGS} ${BRANCH_OPTIONS} \
+            -Dformatter.skip -Dimpsort.skip -Denforcer.skip \
+            verify
+      - name: cd catalog && mvn test
+        run: |
+          cd catalog
+          ../mvnw ${MAVEN_ARGS} ${BRANCH_OPTIONS} \
+            -Dformatter.skip -Dimpsort.skip -Denforcer.skip \
+            test
+      - name: Report Build Failure
+        if: failure() || cancelled()
+        run: |
+          ./mvnw ${MAVEN_ARGS} verify -N -Pbuild-notification -Dstatus=${{ job.status }} -DissueId=${{ env.ISSUE_ID }} -Dtoken=${{ secrets.GITHUB_TOKEN }} -DbuildId=$(cat ~/build-data/build-id.txt) -Drepo=${GITHUB_REPOSITORY} -Dbranch=camel-main -Dbranch-commit=$(cat ~/build-data/main-sha.txt)
+
+  extensions-jvm-tests:
+    runs-on: ubuntu-latest
+    needs: initial-mvn-install
+    strategy:
+      fail-fast: false
+      matrix:
+        java: [ '11', '17' ]
+    env:
+      MAVEN_OPTS: -Xmx3000m
+    steps:
+      - name: Download Maven Repo
+        uses: actions/download-artifact@v2
+        with:
+          name: maven-repo
+          path: ..
+      - name: Extract Maven Repo
+        shell: bash
+        run: |
+          df -h /
+          tar -xzf ../maven-repo.tgz -C ~
+          df -h /
+          hostname
+          hostname -f
+          hostname -A
+          HOSTS_LINE="127.0.0.1 $(hostname -f) $(hostname -A)"
+          echo "HOSTS_LINE=$HOSTS_LINE"
+          echo "${HOSTS_LINE}" | sudo tee -a /etc/hosts
+          cat /etc/hosts
+      - name: Checkout
+        uses: actions/checkout@v2
+        with:
+          ref: camel-main
+          fetch-depth: 0
+      - name: Rebase branch main onto camel-main
+        run: |
+          git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
+          git config --local user.name "github-actions[bot]"
+          git fetch origin main
+          git rebase $(cat ~/build-data/main-sha.txt)
+      - name: Set up JDK ${{ matrix.java }}
+        uses: actions/setup-java@v2
+        with:
+          distribution: 'temurin'
+          java-version: ${{ matrix.java }}
+      - name: cd integration-tests-jvm && mvn clean test
+        run: |
+          cd integration-tests-jvm
+          ../mvnw ${MAVEN_ARGS} ${BRANCH_OPTIONS} \
+            -Dformatter.skip -Dimpsort.skip -Denforcer.skip \
+            --fail-at-end \
+            clean test
+      - name: Report Build Failure
+        if: failure() || cancelled()
+        run: |
+          ./mvnw ${MAVEN_ARGS} verify -N -Pbuild-notification -Dstatus=${{ job.status }} -DissueId=${{ env.ISSUE_ID }} -Dtoken=${{ secrets.GITHUB_TOKEN }} -DbuildId=$(cat ~/build-data/build-id.txt) -Drepo=${GITHUB_REPOSITORY} -Dbranch=camel-main -Dbranch-commit=$(cat ~/build-data/main-sha.txt)
+
+  integration-tests-alternative-jdk:
+    runs-on: ubuntu-latest
+    needs: initial-mvn-install
+    env:
+      MAVEN_OPTS: -Xmx3000m
+    steps:
+      - name: Download Maven Repo
+        uses: actions/download-artifact@v2
+        with:
+          name: maven-repo
+          path: ..
+      - name: Extract Maven Repo
+        shell: bash
+        run: |
+          df -h /
+          tar -xzf ../maven-repo.tgz -C ~
+          df -h /
+      - name: Checkout
+        uses: actions/checkout@v2
+        with:
+          ref: camel-main
+          fetch-depth: 0
+      - name: Rebase branch main onto camel-main
+        run: |
+          git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
+          git config --local user.name "github-actions[bot]"
+          git fetch origin main
+          git rebase $(cat ~/build-data/main-sha.txt)
+      - name: Clean VM
+        run: |
+          echo "Removing unwanted SDKs"
+          sudo rm -rf /usr/local/lib/android \
+               rm -rf /usr/local/share/boost \
+               rm -rf /usr/local/go \
+               rm -rf /usr/share/dotnet \
+               rm -rf /usr/share/rust
+      - name: Set up JDK 17
+        uses: actions/setup-java@v2
+        with:
+          distribution: 'temurin'
+          java-version: '17'
+      - name: cd integration-tests && mvn clean verify
+        run: |
+          cd integration-tests
+          ../mvnw ${MAVEN_ARGS} ${BRANCH_OPTIONS} \
+            -Dformatter.skip -Dimpsort.skip -Denforcer.skip \
+            --fail-at-end \
+            clean verify
+
+  integration-tests-alternative-platform:
+    runs-on: ${{ matrix.os }}
+    needs: initial-mvn-install
+    strategy:
+      fail-fast: false
+      matrix:
+        os: [ 'windows-latest' ]
+    env:
+      MAVEN_OPTS: -Xmx3000m
+    steps:
+      - name: Download Maven Repo
+        uses: actions/download-artifact@v2
+        with:
+          name: maven-repo
+          path: ..
+      - name: Extract Maven Repo
+        shell: bash
+        run: |
+          tar -xzf ../maven-repo.tgz -C ~
+      - name: Checkout
+        uses: actions/checkout@v2
+        with:
+          ref: camel-main
+          fetch-depth: 0
+      - name: Rebase branch main onto camel-main
+        run: |
+          git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
+          git config --local user.name "github-actions[bot]"
+          git fetch origin main
+          git rebase $(cat ~/build-data/main-sha.txt)
+      - name: Set up JDK 11
+        uses: actions/setup-java@v2
+        with:
+          distribution: 'temurin'
+          java-version: '11'
+      - name: cd integration-tests && mvn clean verify
+        shell: bash
+        run: |
+          cd integration-tests
+          ../mvnw ${MAVEN_ARGS} ${BRANCH_OPTIONS} \
+            -Dskip-testcontainers-tests -Dformatter.skip -Dimpsort.skip -Denforcer.skip \
+            --fail-at-end \
+            clean verify
+      - name: Report Build Failure
+        if: failure() || cancelled()
+        run: |
+          ./mvnw ${MAVEN_ARGS} verify -N -Pbuild-notification -Dstatus=${{ job.status }} -DissueId=${{ env.ISSUE_ID }} -Dtoken=${{ secrets.GITHUB_TOKEN }} -DbuildId=$(cat ~/build-data/build-id.txt) -Drepo=${GITHUB_REPOSITORY} -Dbranch=camel-main -Dbranch-commit=$(cat ~/build-data/main-sha.txt)
+
+  examples-tests:
+    needs: initial-mvn-install
+    runs-on: ubuntu-latest
+    steps:
+      - name: Set up JDK 11
+        uses: actions/setup-java@v2
+        with:
+          distribution: 'temurin'
+          java-version: '11'
+      - name: Download Maven Repo
+        uses: actions/download-artifact@v2
+        with:
+          name: maven-repo
+          path: ..
+      - name: Extract Maven Repo
+        shell: bash
+        run: |
+          df -h /
+          tar -xzf ../maven-repo.tgz -C ~
+          df -h /
+      - name: Checkout
+        uses: actions/checkout@v2
+        with:
+          ref: camel-main
+          fetch-depth: 0
+      - name: Rebase branch main onto camel-main
+        run: |
+          git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
+          git config --local user.name "github-actions[bot]"
+          git fetch origin main
+          git rebase $(cat ~/build-data/main-sha.txt)
+      - name: set CQ_VERSION
+        run: echo "CQ_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV
+      - name: clone and verify examples
+        run: |
+          EXAMPLES_BRANCH="camel-quarkus-main"
+
+          if [[ ${GITHUB_REF_NAME} =~ [0-9]+.[0-9]+.x ]]; then
+              EXAMPLES_BRANCH=${GITHUB_REF_NAME}
+          fi
+
+          git clone --depth 1 --branch ${EXAMPLES_BRANCH} https://github.com/apache/camel-quarkus-examples.git \
+            && cd camel-quarkus-examples \
+            && echo "Current Examples commit:" $(git rev-parse HEAD) \
+            && mvn ${MAVEN_ARGS} ${BRANCH_OPTIONS} org.l2x6.cq:cq-maven-plugin:2.10.0:examples-set-platform -Dcq.camel-quarkus.version=${CQ_VERSION} \
+            && ./mvnw-for-each.sh ${MAVEN_ARGS} ${BRANCH_OPTIONS} -Pnative,docker clean verify
       - name: Report Build Failure
         if: failure() || cancelled()
         run: |
@@ -183,10 +465,13 @@ jobs:
         uses: actions/download-artifact@v2
         with:
           name: maven-repo
-          path: .
+          path: ..
       - name: Extract Maven Repo
         shell: bash
-        run: tar -xzf maven-repo.tgz -C ~
+        run: |
+          df -h /
+          tar -xzf ../maven-repo.tgz -C ~
+          df -h /
       - name: Checkout
         uses: actions/checkout@v2
         with:
@@ -202,7 +487,7 @@ jobs:
         id: report
         run: |
           ./mvnw ${MAVEN_ARGS} verify -N -Pbuild-notification -Dstatus=verify -DissueId=${{ env.ISSUE_ID }} -Dtoken=${{ secrets.GITHUB_TOKEN }} -DbuildId=$(cat ~/build-data/build-id.txt) -Drepo=${GITHUB_REPOSITORY} -Dbranch=camel-main -Dbranch-commit=$(cat ~/build-data/main-sha.txt)
-      - name: Sync branch Main to Camel Main
+      - name: Sync branch main to camel-main
         if: steps.report.outputs.overall_build_status == 'success'
         run: |
           git push --force-with-lease origin camel-main
diff --git a/.github/workflows/quarkus-master-cron.yaml b/.github/workflows/quarkus-master-cron.yaml
index 4cc3d2f7da..3049ebc2f2 100644
--- a/.github/workflows/quarkus-master-cron.yaml
+++ b/.github/workflows/quarkus-master-cron.yaml
@@ -24,7 +24,7 @@ on:
 
 env:
   LANG: en_US.UTF-8
-  MAVEN_OPTS: -Xmx4000m
+  MAVEN_OPTS: -Xmx3000m
   MAVEN_ARGS: -V -ntp -Dhttp.keepAlive=false -e
   TESTCONTAINERS_RYUK_DISABLED: true
   ISSUE_ID: 2926
@@ -33,27 +33,19 @@ jobs:
   initial-mvn-install:
     if: github.repository == 'apache/camel-quarkus'
     runs-on: ubuntu-latest
-    env:
-      MAVEN_OPTS: -Xmx4000m
     outputs:
       matrix: ${{ steps.set-native-matrix.outputs.matrix }}
+    env:
+      MAVEN_OPTS: -Xmx4000m
     steps:
+      - name: Check free space on disk
+        run: |
+          df -h /
       - name: Set up JDK 11
         uses: actions/setup-java@v2
         with:
           distribution: 'temurin'
           java-version: '11'
-      - name: Clean VM
-        run: |
-          echo "Removing unwanted SDKs"
-          sudo rm -rf /usr/local/lib/android \
-               rm -rf /usr/local/share/boost \
-               rm -rf /usr/local/go \
-               rm -rf /usr/share/dotnet \
-               rm -rf /usr/share/rust
-
-          echo "Available disk space:"
-          df -h
       - name: Set Workflow Build ID
         run: |
           [ ! -d ~/build-data ] && mkdir -p ~/build-data
@@ -76,20 +68,27 @@ jobs:
             && cd quarkus \
             && echo "Current Quarkus commit:" $(git rev-parse HEAD) \
             && ./mvnw ${MAVEN_ARGS} clean install -Dquickly
-      - name: Build Camel Quarkus
+      - name: mvn clean install -DskipTests
+        run: |
+          eval ./mvnw ${MAVEN_ARGS} ${BRANCH_OPTIONS} clean install -DskipTests -Dquarkus.build.skip
+      - name: Sync Maven properties
+        run: |
+          ./mvnw cq:sync-versions ${MAVEN_ARGS} -N
+      - name: Fail if there are uncommitted changes
+        shell: bash
         run: |
-          ./mvnw ${MAVEN_ARGS} clean install -Dquarkus.version=999-SNAPSHOT --fail-at-end
+          [[ -z $(git status --porcelain | grep -v antora.yml) ]] || { echo 'There are uncommitted changes'; git status; exit 1; }
       - name: Tar Maven Repo
         shell: bash
         run: |
-          tar -czf maven-repo.tgz -C ~ build-data .m2/repository
-          ls -lh maven-repo.tgz
-          df -h
+          tar -czf ${{ runner.temp }}/maven-repo.tgz -C ~ build-data .m2/repository
+          ls -lh ${{ runner.temp }}/maven-repo.tgz
+          df -h /
       - name: Persist Maven Repo
         uses: actions/upload-artifact@v2
         with:
           name: maven-repo
-          path: maven-repo.tgz
+          path: ${{ runner.temp }}/maven-repo.tgz
           retention-days: 1
       - name: Setup Native Test Matrix
         id: set-native-matrix
@@ -114,19 +113,17 @@ jobs:
       fail-fast: false
       matrix: ${{ fromJson(needs.initial-mvn-install.outputs.matrix) }}
     steps:
-      - name: Set up JDK 11
-        uses: actions/setup-java@v2
-        with:
-          distribution: 'temurin'
-          java-version: '11'
       - name: Download Maven Repo
         uses: actions/download-artifact@v2
         with:
           name: maven-repo
-          path: .
+          path: ..
       - name: Extract Maven Repo
         shell: bash
-        run: tar -xzf maven-repo.tgz -C ~
+        run: |
+          df -h /
+          tar -xzf ../maven-repo.tgz -C ~
+          df -h /
       - name: Checkout
         uses: actions/checkout@v2
         with:
@@ -138,6 +135,11 @@ jobs:
           git config --local user.name "github-actions[bot]"
           git fetch origin main
           git rebase $(cat ~/build-data/main-sha.txt)
+      - name: Set up JDK 11
+        uses: actions/setup-java@v2
+        with:
+          distribution: 'temurin'
+          java-version: '11'
       - name: Integration Tests
         run: |
           for MODULE in $(yq -M -N e ".${{ matrix.category }}" tooling/scripts/test-categories.yaml | cut -f2 -d' '); do
@@ -154,7 +156,7 @@ jobs:
             fi
           done
 
-          if [[ ${#JVM_MODULES[@]} -eq 0 && ${#NATIVE_MODULES[@]} -eq 0 ]]; then
+          if [[ ${#JVM_MODULES[@]} -eq 0 ]] && [[ ${#NATIVE_MODULES[@]} -eq 0 ]]; then
             echo "No test modules were found for category ${{ matrix.category }}"
             exit 1
           fi
@@ -174,6 +176,282 @@ jobs:
               --fail-at-end \
               -pl "${NATIVE_MODULES[*]}"
           fi
+      - name: Fail if there are uncommitted changes
+        shell: bash
+        run: |
+          [[ -z $(git status --porcelain) ]] || { echo 'There are uncommitted changes'; git status; exit 1; }
+      - name: Report Build Failure
+        if: failure() || cancelled()
+        run: |
+          ./mvnw ${MAVEN_ARGS} verify -N -Pbuild-notification -Dstatus=${{ job.status }} -DissueId=${{ env.ISSUE_ID }} -Dtoken=${{ secrets.GITHUB_TOKEN }} -DbuildId=$(cat ~/build-data/build-id.txt) -Drepo=${GITHUB_REPOSITORY} -Dbranch=quarkus-main -Dbranch-commit=$(cat ~/build-data/main-sha.txt)
+
+  functional-extension-tests:
+    runs-on: ubuntu-latest
+    needs: initial-mvn-install
+    env:
+      MAVEN_OPTS: -Xmx3000m
+    steps:
+      - name: Download Maven Repo
+        uses: actions/download-artifact@v2
+        with:
+          name: maven-repo
+          path: ..
+      - name: Extract Maven Repo
+        shell: bash
+        run: |
+          df -h /
+          tar -xzf ../maven-repo.tgz -C ~
+          df -h /
+      - name: Checkout
+        uses: actions/checkout@v2
+        with:
+          ref: quarkus-main
+          fetch-depth: 0
+      - name: Rebase branch main onto quarkus-main
+        run: |
+          git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
+          git config --local user.name "github-actions[bot]"
+          git fetch origin main
+          git rebase $(cat ~/build-data/main-sha.txt)
+      - name: Set up JDK 11
+        uses: actions/setup-java@v2
+        with:
+          distribution: 'temurin'
+          java-version: '11'
+      - name: cd extensions-core && mvn test
+        run: |
+          cd extensions-core
+          ../mvnw ${MAVEN_ARGS} ${BRANCH_OPTIONS} \
+            -Dformatter.skip -Dimpsort.skip -Denforcer.skip -Dcamel-quarkus.update-extension-doc-page.skip \
+            test
+      - name: cd extensions && mvn test
+        run: |
+          cd extensions
+          ../mvnw ${MAVEN_ARGS} ${BRANCH_OPTIONS} \
+            -Dformatter.skip -Dimpsort.skip -Denforcer.skip -Dcamel-quarkus.update-extension-doc-page.skip \
+            test
+      - name: cd test-framework && mvn test
+        run: |
+          cd test-framework
+          ../mvnw ${MAVEN_ARGS} ${BRANCH_OPTIONS} \
+            -Dformatter.skip -Dimpsort.skip -Denforcer.skip -Dcamel-quarkus.update-extension-doc-page.skip \
+            test
+      - name: cd tooling/perf-regression && mvn verify
+        run: |
+          cd tooling/perf-regression
+          ../../mvnw ${MAVEN_ARGS} ${BRANCH_OPTIONS} \
+            -Dformatter.skip -Dimpsort.skip -Denforcer.skip \
+            verify
+      - name: cd catalog && mvn test
+        run: |
+          cd catalog
+          ../mvnw ${MAVEN_ARGS} ${BRANCH_OPTIONS} \
+            -Dformatter.skip -Dimpsort.skip -Denforcer.skip \
+            test
+      - name: Report Build Failure
+        if: failure() || cancelled()
+        run: |
+          ./mvnw ${MAVEN_ARGS} verify -N -Pbuild-notification -Dstatus=${{ job.status }} -DissueId=${{ env.ISSUE_ID }} -Dtoken=${{ secrets.GITHUB_TOKEN }} -DbuildId=$(cat ~/build-data/build-id.txt) -Drepo=${GITHUB_REPOSITORY} -Dbranch=quarkus-main -Dbranch-commit=$(cat ~/build-data/main-sha.txt)
+
+  extensions-jvm-tests:
+    runs-on: ubuntu-latest
+    needs: initial-mvn-install
+    strategy:
+      fail-fast: false
+      matrix:
+        java: [ '11', '17' ]
+    env:
+      MAVEN_OPTS: -Xmx3000m
+    steps:
+      - name: Download Maven Repo
+        uses: actions/download-artifact@v2
+        with:
+          name: maven-repo
+          path: ..
+      - name: Extract Maven Repo
+        shell: bash
+        run: |
+          df -h /
+          tar -xzf ../maven-repo.tgz -C ~
+          df -h /
+          hostname
+          hostname -f
+          hostname -A
+          HOSTS_LINE="127.0.0.1 $(hostname -f) $(hostname -A)"
+          echo "HOSTS_LINE=$HOSTS_LINE"
+          echo "${HOSTS_LINE}" | sudo tee -a /etc/hosts
+          cat /etc/hosts
+      - name: Checkout
+        uses: actions/checkout@v2
+        with:
+          ref: quarkus-main
+          fetch-depth: 0
+      - name: Rebase branch main onto quarkus-main
+        run: |
+          git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
+          git config --local user.name "github-actions[bot]"
+          git fetch origin main
+          git rebase $(cat ~/build-data/main-sha.txt)
+      - name: Set up JDK ${{ matrix.java }}
+        uses: actions/setup-java@v2
+        with:
+          distribution: 'temurin'
+          java-version: ${{ matrix.java }}
+      - name: cd integration-tests-jvm && mvn clean test
+        run: |
+          cd integration-tests-jvm
+          ../mvnw ${MAVEN_ARGS} ${BRANCH_OPTIONS} \
+            -Dformatter.skip -Dimpsort.skip -Denforcer.skip \
+            --fail-at-end \
+            clean test
+      - name: Report Build Failure
+        if: failure() || cancelled()
+        run: |
+          ./mvnw ${MAVEN_ARGS} verify -N -Pbuild-notification -Dstatus=${{ job.status }} -DissueId=${{ env.ISSUE_ID }} -Dtoken=${{ secrets.GITHUB_TOKEN }} -DbuildId=$(cat ~/build-data/build-id.txt) -Drepo=${GITHUB_REPOSITORY} -Dbranch=quarkus-main -Dbranch-commit=$(cat ~/build-data/main-sha.txt)
+
+  integration-tests-alternative-jdk:
+    runs-on: ubuntu-latest
+    needs: initial-mvn-install
+    env:
+      MAVEN_OPTS: -Xmx3000m
+    steps:
+      - name: Download Maven Repo
+        uses: actions/download-artifact@v2
+        with:
+          name: maven-repo
+          path: ..
+      - name: Extract Maven Repo
+        shell: bash
+        run: |
+          df -h /
+          tar -xzf ../maven-repo.tgz -C ~
+          df -h /
+      - name: Checkout
+        uses: actions/checkout@v2
+        with:
+          ref: quarkus-main
+          fetch-depth: 0
+      - name: Rebase branch main onto quarkus-main
+        run: |
+          git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
+          git config --local user.name "github-actions[bot]"
+          git fetch origin main
+          git rebase $(cat ~/build-data/main-sha.txt)
+      - name: Clean VM
+        run: |
+          echo "Removing unwanted SDKs"
+          sudo rm -rf /usr/local/lib/android \
+               rm -rf /usr/local/share/boost \
+               rm -rf /usr/local/go \
+               rm -rf /usr/share/dotnet \
+               rm -rf /usr/share/rust
+      - name: Set up JDK 17
+        uses: actions/setup-java@v2
+        with:
+          distribution: 'temurin'
+          java-version: '17'
+      - name: cd integration-tests && mvn clean verify
+        run: |
+          cd integration-tests
+          ../mvnw ${MAVEN_ARGS} ${BRANCH_OPTIONS} \
+            -Dformatter.skip -Dimpsort.skip -Denforcer.skip \
+            --fail-at-end \
+            clean verify
+
+  integration-tests-alternative-platform:
+    runs-on: ${{ matrix.os }}
+    needs: initial-mvn-install
+    strategy:
+      fail-fast: false
+      matrix:
+        os: [ 'windows-latest' ]
+    env:
+      MAVEN_OPTS: -Xmx3000m
+    steps:
+      - name: Download Maven Repo
+        uses: actions/download-artifact@v2
+        with:
+          name: maven-repo
+          path: ..
+      - name: Extract Maven Repo
+        shell: bash
+        run: |
+          tar -xzf ../maven-repo.tgz -C ~
+      - name: Checkout
+        uses: actions/checkout@v2
+        with:
+          ref: quarkus-main
+          fetch-depth: 0
+      - name: Rebase branch main onto quarkus-main
+        run: |
+          git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
+          git config --local user.name "github-actions[bot]"
+          git fetch origin main
+          git rebase $(cat ~/build-data/main-sha.txt)
+      - name: Set up JDK 11
+        uses: actions/setup-java@v2
+        with:
+          distribution: 'temurin'
+          java-version: '11'
+      - name: cd integration-tests && mvn clean verify
+        shell: bash
+        run: |
+          cd integration-tests
+          ../mvnw ${MAVEN_ARGS} ${BRANCH_OPTIONS} \
+            -Dskip-testcontainers-tests -Dformatter.skip -Dimpsort.skip -Denforcer.skip \
+            --fail-at-end \
+            clean verify
+      - name: Report Build Failure
+        if: failure() || cancelled()
+        run: |
+          ./mvnw ${MAVEN_ARGS} verify -N -Pbuild-notification -Dstatus=${{ job.status }} -DissueId=${{ env.ISSUE_ID }} -Dtoken=${{ secrets.GITHUB_TOKEN }} -DbuildId=$(cat ~/build-data/build-id.txt) -Drepo=${GITHUB_REPOSITORY} -Dbranch=quarkus-main -Dbranch-commit=$(cat ~/build-data/main-sha.txt)
+
+  examples-tests:
+    needs: initial-mvn-install
+    runs-on: ubuntu-latest
+    steps:
+      - name: Set up JDK 11
+        uses: actions/setup-java@v2
+        with:
+          distribution: 'temurin'
+          java-version: '11'
+      - name: Download Maven Repo
+        uses: actions/download-artifact@v2
+        with:
+          name: maven-repo
+          path: ..
+      - name: Extract Maven Repo
+        shell: bash
+        run: |
+          df -h /
+          tar -xzf ../maven-repo.tgz -C ~
+          df -h /
+      - name: Checkout
+        uses: actions/checkout@v2
+        with:
+          ref: quarkus-main
+          fetch-depth: 0
+      - name: Rebase branch main onto quarkus-main
+        run: |
+          git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
+          git config --local user.name "github-actions[bot]"
+          git fetch origin main
+          git rebase $(cat ~/build-data/main-sha.txt)
+      - name: set CQ_VERSION
+        run: echo "CQ_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV
+      - name: clone and verify examples
+        run: |
+          EXAMPLES_BRANCH="camel-quarkus-main"
+
+          if [[ ${GITHUB_REF_NAME} =~ [0-9]+.[0-9]+.x ]]; then
+              EXAMPLES_BRANCH=${GITHUB_REF_NAME}
+          fi
+
+          git clone --depth 1 --branch ${EXAMPLES_BRANCH} https://github.com/apache/camel-quarkus-examples.git \
+            && cd camel-quarkus-examples \
+            && echo "Current Examples commit:" $(git rev-parse HEAD) \
+            && mvn ${MAVEN_ARGS} ${BRANCH_OPTIONS} org.l2x6.cq:cq-maven-plugin:2.10.0:examples-set-platform -Dcq.camel-quarkus.version=${CQ_VERSION} \
+            && ./mvnw-for-each.sh ${MAVEN_ARGS} ${BRANCH_OPTIONS} -Pnative,docker clean verify
       - name: Report Build Failure
         if: failure() || cancelled()
         run: |
@@ -192,10 +470,13 @@ jobs:
         uses: actions/download-artifact@v2
         with:
           name: maven-repo
-          path: .
+          path: ..
       - name: Extract Maven Repo
         shell: bash
-        run: tar -xzf maven-repo.tgz -C ~
+        run: |
+          df -h /
+          tar -xzf ../maven-repo.tgz -C ~
+          df -h /
       - name: Checkout
         uses: actions/checkout@v2
         with: