### What changes were proposed in this pull request? Enable CI for Celeborn Master/Worker and Client with Spark 3.3/3.4 ### Why are the changes needed? Ensure Celeborn works on Java 17. Note: there may be some code paths that are not covered by tests, we should fix them in the future. ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? Pass GA Closes #1649 from pan3793/CELEBORN-738. Authored-by: Cheng Pan <chengpan@apache.org> Signed-off-by: Cheng Pan <chengpan@apache.org>
164 lines
4.6 KiB
YAML
164 lines
4.6 KiB
YAML
# This workflow will build a Java project with Maven
|
|
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
|
|
|
|
name: Celeborn CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- branch-*
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
- branch-*
|
|
|
|
jobs:
|
|
service:
|
|
runs-on: ubuntu-22.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
java:
|
|
- 8
|
|
- 11
|
|
- 17
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Setup JDK ${{ matrix.java }}
|
|
uses: actions/setup-java@v2
|
|
with:
|
|
distribution: zulu
|
|
java-version: ${{ matrix.java }}
|
|
cache: maven
|
|
check-latest: false
|
|
- name: Test Service with Maven
|
|
run: build/mvn -Pgoogle-mirror test
|
|
- name: Upload test log
|
|
if: failure()
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: service-unit-test-log
|
|
path: |
|
|
**/target/unit-tests.log
|
|
- name: Upload coverage to Codecov
|
|
if: matrix.java == 8
|
|
uses: codecov/codecov-action@v3
|
|
|
|
spark2:
|
|
runs-on: ubuntu-22.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
java:
|
|
- 8
|
|
spark:
|
|
- '2.4'
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Setup JDK ${{ matrix.java }}
|
|
uses: actions/setup-java@v2
|
|
with:
|
|
distribution: zulu
|
|
java-version: ${{ matrix.java }}
|
|
cache: maven
|
|
check-latest: false
|
|
- name: Test with Maven
|
|
run: |
|
|
SPARK_BINARY_VERSION=${{ matrix.spark }}
|
|
SPARK_MAJOR_VERSION=${SPARK_BINARY_VERSION%%.*}
|
|
PROFILES="-Pgoogle-mirror,spark-${{ matrix.spark }}"
|
|
TEST_MODULES="client-spark/common,client-spark/spark-${SPARK_MAJOR_VERSION},client-spark/spark-${SPARK_MAJOR_VERSION}-shaded,tests/spark-it"
|
|
build/mvn $PROFILES -pl $TEST_MODULES -am clean install -DskipTests
|
|
build/mvn $PROFILES -pl $TEST_MODULES test
|
|
- name: Upload test log
|
|
if: failure()
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: spark-${{ matrix.spark }}-unit-test-log
|
|
path: |
|
|
**/target/unit-tests.log
|
|
|
|
spark3:
|
|
runs-on: ubuntu-22.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
java:
|
|
- 8
|
|
- 11
|
|
- 17
|
|
spark:
|
|
- '3.0'
|
|
- '3.1'
|
|
- '3.2'
|
|
- '3.3'
|
|
- '3.4'
|
|
exclude:
|
|
# SPARK-33772: Spark supports JDK 17 since 3.3.0
|
|
- java: 17
|
|
spark: '3.0'
|
|
- java: 17
|
|
spark: '3.1'
|
|
- java: 17
|
|
spark: '3.2'
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Setup JDK ${{ matrix.java }}
|
|
uses: actions/setup-java@v2
|
|
with:
|
|
distribution: zulu
|
|
java-version: ${{ matrix.java }}
|
|
cache: maven
|
|
check-latest: false
|
|
- name: Test with Maven
|
|
run: |
|
|
SPARK_BINARY_VERSION=${{ matrix.spark }}
|
|
SPARK_MAJOR_VERSION=${SPARK_BINARY_VERSION%%.*}
|
|
PROFILES="-Pgoogle-mirror,spark-${{ matrix.spark }}"
|
|
TEST_MODULES="client-spark/common,client-spark/spark-${SPARK_MAJOR_VERSION},client-spark/spark-${SPARK_MAJOR_VERSION}-shaded,tests/spark-it"
|
|
build/mvn $PROFILES -pl $TEST_MODULES -am clean install -DskipTests
|
|
build/mvn $PROFILES -pl $TEST_MODULES test
|
|
- name: Upload test log
|
|
if: failure()
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: spark-${{ matrix.spark }}-unit-test-log
|
|
path: |
|
|
**/target/unit-tests.log
|
|
|
|
flink:
|
|
runs-on: ubuntu-22.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
java:
|
|
- 8
|
|
- 11
|
|
flink:
|
|
- '1.14'
|
|
- '1.15'
|
|
- '1.17'
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Setup JDK ${{ matrix.java }}
|
|
uses: actions/setup-java@v2
|
|
with:
|
|
distribution: zulu
|
|
java-version: ${{ matrix.java }}
|
|
cache: maven
|
|
check-latest: false
|
|
- name: Test with Maven
|
|
run: |
|
|
PROFILES="-Pgoogle-mirror,flink-${{ matrix.flink }}"
|
|
TEST_MODULES="client-flink/common,client-flink/flink-${{ matrix.flink }},client-flink/flink-${{ matrix.flink }}-shaded,tests/flink-it"
|
|
build/mvn $PROFILES -pl $TEST_MODULES -am clean install -DskipTests
|
|
build/mvn $PROFILES -pl $TEST_MODULES test
|
|
- name: Upload test log
|
|
if: failure()
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: flink-${{ matrix.flink }}-unit-test-log
|
|
path: |
|
|
**/target/unit-tests.log
|