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

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


The following commit(s) were added to refs/heads/master by this push:
     new e95b4cf0d3 [build] Optimize github actions structure and execution 
(#5134)
e95b4cf0d3 is described below

commit e95b4cf0d3a08b052d34c38b0db126822714cf90
Author: Yubin Li <[email protected]>
AuthorDate: Mon Mar 3 15:57:36 2025 +0800

    [build] Optimize github actions structure and execution (#5134)
---
 .github/workflows/check-licensing.yml              |  6 +--
 .github/workflows/docs-tests.yml                   |  4 +-
 .github/workflows/e2e-tests-1.15-jdk11.yml         | 58 ----------------------
 .github/workflows/e2e-tests-1.15.yml               | 58 ----------------------
 .github/workflows/e2e-tests-1.16.yml               | 58 ----------------------
 .github/workflows/e2e-tests-1.17-jdk11.yml         | 58 ----------------------
 .github/workflows/e2e-tests-1.17.yml               | 57 ---------------------
 .github/workflows/e2e-tests-1.18-jdk11.yml         | 58 ----------------------
 .github/workflows/e2e-tests-1.18.yml               | 57 ---------------------
 .github/workflows/e2e-tests-1.19-jdk11.yml         | 58 ----------------------
 .github/workflows/e2e-tests-1.19.yml               | 57 ---------------------
 .github/workflows/e2e-tests-1.20-jdk11.yml         | 58 ----------------------
 ...ts-1.16-jdk11.yml => e2e-tests-flink-jdk11.yml} | 34 +++++++++----
 .../{e2e-tests-1.20.yml => e2e-tests-flink.yml}    | 33 ++++++++----
 .github/workflows/flink-cdc-tests-jdk11.yml        | 56 ---------------------
 .github/workflows/flink-cdc-tests.yml              | 56 ---------------------
 .github/workflows/publish_snapshot.yml             |  8 +--
 .github/workflows/utitcase-flink-jdk11.yml         |  6 +--
 .github/workflows/utitcase-flink.yml               | 34 ++++++++-----
 .github/workflows/utitcase-jdk11.yml               |  6 +--
 .github/workflows/utitcase-spark-3.x.yml           | 10 ++--
 .github/workflows/utitcase-spark-4.x.yml           | 10 ++--
 .github/workflows/utitcase.yml                     | 24 ++++-----
 23 files changed, 104 insertions(+), 760 deletions(-)

diff --git a/.github/workflows/check-licensing.yml 
b/.github/workflows/check-licensing.yml
index 494a772e89..101d331e90 100644
--- a/.github/workflows/check-licensing.yml
+++ b/.github/workflows/check-licensing.yml
@@ -30,13 +30,13 @@ jobs:
       MVN_VALIDATION_DIR: "/tmp/paimon-validation-deployment"
 
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v4
 
       - name: Set JDK
-        uses: actions/setup-java@v2
+        uses: actions/setup-java@v4
         with:
           java-version: 8
-          distribution: 'adopt'
+          distribution: 'temurin'
       - name: Build
         run: |
           set -o pipefail
diff --git a/.github/workflows/docs-tests.yml b/.github/workflows/docs-tests.yml
index 1faec3ea3a..7aa809f421 100644
--- a/.github/workflows/docs-tests.yml
+++ b/.github/workflows/docs-tests.yml
@@ -30,10 +30,10 @@ jobs:
 
     steps:
       - name: Checkout code
-        uses: actions/checkout@v2
+        uses: actions/checkout@v4
 
       - name: Setup Hugo
-        uses: peaceiris/actions-hugo@v2
+        uses: peaceiris/actions-hugo@v3
         with:
           hugo-version: '0.124.1'
           extended: true
diff --git a/.github/workflows/e2e-tests-1.15-jdk11.yml 
b/.github/workflows/e2e-tests-1.15-jdk11.yml
deleted file mode 100644
index ceca929857..0000000000
--- a/.github/workflows/e2e-tests-1.15-jdk11.yml
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-#  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.
-################################################################################
-
-name: End to End Tests Flink 1.15 on JDK 11
-
-on:
-  issue_comment:
-    types: [created, edited, deleted]
-
-  # daily run
-  schedule:
-    - cron: "0 0 * * *"
-
-env:
-  JDK_VERSION: 11
-
-jobs:
-  build:
-    if: |
-      github.event_name == 'schedule' ||
-      (contains(github.event.comment.html_url, '/pull/') && 
contains(github.event.comment.body, '/jdk11'))
-    runs-on: ubuntu-latest
-
-    steps:
-      - name: Checkout code
-        uses: actions/checkout@v2
-      - name: Set up JDK ${{ env.JDK_VERSION }}
-        uses: actions/setup-java@v2
-        with:
-          java-version: ${{ env.JDK_VERSION }}
-          distribution: 'adopt'
-      - name: Build Flink 1.15
-        run: mvn -T 1C -B clean install -DskipTests -Pflink-1.15
-      - name: Test Flink 1.15
-        timeout-minutes: 60
-        run: |
-          # run tests with random timezone to find out timezone related bugs
-          . .github/workflows/utils.sh
-          jvm_timezone=$(random_timezone)
-          echo "JVM timezone is set to $jvm_timezone"
-          mvn -T 1C -B test -pl paimon-e2e-tests -Duser.timezone=$jvm_timezone 
-Pflink-1.15
-        env:
-          MAVEN_OPTS: -Xmx4096m
\ No newline at end of file
diff --git a/.github/workflows/e2e-tests-1.15.yml 
b/.github/workflows/e2e-tests-1.15.yml
deleted file mode 100644
index 7248522c74..0000000000
--- a/.github/workflows/e2e-tests-1.15.yml
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-#  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.
-################################################################################
-
-name: End to End Tests Flink 1.15
-
-on:
-  push:
-  pull_request:
-    paths-ignore:
-      - 'docs/**'
-      - '**/*.md'
-
-env:
-  JDK_VERSION: 8
-
-concurrency:
-  group: ${{ github.workflow }}-${{ github.event_name }}-${{ 
github.event.number || github.run_id }}
-  cancel-in-progress: true
-
-jobs:
-  build:
-    runs-on: ubuntu-latest
-
-    steps:
-      - name: Checkout code
-        uses: actions/checkout@v2
-      - name: Set up JDK ${{ env.JDK_VERSION }}
-        uses: actions/setup-java@v2
-        with:
-          java-version: ${{ env.JDK_VERSION }}
-          distribution: 'adopt'
-      - name: Build Flink 1.15
-        run: mvn -T 1C -B clean install -DskipTests -Pflink-1.15
-      - name: Test Flink 1.15
-        timeout-minutes: 60
-        run: |
-          # run tests with random timezone to find out timezone related bugs
-          . .github/workflows/utils.sh
-          jvm_timezone=$(random_timezone)
-          echo "JVM timezone is set to $jvm_timezone"
-          mvn -T 1C -B test -pl paimon-e2e-tests -Duser.timezone=$jvm_timezone 
-Pflink-1.15
-        env:
-          MAVEN_OPTS: -Xmx4096m
\ No newline at end of file
diff --git a/.github/workflows/e2e-tests-1.16.yml 
b/.github/workflows/e2e-tests-1.16.yml
deleted file mode 100644
index f655506c49..0000000000
--- a/.github/workflows/e2e-tests-1.16.yml
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-#  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.
-################################################################################
-
-name: End to End Tests Flink 1.16
-
-on:
-  push:
-  pull_request:
-    paths-ignore:
-      - 'docs/**'
-      - '**/*.md'
-
-env:
-  JDK_VERSION: 8
-
-concurrency:
-  group: ${{ github.workflow }}-${{ github.event_name }}-${{ 
github.event.number || github.run_id }}
-  cancel-in-progress: true
-
-jobs:
-  build:
-    runs-on: ubuntu-latest
-
-    steps:
-      - name: Checkout code
-        uses: actions/checkout@v2
-      - name: Set up JDK ${{ env.JDK_VERSION }}
-        uses: actions/setup-java@v2
-        with:
-          java-version: ${{ env.JDK_VERSION }}
-          distribution: 'adopt'
-      - name: Build Flink 1.16
-        run: mvn -T 1C -B clean install -DskipTests -Pflink-1.16
-      - name: Test Flink 1.16
-        timeout-minutes: 60
-        run: |
-          # run tests with random timezone to find out timezone related bugs
-          . .github/workflows/utils.sh
-          jvm_timezone=$(random_timezone)
-          echo "JVM timezone is set to $jvm_timezone"
-          mvn -T 1C -B test -pl paimon-e2e-tests -Duser.timezone=$jvm_timezone 
-Pflink-1.16
-        env:
-          MAVEN_OPTS: -Xmx4096m
\ No newline at end of file
diff --git a/.github/workflows/e2e-tests-1.17-jdk11.yml 
b/.github/workflows/e2e-tests-1.17-jdk11.yml
deleted file mode 100644
index 912bd0cbd1..0000000000
--- a/.github/workflows/e2e-tests-1.17-jdk11.yml
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-#  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.
-################################################################################
-
-name: End to End Tests Flink 1.17 on JDK 11
-
-on:
-  issue_comment:
-    types: [created, edited, deleted]
-
-  # daily run
-  schedule:
-    - cron: "0 0 * * *"
-
-env:
-  JDK_VERSION: 11
-
-jobs:
-  build:
-    if: |
-      github.event_name == 'schedule' ||
-      (contains(github.event.comment.html_url, '/pull/') && 
contains(github.event.comment.body, '/jdk11'))
-    runs-on: ubuntu-latest
-
-    steps:
-      - name: Checkout code
-        uses: actions/checkout@v2
-      - name: Set up JDK ${{ env.JDK_VERSION }}
-        uses: actions/setup-java@v2
-        with:
-          java-version: ${{ env.JDK_VERSION }}
-          distribution: 'adopt'
-      - name: Build Flink 1.17
-        run: mvn -T 1C -B clean install -DskipTests -Pflink-1.17
-      - name: Test Flink 1.17
-        timeout-minutes: 60
-        run: |
-          # run tests with random timezone to find out timezone related bugs
-          . .github/workflows/utils.sh
-          jvm_timezone=$(random_timezone)
-          echo "JVM timezone is set to $jvm_timezone"
-          mvn -T 1C -B test -pl paimon-e2e-tests -Duser.timezone=$jvm_timezone 
-Pflink-1.17
-        env:
-          MAVEN_OPTS: -Xmx4096m
\ No newline at end of file
diff --git a/.github/workflows/e2e-tests-1.17.yml 
b/.github/workflows/e2e-tests-1.17.yml
deleted file mode 100644
index 12d4836b13..0000000000
--- a/.github/workflows/e2e-tests-1.17.yml
+++ /dev/null
@@ -1,57 +0,0 @@
-################################################################################
-#  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.
-################################################################################
-
-name: End to End Tests Flink 1.17
-
-on:
-  push:
-  pull_request:
-    paths-ignore:
-      - 'docs/**'
-      - '**/*.md'
-
-env:
-  JDK_VERSION: 8
-
-concurrency:
-  group: ${{ github.workflow }}-${{ github.event_name }}-${{ 
github.event.number || github.run_id }}
-  cancel-in-progress: true
-
-jobs:
-  build:
-    runs-on: ubuntu-latest
-    steps:
-      - name: Checkout code
-        uses: actions/checkout@v2
-      - name: Set up JDK ${{ env.JDK_VERSION }}
-        uses: actions/setup-java@v2
-        with:
-          java-version: ${{ env.JDK_VERSION }}
-          distribution: 'adopt'
-      - name: Build Flink 1.17
-        run: mvn -T 1C -B clean install -DskipTests -Pflink-1.17
-      - name: Test Flink 1.17
-        timeout-minutes: 60
-        run: |
-          # run tests with random timezone to find out timezone related bugs
-          . .github/workflows/utils.sh
-          jvm_timezone=$(random_timezone)
-          echo "JVM timezone is set to $jvm_timezone"
-          mvn -T 1C -B test -pl paimon-e2e-tests -Duser.timezone=$jvm_timezone 
-Pflink-1.17
-        env:
-          MAVEN_OPTS: -Xmx4096m
\ No newline at end of file
diff --git a/.github/workflows/e2e-tests-1.18-jdk11.yml 
b/.github/workflows/e2e-tests-1.18-jdk11.yml
deleted file mode 100644
index b924a3b076..0000000000
--- a/.github/workflows/e2e-tests-1.18-jdk11.yml
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-#  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.
-################################################################################
-
-name: End to End Tests Flink 1.18 on JDK 11
-
-on:
-  issue_comment:
-    types: [created, edited, deleted]
-
-  # daily run
-  schedule:
-    - cron: "0 0 * * *"
-
-env:
-  JDK_VERSION: 11
-
-jobs:
-  build:
-    if: |
-      github.event_name == 'schedule' ||
-      (contains(github.event.comment.html_url, '/pull/') && 
contains(github.event.comment.body, '/jdk11'))
-    runs-on: ubuntu-latest
-
-    steps:
-      - name: Checkout code
-        uses: actions/checkout@v2
-      - name: Set up JDK ${{ env.JDK_VERSION }}
-        uses: actions/setup-java@v2
-        with:
-          java-version: ${{ env.JDK_VERSION }}
-          distribution: 'adopt'
-      - name: Build Flink 1.18
-        run: mvn -T 1C -B clean install -DskipTests
-      - name: Test Flink 1.18
-        timeout-minutes: 60
-        run: |
-          # run tests with random timezone to find out timezone related bugs
-          . .github/workflows/utils.sh
-          jvm_timezone=$(random_timezone)
-          echo "JVM timezone is set to $jvm_timezone"
-          mvn -T 1C -B test -pl paimon-e2e-tests -Duser.timezone=$jvm_timezone 
-Pflink-1.18
-        env:
-          MAVEN_OPTS: -Xmx4096m
\ No newline at end of file
diff --git a/.github/workflows/e2e-tests-1.18.yml 
b/.github/workflows/e2e-tests-1.18.yml
deleted file mode 100644
index 2f566004a2..0000000000
--- a/.github/workflows/e2e-tests-1.18.yml
+++ /dev/null
@@ -1,57 +0,0 @@
-################################################################################
-#  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.
-################################################################################
-
-name: End to End Tests Flink 1.18
-
-on:
-  push:
-  pull_request:
-    paths-ignore:
-      - 'docs/**'
-      - '**/*.md'
-
-env:
-  JDK_VERSION: 8
-
-concurrency:
-  group: ${{ github.workflow }}-${{ github.event_name }}-${{ 
github.event.number || github.run_id }}
-  cancel-in-progress: true
-
-jobs:
-  build:
-    runs-on: ubuntu-latest
-    steps:
-      - name: Checkout code
-        uses: actions/checkout@v2
-      - name: Set up JDK ${{ env.JDK_VERSION }}
-        uses: actions/setup-java@v2
-        with:
-          java-version: ${{ env.JDK_VERSION }}
-          distribution: 'adopt'
-      - name: Build Flink 1.18
-        run: mvn -T 1C -B clean install -DskipTests
-      - name: Test Flink 1.18
-        timeout-minutes: 60
-        run: |
-          # run tests with random timezone to find out timezone related bugs
-          . .github/workflows/utils.sh
-          jvm_timezone=$(random_timezone)
-          echo "JVM timezone is set to $jvm_timezone"
-          mvn -T 1C -B test -pl paimon-e2e-tests -Duser.timezone=$jvm_timezone 
-Pflink-1.18
-        env:
-          MAVEN_OPTS: -Xmx4096m
\ No newline at end of file
diff --git a/.github/workflows/e2e-tests-1.19-jdk11.yml 
b/.github/workflows/e2e-tests-1.19-jdk11.yml
deleted file mode 100644
index 5a809aeae3..0000000000
--- a/.github/workflows/e2e-tests-1.19-jdk11.yml
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-#  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.
-################################################################################
-
-name: End to End Tests Flink 1.19 on JDK 11
-
-on:
-  issue_comment:
-    types: [created, edited, deleted]
-
-  # daily run
-  schedule:
-    - cron: "0 0 * * *"
-
-env:
-  JDK_VERSION: 11
-
-jobs:
-  build:
-    if: |
-      github.event_name == 'schedule' ||
-      (contains(github.event.comment.html_url, '/pull/') && 
contains(github.event.comment.body, '/jdk11'))
-    runs-on: ubuntu-latest
-
-    steps:
-      - name: Checkout code
-        uses: actions/checkout@v2
-      - name: Set up JDK ${{ env.JDK_VERSION }}
-        uses: actions/setup-java@v2
-        with:
-          java-version: ${{ env.JDK_VERSION }}
-          distribution: 'adopt'
-      - name: Build Flink 1.19
-        run: mvn -T 1C -B clean install -DskipTests
-      - name: Test Flink 1.19
-        timeout-minutes: 60
-        run: |
-          # run tests with random timezone to find out timezone related bugs
-          . .github/workflows/utils.sh
-          jvm_timezone=$(random_timezone)
-          echo "JVM timezone is set to $jvm_timezone"
-          mvn -T 1C -B test -pl paimon-e2e-tests -Duser.timezone=$jvm_timezone 
-Pflink-1.19
-        env:
-          MAVEN_OPTS: -Xmx4096m
\ No newline at end of file
diff --git a/.github/workflows/e2e-tests-1.19.yml 
b/.github/workflows/e2e-tests-1.19.yml
deleted file mode 100644
index b9444b89fd..0000000000
--- a/.github/workflows/e2e-tests-1.19.yml
+++ /dev/null
@@ -1,57 +0,0 @@
-################################################################################
-#  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.
-################################################################################
-
-name: End to End Tests Flink 1.19
-
-on:
-  push:
-  pull_request:
-    paths-ignore:
-      - 'docs/**'
-      - '**/*.md'
-
-env:
-  JDK_VERSION: 8
-
-concurrency:
-  group: ${{ github.workflow }}-${{ github.event_name }}-${{ 
github.event.number || github.run_id }}
-  cancel-in-progress: true
-
-jobs:
-  build:
-    runs-on: ubuntu-latest
-    steps:
-      - name: Checkout code
-        uses: actions/checkout@v2
-      - name: Set up JDK ${{ env.JDK_VERSION }}
-        uses: actions/setup-java@v2
-        with:
-          java-version: ${{ env.JDK_VERSION }}
-          distribution: 'adopt'
-      - name: Build Flink 1.19
-        run: mvn -T 1C -B clean install -DskipTests
-      - name: Test Flink 1.19
-        timeout-minutes: 60
-        run: |
-          # run tests with random timezone to find out timezone related bugs
-          . .github/workflows/utils.sh
-          jvm_timezone=$(random_timezone)
-          echo "JVM timezone is set to $jvm_timezone"
-          mvn -T 1C -B test -pl paimon-e2e-tests -Duser.timezone=$jvm_timezone 
-Pflink-1.19
-        env:
-          MAVEN_OPTS: -Xmx4096m
\ No newline at end of file
diff --git a/.github/workflows/e2e-tests-1.20-jdk11.yml 
b/.github/workflows/e2e-tests-1.20-jdk11.yml
deleted file mode 100644
index 968ea74b9c..0000000000
--- a/.github/workflows/e2e-tests-1.20-jdk11.yml
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-#  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.
-################################################################################
-
-name: End to End Tests Flink 1.20 on JDK 11
-
-on:
-  issue_comment:
-    types: [created, edited, deleted]
-
-  # daily run
-  schedule:
-    - cron: "0 0 * * *"
-
-env:
-  JDK_VERSION: 11
-
-jobs:
-  build:
-    if: |
-      github.event_name == 'schedule' ||
-      (contains(github.event.comment.html_url, '/pull/') && 
contains(github.event.comment.body, '/jdk11'))
-    runs-on: ubuntu-latest
-
-    steps:
-      - name: Checkout code
-        uses: actions/checkout@v2
-      - name: Set up JDK ${{ env.JDK_VERSION }}
-        uses: actions/setup-java@v2
-        with:
-          java-version: ${{ env.JDK_VERSION }}
-          distribution: 'adopt'
-      - name: Build Flink 1.20
-        run: mvn -T 1C -B clean install -DskipTests
-      - name: Test Flink 1.20
-        timeout-minutes: 60
-        run: |
-          # run tests with random timezone to find out timezone related bugs
-          . .github/workflows/utils.sh
-          jvm_timezone=$(random_timezone)
-          echo "JVM timezone is set to $jvm_timezone"
-          mvn -T 1C -B test -pl paimon-e2e-tests -Duser.timezone=$jvm_timezone
-        env:
-          MAVEN_OPTS: -Xmx4096m
\ No newline at end of file
diff --git a/.github/workflows/e2e-tests-1.16-jdk11.yml 
b/.github/workflows/e2e-tests-flink-jdk11.yml
similarity index 65%
rename from .github/workflows/e2e-tests-1.16-jdk11.yml
rename to .github/workflows/e2e-tests-flink-jdk11.yml
index f072dcdb8b..a8a0da02b4 100644
--- a/.github/workflows/e2e-tests-1.16-jdk11.yml
+++ b/.github/workflows/e2e-tests-flink-jdk11.yml
@@ -16,7 +16,7 @@
 # limitations under the License.
 
################################################################################
 
-name: End to End Tests Flink 1.16 on JDK 11
+name: End to End Tests Flink on JDK 11
 
 on:
   issue_comment:
@@ -30,29 +30,41 @@ env:
   JDK_VERSION: 11
 
 jobs:
-  build:
+  build_test:
     if: |
       github.event_name == 'schedule' ||
       (contains(github.event.comment.html_url, '/pull/') && 
contains(github.event.comment.body, '/jdk11'))
     runs-on: ubuntu-latest
-
+    timeout-minutes: 60
+    strategy:
+      fail-fast: true
+      matrix:
+        # Last element should be the current default flink version
+        flink_version: [ '1.15', '1.16', '1.17', '1.18', '1.19', '1.20' ]
     steps:
       - name: Checkout code
-        uses: actions/checkout@v2
+        uses: actions/checkout@v4
+
       - name: Set up JDK ${{ env.JDK_VERSION }}
-        uses: actions/setup-java@v2
+        uses: actions/setup-java@v4
         with:
           java-version: ${{ env.JDK_VERSION }}
-          distribution: 'adopt'
-      - name: Build Flink 1.16
-        run: mvn -T 1C -B clean install -DskipTests -Pflink-1.16
-      - name: Test Flink 1.16
-        timeout-minutes: 60
+          distribution: 'temurin'
+
+      - name: Build Flink
+        run:  mvn -T 1C -B clean install -DskipTests -pl paimon-e2e-tests -am
+
+      - name: Test Flink
         run: |
           # run tests with random timezone to find out timezone related bugs
           . .github/workflows/utils.sh
           jvm_timezone=$(random_timezone)
           echo "JVM timezone is set to $jvm_timezone"
-          mvn -T 1C -B test -pl paimon-e2e-tests -Duser.timezone=$jvm_timezone 
-Pflink-1.16
+          profile="flink-${{ matrix.flink_version }}"
+          if [ "${{ matrix.flink_version }}" = "${{ matrix.flink_version[-1] 
}}" ]; then
+            mvn -T 1C -B test -pl paimon-e2e-tests 
-Duser.timezone=$jvm_timezone
+          else
+            mvn -T 1C -B test -pl paimon-e2e-tests 
-Duser.timezone=$jvm_timezone -P${profile}
+          fi
         env:
           MAVEN_OPTS: -Xmx4096m
