blob: 7c04f783b38039a0d50ef177561c81f551099c00 [file] [log] [blame]
name: Java CI
on:
pull_request:
paths:
- "**"
push:
paths:
- '**'
env:
FORK_COUNT: 2
FAIL_FAST: 0
SHOW_ERROR_DETAIL: 1
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Cache local Maven repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build with Maven
run: |
./mvnw --settings .mvn/settings.xml clean package
prepare_test:
runs-on: ubuntu-latest
env:
JOB_COUNT: 6
steps:
- uses: actions/checkout@v1
- name: Prepare test list
run: |
cd test
bash ./prepare-test.sh
- name: Upload test list result
uses: actions/upload-artifact@v2
with:
name: test-list-result
path: test/jobs
test_job_1:
needs: prepare_test
runs-on: ubuntu-latest
env:
TEST_CASE_FILE: jobs/testcases-1.txt
steps:
- uses: actions/checkout@v1
- name: Cache local Maven repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/test/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build with Maven
run: |
./mvnw --settings .mvn/settings.xml clean package dependency:copy-dependencies -DskipTests
- name: Download test list result
uses: actions/download-artifact@v2
with:
name: test-list-result
path: test/jobs/
- uses: satackey/action-docker-layer-caching@v0.0.11
with:
key: ${{ runner.os }}-docker-layer-${{ hashFiles('**/test/build-test-image.sh') }}
restore-keys: ${{ runner.os }}-docker-layer-${{ hashFiles('**/test/build-test-image.sh') }}
- name: Build test image
run: cd test && bash ./build-test-image.sh
- name: Run tests
run: cd test && BUILD=n bash ./run-tests.sh
- name: Clean images
run: cd test && bash ./clean-damaged-image.sh
test_job_2:
needs: prepare_test
runs-on: ubuntu-latest
env:
TEST_CASE_FILE: jobs/testcases-2.txt
steps:
- uses: actions/checkout@v1
- name: Cache local Maven repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/test/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build with Maven
run: |
./mvnw --settings .mvn/settings.xml clean package dependency:copy-dependencies -DskipTests
- name: Download test list result
uses: actions/download-artifact@v2
with:
name: test-list-result
path: test/jobs/
- uses: satackey/action-docker-layer-caching@v0.0.11
with:
key: ${{ runner.os }}-docker-layer-${{ hashFiles('**/test/build-test-image.sh') }}
restore-keys: ${{ runner.os }}-docker-layer-${{ hashFiles('**/test/build-test-image.sh') }}
- name: Build test image
run: cd test && bash ./build-test-image.sh
- name: Run tests
run: cd test && BUILD=n bash ./run-tests.sh
- name: Clean images
run: cd test && bash ./clean-damaged-image.sh
test_job_3:
needs: prepare_test
runs-on: ubuntu-latest
env:
TEST_CASE_FILE: jobs/testcases-3.txt
steps:
- uses: actions/checkout@v1
- name: Cache local Maven repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/test/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build with Maven
run: |
./mvnw --settings .mvn/settings.xml clean package dependency:copy-dependencies -DskipTests
- name: Download test list result
uses: actions/download-artifact@v2
with:
name: test-list-result
path: test/jobs/
- uses: satackey/action-docker-layer-caching@v0.0.11
with:
key: ${{ runner.os }}-docker-layer-${{ hashFiles('**/test/build-test-image.sh') }}
restore-keys: ${{ runner.os }}-docker-layer-${{ hashFiles('**/test/build-test-image.sh') }}
- name: Build test image
run: cd test && bash ./build-test-image.sh
- name: Run tests
run: cd test && BUILD=n bash ./run-tests.sh
- name: Clean images
run: cd test && bash ./clean-damaged-image.sh
test_job_4:
needs: prepare_test
runs-on: ubuntu-latest
env:
TEST_CASE_FILE: jobs/testcases-4.txt
steps:
- uses: actions/checkout@v1
- name: Cache local Maven repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/test/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build with Maven
run: |
./mvnw --settings .mvn/settings.xml clean package dependency:copy-dependencies -DskipTests
- name: Download test list result
uses: actions/download-artifact@v2
with:
name: test-list-result
path: test/jobs/
- uses: satackey/action-docker-layer-caching@v0.0.11
with:
key: ${{ runner.os }}-docker-layer-${{ hashFiles('**/test/build-test-image.sh') }}
restore-keys: ${{ runner.os }}-docker-layer-${{ hashFiles('**/test/build-test-image.sh') }}
- name: Build test image
run: cd test && bash ./build-test-image.sh
- name: Run tests
run: cd test && BUILD=n bash ./run-tests.sh
- name: Clean images
run: cd test && bash ./clean-damaged-image.sh
test_job_5:
needs: prepare_test
runs-on: ubuntu-latest
env:
TEST_CASE_FILE: jobs/testcases-5.txt
steps:
- uses: actions/checkout@v1
- name: Cache local Maven repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/test/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build with Maven
run: |
./mvnw --settings .mvn/settings.xml clean package dependency:copy-dependencies -DskipTests
- name: Download test list result
uses: actions/download-artifact@v2
with:
name: test-list-result
path: test/jobs/
- uses: satackey/action-docker-layer-caching@v0.0.11
with:
key: ${{ runner.os }}-docker-layer-${{ hashFiles('**/test/build-test-image.sh') }}
restore-keys: ${{ runner.os }}-docker-layer-${{ hashFiles('**/test/build-test-image.sh') }}
- name: Build test image
run: cd test && bash ./build-test-image.sh
- name: Run tests
run: cd test && BUILD=n bash ./run-tests.sh
- name: Clean images
run: cd test && bash ./clean-damaged-image.sh
test_job_6:
needs: prepare_test
runs-on: ubuntu-latest
env:
TEST_CASE_FILE: jobs/testcases-6.txt
steps:
- uses: actions/checkout@v1
- name: Cache local Maven repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/test/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build with Maven
run: |
./mvnw --settings .mvn/settings.xml clean package dependency:copy-dependencies -DskipTests
- name: Download test list result
uses: actions/download-artifact@v2
with:
name: test-list-result
path: test/jobs/
- uses: satackey/action-docker-layer-caching@v0.0.11
with:
key: ${{ runner.os }}-docker-layer-${{ hashFiles('**/test/build-test-image.sh') }}
restore-keys: ${{ runner.os }}-docker-layer-${{ hashFiles('**/test/build-test-image.sh') }}
- name: Build test image
run: cd test && bash ./build-test-image.sh
- name: Run tests
run: cd test && BUILD=n bash ./run-tests.sh
- name: Clean images
run: cd test && bash ./clean-damaged-image.sh