aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/test.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/test.yml')
-rw-r--r--.github/workflows/test.yml88
1 files changed, 88 insertions, 0 deletions
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
new file mode 100644
index 00000000..bf701005
--- /dev/null
+++ b/.github/workflows/test.yml
@@ -0,0 +1,88 @@
+name: Run Tests
+on: [ push, pull_request ]
+jobs:
+ build:
+ strategy:
+ fail-fast: false
+ matrix:
+ version: [ 7.0.0-jdk16 , 7.2-jdk17 ]
+ runs-on: ubuntu-20.04
+ container:
+ image: gradle:${{ matrix.version }}
+ options: --user root
+ steps:
+ - uses: actions/checkout@v2
+ - uses: gradle/wrapper-validation-action@v1
+ - run: gradle build check -x test --stacktrace
+
+ # This job is used to feed the test matrix of next job to allow the tests to run in parallel
+ prepare_test_matrix:
+ # Lets wait to ensure it builds before going running tests
+ needs: build
+
+ runs-on: ubuntu-20.04
+ container:
+ image: gradle:7.0.1-jdk16
+ options: --user root
+
+ steps:
+ - uses: actions/checkout@v2
+ - run: gradle writeActionsTestMatrix --stacktrace
+ - id: set-matrix
+ run: echo "::set-output name=matrix::$(cat build/test_matrix.json)"
+
+ outputs:
+ matrix: ${{ steps.set-matrix.outputs.matrix }}
+
+ run_tests:
+ needs: prepare_test_matrix
+
+ strategy:
+ fail-fast: false
+ matrix:
+ version: [7.0.0-jdk16 , 7.2-jdk17]
+ test: ${{ fromJson(needs.prepare_test_matrix.outputs.matrix) }}
+
+ runs-on: ubuntu-20.04
+ container:
+ image: gradle:${{ matrix.version }}
+ options: --user root
+
+ steps:
+ - uses: actions/checkout@v2
+ - run: gradle test --tests ${{ matrix.test }} --stacktrace
+ env:
+ TEST_WARNING_MODE: fail
+
+ - uses: actions/upload-artifact@v2
+ if: ${{ failure() }}
+ with:
+ name: ${{ matrix.test }} (${{ matrix.java }}) Results
+ path: build/reports/
+
+ run_tests_windows:
+ needs: prepare_test_matrix
+
+ strategy:
+ fail-fast: false
+ matrix:
+ java: [ 16 ]
+ test: ${{ fromJson(needs.prepare_test_matrix.outputs.matrix) }}
+
+ runs-on: windows-2019
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: setup jdk ${{ matrix.java }}
+ uses: actions/setup-java@v1
+ with:
+ java-version: ${{ matrix.java }}
+ - run: ./gradlew test --tests ${{ matrix.test }} --stacktrace
+ env:
+ TEST_WARNING_MODE: fail
+
+ - uses: actions/upload-artifact@v2
+ if: ${{ failure() }}
+ with:
+ name: ${{ matrix.test }} (${{ matrix.java }}) Results
+ path: build/reports/