\ No newline at end of file
diff --git a/.github/workflows/e2e-tests-1.20.yml 
b/.github/workflows/e2e-tests-flink.yml
similarity index 66%
rename from .github/workflows/e2e-tests-1.20.yml
rename to .github/workflows/e2e-tests-flink.yml
index a511a87d4f..0323b1aedd 100644
--- a/.github/workflows/e2e-tests-1.20.yml
+++ b/.github/workflows/e2e-tests-flink.yml
@@ -16,7 +16,7 @@
 # limitations under the License.
 
################################################################################
 
-name: End to End Tests Flink 1.20
+name: End to End Tests Flink
 
 on:
   push:
@@ -33,25 +33,38 @@ concurrency:
   cancel-in-progress: true
 
 jobs:
-  build:
+  build_test:
     runs-on: ubuntu-latest
+    timeout-minutes: 60
+    strategy:
+      fail-fast: true
+      matrix:
+        # Last element should be the current default flink version
+        flink_version: [ '1.15', '1.16', '1.17', '1.18', '1.19', '1.20' ]
     steps:
       - name: Checkout code
-        uses: actions/checkout@v2
+        uses: actions/checkout@v4
+
       - name: Set up JDK ${{ env.JDK_VERSION }}
-        uses: actions/setup-java@v2
+        uses: actions/setup-java@v4
         with:
           java-version: ${{ env.JDK_VERSION }}
