CalvinKirs commented on code in PR #3194:
URL: 
https://github.com/apache/incubator-seatunnel/pull/3194#discussion_r1005645772


##########
.github/workflows/backend.yml:
##########
@@ -79,40 +79,142 @@ jobs:
           [[ ${{ needs.code-style.result }} == 'success' ]] || exit 1;
           [[ ${{ needs.dead-link.result }} == 'success' ]] || exit 1;
 
-  build:
+  changes:
+    runs-on: ubuntu-latest
+    # To prevent error when there's no base branch
     if: github.repository == 'apache/incubator-seatunnel'
-    name: Build
-    needs: [ sanity-check ]
-    strategy:
-      matrix:
-        java: [ '8', '11' ]
-        os: [ 'ubuntu-latest', 'windows-latest' ]
-    runs-on: ${{ matrix.os }}
-    timeout-minutes: 80
+    timeout-minutes: 10
+    outputs:
+      api: ${{ steps.filter.outputs.api }}
+      engine: ${{ steps.filter.outputs.engine }}
+      ut-modules: ${{ steps.ut-modules.outputs.modules }}
+      it-modules: ${{ steps.it-modules.outputs.modules }}
     steps:
-      - uses: actions/checkout@v3
+      - uses: actions/checkout@v3 # required for push event
+      - uses: actions/setup-python@v4
         with:
-          submodules: true
-      - uses: actions/setup-java@v3
+          python-version: '2.7'
+      - name: Check for file changes
+        uses: dorny/paths-filter@v2
+        id: filter
         with:
-          distribution: 'temurin'
-          java-version: ${{ matrix.java }}
-          cache: 'maven'
-      - name: Build distribution tar
-        run: >-
-          ./mvnw -B install scalastyle:check
-          -D"maven.test.skip"=true
-          -D"checkstyle.skip"=true
-          -D"license.skipAddThirdParty"=true
-          -D"http.keepAlive"=false
-          -D"maven.wagon.http.pool"=false
-          -D"maven.wagon.http.retryHandler.count"=3
-          -D"maven.wagon.httpconnectionManager.ttlSeconds"=120
+          token: ${{ github.token }}
+          list-files: json
+          # The following is a single composite pattern that allows next CI 
steps,
+          # the pattern is in form of [not (foo or bar)] to be safe.
+          # When new files come in, the CI will NOT ignore them unless listed,
+          # so remember to extend here if they do not serve functional 
purposes.
+          # NOTE: careful with using ** in expression, keep !**/{old, new 
things}.
+          filters: |
+            cv2:
+              - "seatunnel-connectors-v2/**"
+            cv2-flink-e2e:
+              - "seatunnel-e2e/seatunnel-flink-connector-v2-e2e/**"
+            cv2-spark-e2e:
+              - "seatunnel-e2e/seatunnel-spark-connector-v2-e2e/**"
+            cv2-e2e:
+              - "seatunnel-e2e/seatunnel-connector-v2-e2e/**"
+            api:
+              - "seatunnel-api"
+              - "seatunnel-apis"
+              - "seatunnel-common"
+              - "seatunnel-config"
+              - "seatunnel-connectors"
+              - "seatunnel-core"
+              - "seatunnel-dist"
+              - "seatunnel-e2e/seatunnel-e2e-common"
+              - "seatunnel-formats"
+              - "seatunnel-plugin-discovery"
+              - "seatunnel-transforms"

Review Comment:
   We just need to determine if he is in the `e2e` or `connectors` or other 
module range, and only execute if he is not. Is this possible to do? Otherwise 
we would still need to maintain the script, and I would prefer that this be a 
stable change.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to