blob: dd3700bf10f66f49e2f3ef57a9ec7c5d6bad3b62 [file] [log] [blame]
name: Extensions Conformance Tests
on:
pull_request:
paths:
- "**"
- "!**/*.md"
- "!docs/**"
push:
paths:
- '**'
- "!**/*.md"
- "!docs/**"
env:
FORK_COUNT: 2
FAIL_FAST: 0
SHOW_ERROR_DETAIL: 1
BUILD_OPTS: --batch-mode --no-snapshot-updates --no-transfer-progress -Dmaven.wagon.http.retryHandler.count=3 clean package dependency:copy-dependencies -DskipTests
jobs:
build-extensions:
name: "Build Extensions"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
path: dubbo-spi-extensions
- uses: actions/checkout@v2
with:
repository: 'apache/dubbo'
ref: '3.0'
path: dubbo
- name: Set up JDK 8
uses: actions/setup-java@v1
with:
java-version: 8
- uses: actions/cache@v2
name: "Cache local Maven repository"
with:
path: ~/.m2/repository
key: ${{ runner.os }}-extensions-maven${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-extensions-maven
- name: "Build tools"
run: |
cd ./dubbo
./mvnw --batch-mode -U -e --no-transfer-progress install -pl dubbo-build-tools -am -DskipTests=true
- name: "Build with Maven"
run: |
cd ./dubbo-spi-extensions
./mvnw --batch-mode -U -e --no-transfer-progress install -am -DskipTests=true
- name: "Build Scenarios"
run: |
cd ./dubbo-spi-extensions/test/scenarios
../../mvnw --batch-mode -U -e --no-transfer-progress install -am -DskipTests=true
prepare_test:
name: "Prepare Test"
runs-on: ubuntu-latest
env:
#'JOB_COUNT' MUST match 'job_id' list of 'testjob'
JOB_COUNT: 3
steps:
- uses: actions/checkout@v1
- name: Prepare test list
run: |
bash ./test/scripts/prepare-test.sh
- name: Upload test list
uses: actions/upload-artifact@v2
with:
name: test-list
path: test/jobs
testjob:
needs: [ prepare_test,build-extensions ]
name: 'Conformance Test'
runs-on: ubuntu-latest
env:
JAVA_VER: ${{matrix.java}}
strategy:
fail-fast: false
matrix:
java: [ 8,11 ]
#testjob id list MUST match 'JOB_COUNT' of 'prepare_test'
job_id: [ 1,2,3 ]
steps:
- uses: actions/checkout@v1
- name: Set up JDK ${{matrix.java}}
uses: actions/setup-java@v1
with:
java-version: ${{matrix.java}}
- name: Cache local Maven repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-extensions-maven${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-extensions-maven
- name: Download test list
uses: actions/download-artifact@v2
with:
name: test-list
path: test/jobs/
- name: Build test image
run: |
cd test && bash ./build-test-image.sh
- name: Run tests
run: cd test && bash ./run-tests.sh
- name: Upload test result
if: always()
uses: actions/upload-artifact@v2
with:
name: test-result
path: test/jobs/*-result*
test_result:
needs: [ testjob ]
name: 'Test Result (Java${{matrix.java}})'
if: always()
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
java: [ 8,11 ]
env:
JAVA_VER: ${{matrix.java}}
steps:
- uses: actions/checkout@v2
- name: Download test result
uses: actions/download-artifact@v2
with:
name: test-result
path: test/jobs/
- name: Merge test result - java ${{matrix.java}}
run: ./test/scripts/merge-test-results.sh