-          distribution: 'adopt'
-      - name: Build Flink 1.20
-        run: mvn -T 1C -B clean install -DskipTests
-      - name: Test Flink 1.20
-        timeout-minutes: 60
+          distribution: 'temurin'
+
+      - name: Build Flink
+        run:  mvn -T 2C -B clean install -DskipTests -pl paimon-e2e-tests -am
+
+      - name: Test Flink
         run: |
           # run tests with random timezone to find out timezone related bugs
           . .github/workflows/utils.sh
           jvm_timezone=$(random_timezone)
           echo "JVM timezone is set to $jvm_timezone"
-          mvn -T 1C -B test -pl paimon-e2e-tests -Duser.timezone=$jvm_timezone
+          profile="flink-${{ matrix.flink_version }}"
+          if [ "${{ matrix.flink_version }}" = "${{ matrix.flink_version[-1] 
}}" ]; then
+            mvn -T 1C -B test -pl paimon-e2e-tests 
-Duser.timezone=$jvm_timezone
+          else
+            mvn -T 1C -B test -pl paimon-e2e-tests 
-Duser.timezone=$jvm_timezone -P${profile}
+          fi
         env:
           MAVEN_OPTS: -Xmx4096m
diff --git a/.github/workflows/flink-cdc-tests-jdk11.yml 
b/.github/workflows/flink-cdc-tests-jdk11.yml
deleted file mode 100644
index b7a60f612f..0000000000
--- a/.github/workflows/flink-cdc-tests-jdk11.yml
+++ /dev/null
@@ -1,56 +0,0 @@
-################################################################################
-#  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.
-################################################################################
-name: Flink CDC Tests on JDK 11
-
-on:
-  issue_comment:
-    types: [created, edited, deleted]
-
-  # daily run
-  schedule:
-    - cron: "0 0 * * *"
-
-env:
-  JDK_VERSION: 11
-
-jobs:
-  build:
-    if: |
-      github.event_name == 'schedule' ||
-      (contains(github.event.comment.html_url, '/pull/') && 
contains(github.event.comment.body, '/jdk11'))
-    runs-on: ubuntu-latest
-
-    steps:
-      - name: Checkout code
-        uses: actions/checkout@v2
-      - name: Set up JDK ${{ env.JDK_VERSION }}
-        uses: actions/setup-java@v2
-        with:
-          java-version: ${{ env.JDK_VERSION }}
-          distribution: 'adopt'
-      - name: Build Flink CDC
-        run:  mvn -T 1C -B clean install -DskipTests
-      - name: Test Flink CDC
-        timeout-minutes: 60
-        run: |
-          . .github/workflows/utils.sh
-          jvm_timezone=$(random_timezone)
-          echo "JVM timezone is set to $jvm_timezone"
-          mvn -T 1C -B clean install -pl 'org.apache.paimon:paimon-flink-cdc' 
-Duser.timezone=$jvm_timezone
-        env:
-          MAVEN_OPTS: -Xmx4096m
diff --git a/.github/workflows/flink-cdc-tests.yml 
b/.github/workflows/flink-cdc-tests.yml
deleted file mode 100644
index 8857f8b585..0000000000
--- a/.github/workflows/flink-cdc-tests.yml
+++ /dev/null
@@ -1,56 +0,0 @@
-################################################################################
-#  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.
-################################################################################
-name: Flink CDC Tests
-
-on:
-  push:
-  pull_request:
-    paths-ignore:
-      - 'docs/**'
-      - '**/*.md'
-
-env:
-  JDK_VERSION: 8
-
-concurrency:
-  group: ${{ github.workflow }}-${{ github.event_name }}-${{ 
github.event.number || github.run_id }}
-  cancel-in-progress: true
-
-jobs:
-  build:
-    runs-on: ubuntu-latest
-
-    steps:
-      - name: Checkout code
-        uses: actions/checkout@v2
-      - name: Set up JDK ${{ env.JDK_VERSION }}
-        uses: actions/setup-java@v2
-        with:
-          java-version: ${{ env.JDK_VERSION }}
-          distribution: 'adopt'
-      - name: Build Flink CDC
-        run:  mvn -T 1C -B clean install -DskipTests
-      - name: Test Flink CDC
-        timeout-minutes: 60
-        run: |
-          . .github/workflows/utils.sh
-          jvm_timezone=$(random_timezone)
-          echo "JVM timezone is set to $jvm_timezone"
-          mvn -T 1C -B clean install -pl 'org.apache.paimon:paimon-flink-cdc' 
-Duser.timezone=$jvm_timezone
-        env:
-          MAVEN_OPTS: -Xmx4096m
diff --git a/.github/workflows/publish_snapshot.yml 
b/.github/workflows/publish_snapshot.yml
index c7f97cab99..8bad092413 100644
--- a/.github/workflows/publish_snapshot.yml
+++ b/.github/workflows/publish_snapshot.yml
@@ -37,16 +37,16 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Checkout code
-        uses: actions/checkout@v2
+        uses: actions/checkout@v4
       # temporarily publish the jdk8 version to maven
       # lately when jdk is deprecated, we need update it to jdk11
       - name: Set up JDK ${{ env.JDK_VERSION }}
