This is an automated email from the ASF dual-hosted git repository.
panjuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 5b44f79 [CI] Refactor integration test scenario jobs to dependent
jobs (#14871)
5b44f79 is described below
commit 5b44f797b276ad944fe9e1a51a17761e756e0244
Author: Hongsheng Zhong <[email protected]>
AuthorDate: Wed Jan 19 09:49:37 2022 +0800
[CI] Refactor integration test scenario jobs to dependent jobs (#14871)
* Refactor integration test scenario jobs to dependent jobs
* Simplify integration test job name
---
.github/workflows/it.yml | 90 +++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 86 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/it.yml b/.github/workflows/it.yml
index 66479f6..7ffd441 100644
--- a/.github/workflows/it.yml
+++ b/.github/workflows/it.yml
@@ -31,17 +31,99 @@ env:
MAVEN_OPTS: -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false
-Dmaven.wagon.http.retryHandler.class=standard
-Dmaven.wagon.http.retryHandler.count=3
jobs:
- integration-test-docker:
- name: Integration Test in Docker
+ it-empty-rule:
+ name: IT empty rule
runs-on: ubuntu-latest
- timeout-minutes: 60
+ timeout-minutes: 20
strategy:
fail-fast: false
matrix:
env: [ docker ]
adapter: [ proxy, jdbc ]
database: [ MySQL, PostgreSQL ]
- scenario: [
db,tbl,dbtbl_with_readwrite_splitting,encrypt,dbtbl_with_readwrite_splitting_and_encrypt,readwrite_splitting,empty_rules
]
+ scenario: [ empty_rules ]
+ exclude:
+ - adapter: jdbc
+ database: PostgreSQL
+ - adapter: proxy
+ database: PostgreSQL
+ scenario: tbl
+ - adapter: proxy
+ database: PostgreSQL
+ scenario: empty_rules
+ steps:
+ - name: Cache Maven Repos
+ uses: actions/cache@v2
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+ restore-keys: |
+ ${{ runner.os }}-maven-
+ - uses: actions/checkout@v2
+ - name: Set up JDK 8
+ uses: actions/setup-java@v1
+ with:
+ java-version: 8
+ - name: set environment
+ run: export MAVEN_OPTS=' -Dmaven.javadoc.skip=true -Drat.skip=true
-Djacoco.skip=true ${MAVEN_OPTS}'
+ - name: Build Project
+ run: ./mvnw -B clean install -am -pl
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite
-Pit.env.docker -DskipTests
+ - name: Run Integration Test
+ run: ./mvnw -B install -f
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/pom.xml
-Dit.adapters=${{ matrix.adapter }} -Dit.databases=${{ matrix.database }}
-Dit.scenarios=${{ matrix.scenario }} -Dit.env.type=DOCKER
+
+ it-single-rule:
+ name: IT single rule
+ needs: it-empty-rule
+ runs-on: ubuntu-latest
+ timeout-minutes: 30
+ strategy:
+ fail-fast: false
+ matrix:
+ env: [ docker ]
+ adapter: [ proxy, jdbc ]
+ database: [ MySQL, PostgreSQL ]
+ scenario: [ db, tbl, encrypt, readwrite_splitting ]
+ exclude:
+ - adapter: jdbc
+ database: PostgreSQL
+ - adapter: proxy
+ database: PostgreSQL
+ scenario: tbl
+ - adapter: proxy
+ database: PostgreSQL
+ scenario: empty_rules
+ steps:
+ - name: Cache Maven Repos
+ uses: actions/cache@v2
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+ restore-keys: |
+ ${{ runner.os }}-maven-
+ - uses: actions/checkout@v2
+ - name: Set up JDK 8
+ uses: actions/setup-java@v1
+ with:
+ java-version: 8
+ - name: set environment
+ run: export MAVEN_OPTS=' -Dmaven.javadoc.skip=true -Drat.skip=true
-Djacoco.skip=true ${MAVEN_OPTS}'
+ - name: Build Project
+ run: ./mvnw -B clean install -am -pl
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite
-Pit.env.docker -DskipTests
+ - name: Run Integration Test
+ run: ./mvnw -B install -f
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/pom.xml
-Dit.adapters=${{ matrix.adapter }} -Dit.databases=${{ matrix.database }}
-Dit.scenarios=${{ matrix.scenario }} -Dit.env.type=DOCKER
+
+ it-mixture-rule:
+ name: IT mixture rule
+ needs: [ it-empty-rule, it-single-rule ]
+ runs-on: ubuntu-latest
+ timeout-minutes: 30
+ strategy:
+ fail-fast: false
+ matrix:
+ env: [ docker ]
+ adapter: [ proxy, jdbc ]
+ database: [ MySQL, PostgreSQL ]
+ scenario: [ dbtbl_with_readwrite_splitting,
dbtbl_with_readwrite_splitting_and_encrypt ]
exclude:
- adapter: jdbc
database: PostgreSQL