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

ic4y pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-seatunnel.git


The following commit(s) were added to refs/heads/dev by this push:
     new b19cebb5c [Improve][CI] split it to 4 github tasks (#3832)
b19cebb5c is described below

commit b19cebb5c82295387587c163ac0faafa0528c8b3
Author: Eric <[email protected]>
AuthorDate: Fri Dec 30 12:02:53 2022 +0800

    [Improve][CI] split it to 4 github tasks (#3832)
    
    * split it to 4 github tasks
---
 .github/workflows/backend.yml                      | 117 +++++++++++++++++++--
 seatunnel-e2e/seatunnel-e2e-common/pom.xml         |   6 ++
 seatunnel-e2e/seatunnel-transforms-v2-e2e/pom.xml  |   1 -
 tools/update_modules_check/update_modules_check.py |  11 ++
 4 files changed, 127 insertions(+), 8 deletions(-)

diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml
index 2e100beca..b925f21e3 100644
--- a/.github/workflows/backend.yml
+++ b/.github/workflows/backend.yml
@@ -315,9 +315,9 @@ jobs:
         env:
           MAVEN_OPTS: -Xmx2048m
 
-  integration-test:
+  updated-modules-integration-test:
     needs: [ changes, sanity-check ]
-    if: needs.changes.outputs.api == 'true' || (needs.changes.outputs.api == 
'false' && needs.changes.outputs.it-modules != '')
+    if: needs.changes.outputs.api == 'false' && 
needs.changes.outputs.it-modules != ''
     runs-on: ${{ matrix.os }}
     strategy:
       matrix:
@@ -332,17 +332,120 @@ jobs:
           java-version: ${{ matrix.java }}
           distribution: 'temurin'
           cache: 'maven'
-      - name: run all modules integration test
+      - name: run updated modules integration test
+        if: needs.changes.outputs.api == 'false' && 
needs.changes.outputs.it-modules != ''
+        run: |
+          ./mvnw -T 1C -B verify -DskipUT=true -DskipIT=false 
-D"checkstyle.skip"=true -D"license.skipAddThirdParty"=true 
--no-snapshot-updates -pl ${{needs.changes.outputs.it-modules}} -am -Pci
+        env:
+          MAVEN_OPTS: -Xmx2048m
+
+  engine-and-transform-v2-it:
+    needs: [ changes, sanity-check ]
+    if: needs.changes.outputs.api == 'true'
+    runs-on: ${{ matrix.os }}
+    strategy:
+      matrix:
+        java: [ '8', '11' ]
+        os: [ 'ubuntu-latest' ]
+    timeout-minutes: 90
+    steps:
+      - uses: actions/checkout@v2
+      - name: Set up JDK ${{ matrix.java }}
+        uses: actions/setup-java@v3
+        with:
+          java-version: ${{ matrix.java }}
+          distribution: 'temurin'
+          cache: 'maven'
+      - name: run some modules integration test
         if: needs.changes.outputs.api == 'true'
         run: |
-          ./mvnw -T 1C -B verify -DskipUT=true -DskipIT=false 
-D"checkstyle.skip"=true -D"license.skipAddThirdParty"=true 
--no-snapshot-updates
+          ./mvnw -T 1C -B verify -DskipUT=true -DskipIT=false 
-D"checkstyle.skip"=true -D"license.skipAddThirdParty"=true 
--no-snapshot-updates -pl 
:seatunnel-transforms-v2-e2e,:connector-seatunnel-e2e-base -am -Pci
         env:
           MAVEN_OPTS: -Xmx2048m
 
-      - name: run updated modules integration test
-        if: needs.changes.outputs.api == 'false' && 
needs.changes.outputs.it-modules != ''
+  all-connectors-it-1:
+    needs: [ changes, sanity-check ]
+    if: needs.changes.outputs.api == 'true'
+    runs-on: ${{ matrix.os }}
+    strategy:
+      matrix:
+        java: [ '8', '11' ]
+        os: [ 'ubuntu-latest' ]
+    timeout-minutes: 90
+    steps:
+      - uses: actions/checkout@v2
+      - name: Set up JDK ${{ matrix.java }}
+        uses: actions/setup-java@v3
+        with:
+          java-version: ${{ matrix.java }}
+          distribution: 'temurin'
+          cache: 'maven'
+      - name: run some modules integration test
+        if: needs.changes.outputs.api == 'true'
         run: |
-          ./mvnw -T 1C -B verify -DskipUT=true -DskipIT=false 
-D"checkstyle.skip"=true -D"license.skipAddThirdParty"=true 
--no-snapshot-updates -pl ${{needs.changes.outputs.it-modules}} -am -Pci
+          ./mvnw help:evaluate -Dexpression=project.modules -q -DforceStdout 
-pl :seatunnel-flink-connector-v2-e2e > /tmp/sub_module.txt
+          ./mvnw help:evaluate -Dexpression=project.modules -q -DforceStdout 
-pl :seatunnel-spark-connector-v2-e2e >> /tmp/sub_module.txt
+          ./mvnw help:evaluate -Dexpression=project.modules -q -DforceStdout 
-pl :seatunnel-connector-v2-e2e >> /tmp/sub_module.txt
+          sub_modules=`python 
tools/update_modules_check/update_modules_check.py sub /tmp/sub_module.txt`
+          run_it_modules=`python 
tools/update_modules_check/update_modules_check.py sub_it_module $sub_modules 3 
0`
+          ./mvnw -T 1C -B verify -DskipUT=true -DskipIT=false 
-D"checkstyle.skip"=true -D"license.skipAddThirdParty"=true 
--no-snapshot-updates -pl $run_it_modules -am -Pci
         env:
           MAVEN_OPTS: -Xmx2048m
 
+  all-connectors-it-2:
+    needs: [ changes, sanity-check ]
+    if: needs.changes.outputs.api == 'true'
+    runs-on: ${{ matrix.os }}
+    strategy:
+      matrix:
+        java: [ '8', '11' ]
+        os: [ 'ubuntu-latest' ]
+    timeout-minutes: 90
+    steps:
+      - uses: actions/checkout@v2
+      - name: Set up JDK ${{ matrix.java }}
+        uses: actions/setup-java@v3
+        with:
+          java-version: ${{ matrix.java }}
+          distribution: 'temurin'
+          cache: 'maven'
+      - name: run some modules integration test
+        if: needs.changes.outputs.api == 'true'
+        run: |
+          ./mvnw help:evaluate -Dexpression=project.modules -q -DforceStdout 
-pl :seatunnel-flink-connector-v2-e2e > /tmp/sub_module.txt
+          ./mvnw help:evaluate -Dexpression=project.modules -q -DforceStdout 
-pl :seatunnel-spark-connector-v2-e2e >> /tmp/sub_module.txt
+          ./mvnw help:evaluate -Dexpression=project.modules -q -DforceStdout 
-pl :seatunnel-connector-v2-e2e >> /tmp/sub_module.txt
+          sub_modules=`python 
tools/update_modules_check/update_modules_check.py sub /tmp/sub_module.txt`
+          run_it_modules=`python 
tools/update_modules_check/update_modules_check.py sub_it_module $sub_modules 3 
1`
+          ./mvnw -T 1C -B verify -DskipUT=true -DskipIT=false 
-D"checkstyle.skip"=true -D"license.skipAddThirdParty"=true 
--no-snapshot-updates -pl $run_it_modules -am -Pci
+        env:
+          MAVEN_OPTS: -Xmx2048m
+
+  all-connectors-it-3:
+    needs: [ changes, sanity-check ]
+    if: needs.changes.outputs.api == 'true'
+    runs-on: ${{ matrix.os }}
+    strategy:
+      matrix:
+        java: [ '8', '11' ]
+        os: [ 'ubuntu-latest' ]
+    timeout-minutes: 90
+    steps:
+      - uses: actions/checkout@v2
+      - name: Set up JDK ${{ matrix.java }}
+        uses: actions/setup-java@v3
+        with:
+          java-version: ${{ matrix.java }}
+          distribution: 'temurin'
+          cache: 'maven'
+      - name: run some modules integration test
+        if: needs.changes.outputs.api == 'true'
+        run: |
+          ./mvnw help:evaluate -Dexpression=project.modules -q -DforceStdout 
-pl :seatunnel-flink-connector-v2-e2e > /tmp/sub_module.txt
+          ./mvnw help:evaluate -Dexpression=project.modules -q -DforceStdout 
-pl :seatunnel-spark-connector-v2-e2e >> /tmp/sub_module.txt
+          ./mvnw help:evaluate -Dexpression=project.modules -q -DforceStdout 
-pl :seatunnel-connector-v2-e2e >> /tmp/sub_module.txt
+          sub_modules=`python 
tools/update_modules_check/update_modules_check.py sub /tmp/sub_module.txt`
+          run_it_modules=`python 
tools/update_modules_check/update_modules_check.py sub_it_module $sub_modules 3 
2`
+          ./mvnw -T 1C -B verify -DskipUT=true -DskipIT=false 
-D"checkstyle.skip"=true -D"license.skipAddThirdParty"=true 
--no-snapshot-updates -pl $run_it_modules -am -Pci
+        env:
+          MAVEN_OPTS: -Xmx2048m
\ No newline at end of file
diff --git a/seatunnel-e2e/seatunnel-e2e-common/pom.xml 
b/seatunnel-e2e/seatunnel-e2e-common/pom.xml
index 3ddc46cb5..51073e94a 100644
--- a/seatunnel-e2e/seatunnel-e2e-common/pom.xml
+++ b/seatunnel-e2e/seatunnel-e2e-common/pom.xml
@@ -31,6 +31,12 @@
             <artifactId>seatunnel-api</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.apache.seatunnel</groupId>
+            <artifactId>seatunnel-transforms-v2</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/seatunnel-e2e/seatunnel-transforms-v2-e2e/pom.xml 
b/seatunnel-e2e/seatunnel-transforms-v2-e2e/pom.xml
index 28b459706..b86a80fbe 100644
--- a/seatunnel-e2e/seatunnel-transforms-v2-e2e/pom.xml
+++ b/seatunnel-e2e/seatunnel-transforms-v2-e2e/pom.xml
@@ -51,7 +51,6 @@
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
-
         <dependency>
             <groupId>org.apache.seatunnel</groupId>
             <artifactId>connector-fake</artifactId>
diff --git a/tools/update_modules_check/update_modules_check.py 
b/tools/update_modules_check/update_modules_check.py
index c573f5d9b..8a8a990a1 100644
--- a/tools/update_modules_check/update_modules_check.py
+++ b/tools/update_modules_check/update_modules_check.py
@@ -148,6 +148,15 @@ def get_deleted_modules(files):
     output_module = output_module[1:len(output_module)]
     print(output_module)
 
+def get_sub_it_modules(modules, total_num, current_num):
+    modules_arr = modules.split(",")
+    output = ""
+    for i,module in enumerate(modules_arr):
+        if len(module) > 0 and i % int(total_num) == int(current_num):
+            output = output + ",:" + module
+
+    output = output[1:len(output)]
+    print(output)
 
 def main(argv):
     if argv[1] == "cv2":
@@ -176,6 +185,8 @@ def main(argv):
         get_deleted_modules(argv[2])
     elif argv[1] == "rm":
         remove_deleted_modules(argv[2], argv[3])
+    elif argv[1] == "sub_it_module":
+        get_sub_it_modules(argv[2], argv[3], argv[4])
 
 
 if __name__ == "__main__":

Reply via email to