-        uses: actions/setup-java@v2
+        uses: actions/setup-java@v4
         with:
           java-version: ${{ env.JDK_VERSION }}
-          distribution: 'adopt'
+          distribution: 'temurin'
       - name: Cache local Maven repository
-        uses: actions/cache@v3
+        uses: actions/cache@v4
         with:
           path: ~/.m2/repository
           key: snapshot-maven-${{ hashFiles('**/pom.xml') }}
diff --git a/.github/workflows/utitcase-flink-jdk11.yml 
b/.github/workflows/utitcase-flink-jdk11.yml
index 42dfe8442e..794e386fba 100644
--- a/.github/workflows/utitcase-flink-jdk11.yml
+++ b/.github/workflows/utitcase-flink-jdk11.yml
@@ -38,12 +38,12 @@ jobs:
 
     steps:
       - name: Checkout code
-        uses: actions/checkout@v2
+        uses: actions/checkout@v4
       - name: Set up JDK ${{ env.JDK_VERSION }}
-        uses: actions/setup-java@v2
+        uses: actions/setup-java@v4
         with:
           java-version: ${{ env.JDK_VERSION }}
-          distribution: 'adopt'
+          distribution: 'temurin'
       - name: Build Flink
         run:  mvn -T 1C -B clean install -DskipTests
       - name: Test Flink
