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]