diff options
Diffstat (limited to '.github/workflows/test.yml')
-rw-r--r-- | .github/workflows/test.yml | 88 |
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/ |