diff --git a/.github/workflows/utitcase-flink.yml 
b/.github/workflows/utitcase-flink.yml
index c39f4a7c48..b094158595 100644
--- a/.github/workflows/utitcase-flink.yml
+++ b/.github/workflows/utitcase-flink.yml
@@ -32,30 +32,38 @@ concurrency:
   cancel-in-progress: true
 
 jobs:
-  build:
+  build_test:
     runs-on: ubuntu-latest
+    timeout-minutes: 60
+    strategy:
+      fail-fast: true
+      matrix:
+        flink_version: ['common', 'cdc', '1.15', '1.16', '1.17', '1.18', 
'1.19', '1.20']
 
     steps:
       - name: Checkout code
-        uses: actions/checkout@v2
+        uses: actions/checkout@v4
+
       - name: Set up JDK ${{ env.JDK_VERSION }}
-        uses: actions/setup-java@v2
+        uses: actions/setup-java@v4
         with:
           java-version: ${{ env.JDK_VERSION }}
-          distribution: 'adopt'
+          distribution: 'temurin'
+
       - name: Build Flink
-        run:  mvn -T 1C -B clean install -DskipTests
+        run: |
+          COMPILE_MODULE="org.apache.paimon:paimon-flink-${{ 
matrix.flink_version }}"
+          echo "Start compiling modules: $COMPILE_MODULE"
+          mvn -T 2C -B clean install -DskipTests -pl "${COMPILE_MODULE}" -am
+
       - name: Test Flink
