Skip to content

test: split unit & integration tests #5

test: split unit & integration tests

test: split unit & integration tests #5

name: Build & Test
on:
workflow_dispatch:
workflow_call:
push:
pull_request:
permissions:
checks: write
pull-requests: write
jobs:
build:
name: Build & Unit tests
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version-file: .java-version
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
with:
gradle-version: wrapper
- name: Build
run: gradle -s :build
test:
name: Integration tests
runs-on: ubuntu-latest
needs: build
strategy:
fail-fast: false
matrix:
gradle: [ '8.6-rc-1', '8.5', '8.0.2', '7.0.2', '6.9.3', '6.8.3' ]
java: [ 8, 11, 17, 21 ]
exclude:
- { gradle: '8.0.2', java: 21 }
- { gradle: '7.0.2', java: 21 }
- { gradle: '7.0.2', java: 17 }
- { gradle: '6.9.3', java: 21 }
- { gradle: '6.9.3', java: 17 }
- { gradle: '6.8.3', java: 21 }
- { gradle: '6.8.3', java: 17 }
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version-file: .java-version
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
with:
gradle-version: wrapper
- name: Check
run: gradle -s :test :integrationTest
env:
CURSED_PUBLISH_TEST_GRADLE_VERSION: "${{ matrix.gradle }}"
CURSED_PUBLISH_TEST_JAVA_VERSION: "${{ matrix.java }}"
- name: Publish Test Report
uses: mikepenz/action-junit-report@v4
if: success() || failure()
with:
report_paths: '**/build/test-results/*/TEST-*.xml'
check_name: "JUnit Test Report (Gradle ${{ matrix.gradle }}, Java ${{ matrix.java }})"