taojintianxia opened a new issue, #24871:
URL: https://github.com/apache/shardingsphere/issues/24871

   as we know, there are serveral E2E IT , E2E-SQL、E2E-Agent、E2E-Pipeline etc.
   
   At present, the E2E test on github action is mainly divided into three 
parts, agent, sql, operation
     - e2e-agent is the related test of the probe, including the combination of 
tracing, metrics, etc.
     - e2e-sql is the original suite, because it is based on the SQL in xml for 
testing, here it is renamed e2e-sql
     - e2e-operation is the combination to be merged next, including pipeline, 
transaction, discovery, etc.
   
   The test of e2e-operation consists of three parts:
   - Trigger rules (triggered according to action and path)
   - Environment preparation (build proxy image for testing)
   - Execute tests (./mvnw clean install ${function}/pom.xml)
   All operation tests are the same except for the path that triggers the rule 
and the matrix parameter when executing the test.
   Here you can try to integrate all operations into the same workflow:
   
   ```yaml
   jobs:
     preconditions:
       name: Preconditions
       runs-on: ubuntu-20.04
       if: (github.event_name != 'schedule') || (github.repository == 
'apache/pulsar')
       outputs:
         pipeline: ${{ steps.check_changes.outputs.pipeline }}
         transaction: ${{ steps.changes.outputs.transaction }}
         discovery: ${{ steps.changes.outputs.discovery }}
         ...
     
     build-image:
       needs: preconditions
       name: Build Images
       runs-on: ubuntu-20.04
       timeout-minutes: 60
       ...
       
     operation-e2e-tests:
       name: CI - Unit - ${{ matrix.name }}
       runs-on: ubuntu-20.04
       timeout-minutes: ${{ matrix.timeout || 60 }}
       needs: ['preconditions', 'build-image']
       strategy:
         fail-fast: false
         matrix:
           mode: [ Standalone, Cluster ]
           database: [ MySQL-8.0, PostgreSQL-12 ]
       if: ${{ needs.preconditions.outputs.showprocesslist == 'true' }}
       run: ./mvnw -nsu -B install -f 
test/e2e/operation/showprocesslist/pom.xml -Dit.env.type=docker 
-Dit.scenarios=cluster_jdbc_proxy -Dit.run.modes=${{ matrix.mode }}
       if: ${{ needs.preconditions.outputs.transaction == 'true' }}
       run: ./mvnw -nsu -B install -f test/e2e/operation/transaction/pom.xml 
-Dit.env.type=docker -Dit.scenarios=cluster_jdbc_proxy -Dit.run.modes=${{ 
matrix.mode }}
   ```
   
   try to make the PR trigger as short as possible, and make the full 
combination in nightly build :
   ```yaml
     operation-e2e-tests:
       name: CI - Unit - ${{ matrix.name }}
       runs-on: ubuntu-20.04
       timeout-minutes: ${{ matrix.timeout || 60 }}
       needs: ['preconditions', 'build-image']
       strategy:
         fail-fast: false
         matrix:
           mode: [ Standalone, Cluster ]
           database: [ MySQL-5.7, MySQL-8.0, PostgreSQL-11, PostgreSQL-12, 
OpenGauss-2, OpenGauss-3 ]
       if: ${{ needs.preconditions.outputs.showprocesslist == 'true' }}
       run: ./mvnw -nsu -B install -f 
test/e2e/operation/showprocesslist/pom.xml -Dit.env.type=docker 
-Dit.scenarios=cluster_jdbc_proxy -Dit.run.modes=${{ matrix.mode }}
       if: ${{ needs.preconditions.outputs.transaction == 'true' }}
       run: ./mvnw -nsu -B install -f test/e2e/operation/transaction/pom.xml 
-Dit.env.type=docker -Dit.scenarios=cluster_jdbc_proxy -Dit.run.modes=${{ 
matrix.mode }}
   ```


-- 
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