-        timeout-minutes: 60
         run: |
           . .github/workflows/utils.sh
           jvm_timezone=$(random_timezone)
           echo "JVM timezone is set to $jvm_timezone"
-          test_modules=""
-          for suffix in 1.15 1.16 1.17 1.18 1.19 1.20 common; do
-            test_modules+="org.apache.paimon:paimon-flink-${suffix}," 
-          done
-          test_modules="${test_modules%,}"
-          mvn -T 1C -B clean install -pl "${test_modules}" 
-Duser.timezone=$jvm_timezone
+          TEST_MODULE="org.apache.paimon:paimon-flink-${{ matrix.flink_version 
}}" 
+          echo "Start testing module: $TEST_MODULE"
+          mvn -T 2C -B test verify -pl "${TEST_MODULE}" 
-Duser.timezone=$jvm_timezone
+          echo "All modules tested"
         env:
-          MAVEN_OPTS: -Xmx4096m
\ No newline at end of file
+          MAVEN_OPTS: -Xmx4096m -XX:+UseG1GC -XX:CICompilerCount=2
\ No newline at end of file
diff --git a/.github/workflows/utitcase-jdk11.yml 
b/.github/workflows/utitcase-jdk11.yml
index 878ce5f968..e640f0921d 100644
--- a/.github/workflows/utitcase-jdk11.yml
+++ b/.github/workflows/utitcase-jdk11.yml
@@ -38,12 +38,12 @@ jobs:
 
     steps:
       - name: Checkout code
