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

adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/master by this push:
     new b87f977ef2 HDDS-10854. Run full Ozone CI with specific Ratis commit 
(#6822)
b87f977ef2 is described below

commit b87f977ef235b7ecb2062c0196dcd0a36157d6e2
Author: Doroszlai, Attila <[email protected]>
AuthorDate: Tue Jun 18 14:19:21 2024 +0200

    HDDS-10854. Run full Ozone CI with specific Ratis commit (#6822)
---
 .github/workflows/build-ratis.yml   |  2 +-
 .github/workflows/ci-with-ratis.yml | 52 ++++++++++++++++++++++++++++++++++++
 .github/workflows/ci.yml            | 53 ++++++++++++++++++++++++++++++++-----
 3 files changed, 100 insertions(+), 7 deletions(-)

diff --git a/.github/workflows/build-ratis.yml 
b/.github/workflows/build-ratis.yml
index 5ea673aaaa..201a62e85f 100644
--- a/.github/workflows/build-ratis.yml
+++ b/.github/workflows/build-ratis.yml
@@ -92,7 +92,7 @@ jobs:
           echo "ratis=${ratis_version}" >> $GITHUB_OUTPUT
       - name: Run a full build
         run: |
-          mvn versions:set -DnewVersion=${{ steps.versions.outputs.ratis }} 
-Dscan=false
+          mvn -B --no-transfer-progress -Dscan=false versions:set 
-DnewVersion=${{ steps.versions.outputs.ratis }}
           dev-support/checks/build.sh
       - name: Store Maven repo for tests
         uses: actions/upload-artifact@v4
diff --git a/.github/workflows/ci-with-ratis.yml 
b/.github/workflows/ci-with-ratis.yml
new file mode 100644
index 0000000000..3c24f968eb
--- /dev/null
+++ b/.github/workflows/ci-with-ratis.yml
@@ -0,0 +1,52 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# This workflow tests Ozone with custom build of Ratis.
+#
+# Inputs:
+# - Ozone commit to build
+# - Ratis repo
+# - Ratis commit to build
+
+name: ci-with-ratis
+on:
+  workflow_dispatch:
+    inputs:
+      ref:
+        description: Ozone ref (branch, tag or commit SHA)
+        default: master
+        required: true
+      ratis-repo:
+        description: Ratis repository
+        default: 'apache/ratis'
+        required: true
+      ratis-ref:
+        description: Ratis ref (branch, tag or commit SHA)
+        default: 'master'
+        required: true
+run-name: Test Ozone ${{ inputs.ref }} with Ratis ${{ inputs.ratis-repo }} @ 
${{ inputs.ratis-ref }}
+jobs:
+  ratis:
+    uses: ./.github/workflows/build-ratis.yml
+    with:
+      repo: ${{ github.event.inputs.ratis-repo || format('{0}/ratis', 
github.repository_owner) }}
+      ref: ${{ github.event.inputs.ratis-ref }}
+  ozone:
+    needs:
+      - ratis
+    uses: ./.github/workflows/ci.yml
+    secrets: inherit
+    with:
+      ratis_args: "-Dratis.version=${{ needs.ratis.outputs.ratis-version }} 
-Dratis.thirdparty.version=${{ needs.ratis.outputs.thirdparty-version }} 
-Dio.grpc.version=${{ needs.ratis.outputs.grpc-version }} -Dnetty.version=${{ 
needs.ratis.outputs.netty-version }} -Dgrpc.protobuf-compile.version=${{ 
needs.ratis.outputs.protobuf-version }}"
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 7ffb9426a6..29a73b5871 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -15,6 +15,12 @@
 name: full-ci
 on:
   workflow_call:
+    inputs:
+      ratis_args:
+        type: string
+        description: Version overrides from custom Ratis build
+        default: ''
+        required: false
 env:
   FAIL_FAST: ${{ github.event_name == 'pull_request' }}
   MAVEN_OPTS: -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false 
-Dmaven.wagon.http.retryHandler.class=standard 
-Dmaven.wagon.http.retryHandler.count=3
@@ -99,13 +105,20 @@ jobs:
           key: maven-repo-${{ hashFiles('**/pom.xml') }}
           restore-keys: |
             maven-repo-
+      - name: Download Ratis repo
+        if: ${{ inputs.ratis_args != '' }}
+        uses: actions/download-artifact@v4
+        with:
+          name: ratis-jars
+          path: |
+            ~/.m2/repository/org/apache/ratis
       - name: Setup java
         uses: actions/setup-java@v4
         with:
           distribution: 'temurin'
           java-version: ${{ matrix.java }}
       - name: Run a full build
-        run: hadoop-ozone/dev-support/checks/build.sh -Pdist -Psrc
+        run: hadoop-ozone/dev-support/checks/build.sh -Pdist -Psrc ${{ 
inputs.ratis_args }}
         env:
           DEVELOCITY_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
       - name: Store binaries for tests
@@ -168,13 +181,20 @@ jobs:
           key: maven-repo-${{ hashFiles('**/pom.xml') }}
           restore-keys: |
             maven-repo-
+      - name: Download Ratis repo
+        if: ${{ inputs.ratis_args != '' }}
+        uses: actions/download-artifact@v4
+        with:
+          name: ratis-jars
+          path: |
+            ~/.m2/repository/org/apache/ratis
       - name: Setup java
         uses: actions/setup-java@v4
         with:
           distribution: 'temurin'
           java-version: ${{ matrix.java }}
       - name: Compile Ozone using Java ${{ matrix.java }}
-        run: hadoop-ozone/dev-support/checks/build.sh -Dskip.npx 
-Dskip.installnpx -Djavac.version=${{ matrix.java }}
+        run: hadoop-ozone/dev-support/checks/build.sh -Dskip.npx 
-Dskip.installnpx -Djavac.version=${{ matrix.java }} ${{ inputs.ratis_args }}
         env:
           OZONE_WITH_COVERAGE: false
           DEVELOCITY_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
@@ -207,13 +227,20 @@ jobs:
           restore-keys: |
             maven-repo-
         if: ${{ !contains('author,bats,docs', matrix.check) }}
+      - name: Download Ratis repo
+        if: ${{ inputs.ratis_args != '' }}
+        uses: actions/download-artifact@v4
+        with:
+          name: ratis-jars
+          path: |
+            ~/.m2/repository/org/apache/ratis
       - name: Setup java
         uses: actions/setup-java@v4
         with:
           distribution: 'temurin'
           java-version: 8
       - name: Execute tests
-        run: hadoop-ozone/dev-support/checks/${{ matrix.check }}.sh
+        run: hadoop-ozone/dev-support/checks/${{ matrix.check }}.sh ${{ 
inputs.ratis_args }}
         continue-on-error: true
         env:
           DEVELOCITY_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
@@ -246,13 +273,20 @@ jobs:
           key: maven-repo-${{ hashFiles('**/pom.xml') }}
           restore-keys: |
             maven-repo-
+      - name: Download Ratis repo
+        if: ${{ inputs.ratis_args != '' }}
+        uses: actions/download-artifact@v4
+        with:
+          name: ratis-jars
+          path: |
+            ~/.m2/repository/org/apache/ratis
       - name: Setup java
         uses: actions/setup-java@v4
         with:
           distribution: 'temurin'
           java-version: 8
       - name: Execute tests
-        run: hadoop-ozone/dev-support/checks/${{ github.job }}.sh
+        run: hadoop-ozone/dev-support/checks/${{ github.job }}.sh ${{ 
inputs.ratis_args }}
         continue-on-error: true
         env:
           DEVELOCITY_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
@@ -451,6 +485,13 @@ jobs:
           key: maven-repo-${{ hashFiles('**/pom.xml') }}
           restore-keys: |
             maven-repo-
+      - name: Download Ratis repo
+        if: ${{ inputs.ratis_args != '' }}
+        uses: actions/download-artifact@v4
+        with:
+          name: ratis-jars
+          path: |
+            ~/.m2/repository/org/apache/ratis
       - name: Setup java
         uses: actions/setup-java@v4
         with:
@@ -459,9 +500,9 @@ jobs:
       - name: Execute tests
         continue-on-error: true
         run: |
-          args=
+          args="${{ inputs.ratis_args }}"
           if [[ "${{ matrix.profile }}" == "flaky" ]]; then
-            args="-Dsurefire.rerunFailingTestsCount=5 
-Dsurefire.fork.timeout=3600"
+            args="$args -Dsurefire.rerunFailingTestsCount=5 
-Dsurefire.fork.timeout=3600"
           fi
 
           hadoop-ozone/dev-support/checks/integration.sh -P${{ matrix.profile 
}} ${args}


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to