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

jianglongtao pushed a commit to branch fix-33341
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git

commit 9419a4effdb88a7ed88e16e4d8d68d30b9370b55
Author: 孙念君 Nianjun Sun <[email protected]>
AuthorDate: Wed Sep 4 11:31:29 2024 +0800

    Add : add workflow dispatch action for e2e sql
---
 .github/workflows/workflow-dispatch-e2e-sql.yml | 123 ++++++++++++++++++++++++
 1 file changed, 123 insertions(+)

diff --git a/.github/workflows/workflow-dispatch-e2e-sql.yml 
b/.github/workflows/workflow-dispatch-e2e-sql.yml
new file mode 100644
index 00000000000..1df79db4dcc
--- /dev/null
+++ b/.github/workflows/workflow-dispatch-e2e-sql.yml
@@ -0,0 +1,123 @@
+#
+# 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: Workflow Dispatch - E2E SQL
+
+on:
+  workflow_dispatch:
+
+concurrency:
+  group: e2e-${{ github.workflow }}-${{ github.ref }}
+  cancel-in-progress: true
+
+env:
+  MAVEN_OPTS: -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false 
-Dmaven.wagon.http.retryHandler.class=standard 
-Dmaven.wagon.http.retryHandler.count=3 -Dspotless.apply.skip=true
+  SEGMENT_DOWNLOAD_TIMEOUT_MINS: 1
+  DEPENDENCY_PATH: $HOME/.m2/dbplus-engine-honor/${{ github.ref_name 
}}/repository/
+
+jobs:
+  global-environment:
+    name: Import Global Environment
+    uses: ./.github/workflows/required-reusable.yml
+
+  build-e2e-image:
+    name: Build E2E Image
+    needs: global-environment
+    runs-on: self-hosted-honor
+    timeout-minutes: 20
+    steps:
+      - uses: actions/checkout@v4
+      - uses: actions/setup-java@v4
+        with:
+          distribution: 'temurin'
+          java-version: 11
+      - uses: actions/cache@v4
+        with:
+          path: ~/.m2/repository/dbplus-engine-honor/${{ github.ref_name 
}}/repository/
+          key: ${{ needs.global-environment.outputs.GLOBAL_CACHE_PREFIX 
}}-maven-third-party-e2e-cache-${{ github.sha }}
+          restore-keys: |
+            ${{ needs.global-environment.outputs.GLOBAL_CACHE_PREFIX 
}}-maven-third-party-e2e-cache-
+            ${{ needs.global-environment.outputs.GLOBAL_CACHE_PREFIX 
}}-maven-third-party-
+      - name: Build E2E Image
+        run: ./mvnw -B clean install -am -pl test/e2e/sql -Pit.env.docker 
-DskipTests -Dspotless.apply.skip=true -Dmaven.repo.local=${{ 
env.DEPENDENCY_PATH }}
+      - name: Save E2E Image
+        run: docker save -o /tmp/dbplus-engine-honor/${{ 
needs.global-environment.outputs.GLOBAL_CACHE_PREFIX }}-proxy-test.tar 
apache/shardingsphere-proxy-test:latest
+      - uses: actions/upload-artifact@v4
+        with:
+          name: e2e-image
+          path: /tmp/dbplus-engine-honor/${{ 
needs.global-environment.outputs.GLOBAL_CACHE_PREFIX }}-proxy-test.tar
+          retention-days: 10
+  
+  e2e-sql:
+    name: E2E - SQL
+    needs: [ build-e2e-image, global-environment ]
+    if: ${{ needs.global-environment.outputs.GLOBAL_JOB_ENABLED == 'true' }}
+    runs-on: ubuntu-latest
+    timeout-minutes: 15
+    strategy:
+      max-parallel: 20
+      fail-fast: false
+      matrix:
+        adapter: [ proxy, jdbc ]
+        mode: [ Standalone, Cluster ]
+        database: [ MySQL, PostgreSQL, openGauss ]
+        # Fix me #25051
+        #scenario: [ dbtbl_with_readwrite_splitting, 
dbtbl_with_readwrite_splitting_and_encrypt, sharding_and_encrypt, 
encrypt_and_readwrite_splitting, encrypt_shadow, 
readwrite_splitting_and_shadow, sharding_and_shadow, sharding_encrypt_shadow, 
mask_encrypt, mask_sharding, mask_encrypt_sharding ]
+        scenario: [ empty_rules, rdl_empty_rules, passthrough, db, tbl, 
encrypt, readwrite_splitting, shadow, mask, 
dbtbl_with_readwrite_splitting_and_encrypt, sharding_and_encrypt, 
encrypt_and_readwrite_splitting, encrypt_shadow, 
readwrite_splitting_and_shadow, sharding_and_shadow, sharding_encrypt_shadow, 
mask_encrypt, mask_sharding, mask_encrypt_sharding, db_tbl_sql_federation, 
empty_storage_units ]
+        additional-options: [ '' ]
+        include:
+          - adapter: proxy
+            database: MySQL
+            scenario: passthrough
+            additional-options: '-Dmysql-connector-java.version=8.3.0'
+        exclude:
+          - adapter: jdbc
+            scenario: passthrough
+          - adapter: jdbc
+            mode: Cluster
+          - adapter: proxy
+            mode: Standalone
+            scenario: empty_rules
+          - adapter: proxy
+            mode: Standalone
+            scenario: rdl_empty_rules
+          - adapter: proxy
+            mode: Standalone
+            scenario: passthrough
+          - adapter: proxy
+            scenario: empty_storage_units
+    steps:
+      - uses: actions/checkout@v4
+      - uses: actions/cache@v4
+        with:
+          path: ~/.m2/repository/dbplus-engine-honor/${{ github.ref_name 
}}/repository/
+          key: ${{ needs.global-environment.outputs.GLOBAL_CACHE_PREFIX 
}}-maven-third-party-e2e-cache-${{ github.sha }}
+      - uses: actions/setup-java@v4
+        with:
+          distribution: 'temurin'
+          java-version: 11
+      - name: Download E2E Image
+        if: matrix.adapter == 'proxy'
+        uses: actions/download-artifact@v4
+        with:
+          name: e2e-image
+          path: /tmp/dbplus-engine-honor/
+      - name: Load E2E Image
+        if: matrix.adapter == 'proxy'
+        run: docker load -i /tmp/dbplus-engine-honor/${{ 
needs.global-environment.outputs.GLOBAL_CACHE_PREFIX }}-proxy-test.tar
+      - name: Run E2E Test
+        run: ./mvnw -nsu -B install -f test/e2e/sql/pom.xml 
-Dspotless.apply.skip=true -Dit.cluster.env.type=DOCKER 
-Dit.cluster.adapters=${{ matrix.adapter }} -Dit.run.modes=${{ matrix.mode }} 
-Dit.run.additional.cases=false -Dit.scenarios=${{ matrix.scenario }} 
-Dit.cluster.databases=${{ matrix.database }} ${{ matrix.additional-options }} 
-Dmaven.repo.local=${{ env.DEPENDENCY_PATH }}

Reply via email to