-        uses: actions/checkout@v2
+        uses: actions/checkout@v4
       - name: Set up JDK ${{ env.JDK_VERSION }}
-        uses: actions/setup-java@v2
+        uses: actions/setup-java@v4
         with:
           java-version: ${{ env.JDK_VERSION }}
-          distribution: 'adopt'
+          distribution: 'temurin'
       - name: Build
         run:  mvn -T 1C -B clean install -DskipTests
       - name: Test
diff --git a/.github/workflows/utitcase-spark-3.x.yml 
b/.github/workflows/utitcase-spark-3.x.yml
index 2d3df5f4d0..d06554108a 100644
--- a/.github/workflows/utitcase-spark-3.x.yml
+++ b/.github/workflows/utitcase-spark-3.x.yml
@@ -38,14 +38,14 @@ jobs:
 
     steps:
       - name: Checkout code
-        uses: actions/checkout@v2
+        uses: actions/checkout@v4
       - name: Set up JDK ${{ env.JDK_VERSION }}
-        uses: actions/setup-java@v2
+        uses: actions/setup-java@v4
         with:
           java-version: ${{ env.JDK_VERSION }}
-          distribution: 'adopt'
+          distribution: 'temurin'
       - name: Build Spark
-        run:  mvn -T 1C -B clean install -DskipTests
+        run:  mvn -T 2C -B clean install -DskipTests
       - name: Test Spark
         timeout-minutes: 60
         run: |
