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]