@@ -58,6 +58,6 @@ jobs:
           test_modules+="org.apache.paimon:paimon-spark-${suffix},"
           done
           test_modules="${test_modules%,}"
-          mvn -T 1C -B test -pl "${test_modules}" -Duser.timezone=$jvm_timezone
+          mvn -T 2C -B test -pl "${test_modules}" -Duser.timezone=$jvm_timezone
         env:
           MAVEN_OPTS: -Xmx4096m
\ No newline at end of file
diff --git a/.github/workflows/utitcase-spark-4.x.yml 
b/.github/workflows/utitcase-spark-4.x.yml
index c58fd7c03b..ff6f95d415 100644
--- a/.github/workflows/utitcase-spark-4.x.yml
+++ b/.github/workflows/utitcase-spark-4.x.yml
@@ -38,14 +38,14 @@ jobs:
 
     steps:
       - name: Checkout code
-        uses: actions/checkout@v2
+        uses: actions/checkout@v4
       - name: Set up JDK ${{ env.JDK_VERSION }}
-        uses: actions/setup-java@v2
+        uses: actions/setup-java@v4
         with:
           java-version: ${{ env.JDK_VERSION }}
-          distribution: 'adopt'
+          distribution: 'temurin'
       - name: Build Spark
-        run:  mvn -T 1C -B clean install -DskipTests -Pspark4
+        run:  mvn -T 2C -B clean install -DskipTests -Pspark4
       - name: Test Spark
         timeout-minutes: 60
         run: |
@@ -58,6 +58,6 @@ jobs:
           test_modules+="org.apache.paimon:paimon-spark-${suffix},"
           done
           test_modules="${test_modules%,}"
-          mvn -T 1C -B test -pl "${test_modules}" 
-Duser.timezone=$jvm_timezone -Pspark4
+          mvn -T 2C -B test -pl "${test_modules}" 
-Duser.timezone=$jvm_timezone -Pspark4
         env:
           MAVEN_OPTS: -Xmx4096m
\ No newline at end of file
diff --git a/.github/workflows/utitcase.yml b/.github/workflows/utitcase.yml
index 8aa33f5b82..08d6edaf41 100644
--- a/.github/workflows/utitcase.yml
+++ b/.github/workflows/utitcase.yml
@@ -38,26 +38,26 @@ jobs:
 
     steps:
       - name: Checkout code
-        uses: actions/checkout@v2
+        uses: actions/checkout@v4
+
       - name: Set up JDK ${{ env.JDK_VERSION }}
-        uses: actions/setup-java@v2
+        uses: actions/setup-java@v4
         with:
           java-version: ${{ env.JDK_VERSION }}
-          distribution: 'adopt'
-      - name: Build
-        run:  mvn -T 1C -B clean install -DskipTests
-      - name: Test
+          distribution: 'temurin'
+
+      - name: Build And Test Others
         timeout-minutes: 60
         run: |
-          # run tests with random timezone to find out timezone related bugs
           . .github/workflows/utils.sh
           jvm_timezone=$(random_timezone)
           echo "JVM timezone is set to $jvm_timezone"
-          test_modules="!paimon-e2e-tests,"
+          
+          TEST_MODULES="!paimon-e2e-tests,"
           for suffix in 3.5 3.4 3.3 3.2 ut; do
-          test_modules+="!org.apache.paimon:paimon-spark-${suffix},"
+            TEST_MODULES+="!org.apache.paimon:paimon-spark-${suffix},"
           done
-          test_modules="${test_modules%,}"
-          mvn -T 1C -B clean install -pl "${test_modules}" 
-Pskip-paimon-flink-tests -Duser.timezone=$jvm_timezone
+          TEST_MODULES="${TEST_MODULES%,}"
+          mvn -T 2C -B clean install -pl "${TEST_MODULES}" 
-Pskip-paimon-flink-tests -Duser.timezone=$jvm_timezone
         env:
-          MAVEN_OPTS: -Xmx4096m
\ No newline at end of file
+          MAVEN_OPTS: -Xmx4096m -XX:+UseG1GC -XX:CICompilerCount=2
\ No newline at end of file


Reply via email to