#971 Remove field injectors, #973 Dependency graph rewrite, #974 Factory assisted injection deprecation, and #975 Explicit post processing methods #930
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Hartshorn | |
on: pull_request | |
# ┌───────────────┐ ┌──────────────┐ ┌───────────────┐ | |
# │ License check │ → │ Build all │ → │ Build all │ | |
# └───────────────┘ │ (JDK source) │ │ (JDK target) │ | |
# └──────────────┘ └───────────────┘ | |
# ↓ ↓ | |
# ┌──────────────┐ ┌───────────────┐ | |
# │ Test all │ → │ Test all │ | |
# │ (JDK source) │ │ (JDK target) │ | |
# └──────────────┘ └───────────────┘ | |
# ↓ | |
# ┌─────────────────┐ | |
# │ Module coverage │ | |
# │ (JDK source) │ | |
# └─────────────────┘ | |
jobs: | |
license: | |
name: License check | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up source JDK | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 17 | |
distribution: temurin | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@v2 | |
- name: Check license headers | |
run: ./gradlew checkLicenses | |
buildSource: | |
needs: [license] | |
name: Build all (source JDK) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up source JDK | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 17 | |
distribution: temurin | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@v2 | |
- name: "Build (source JDK)" | |
run: ./gradlew build -x test | |
buildTarget: | |
needs: [buildSource] | |
strategy: | |
fail-fast: false | |
matrix: | |
java: [18, 19] | |
name: Build all (target JDK ${{ matrix.java }}) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK ${{ matrix.java }} | |
uses: actions/setup-java@v3 | |
with: | |
java-version: ${{ matrix.java }} | |
distribution: temurin | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@v2 | |
- name: "Build (Java ${{ matrix.java }})" | |
run: ./gradlew build -x test | |
testSource: | |
needs: [buildSource] | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
name: Unit tests (source JDK) | |
runs-on: "${{ matrix.os }}" | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up source JDK | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 17 | |
distribution: temurin | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@v2 | |
- name: "Unit testing (OS: ${{ matrix.os }}, source JDK)" | |
run: ./gradlew test | |
testTarget: | |
needs: [testSource, buildTarget] | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
java: [18, 19] | |
name: Unit tests (target JDK ${{ matrix.java }}) | |
runs-on: "${{ matrix.os }}" | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK ${{ matrix.java }} | |
uses: actions/setup-java@v3 | |
with: | |
java-version: ${{ matrix.java }} | |
distribution: temurin | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@v2 | |
- name: "Unit testing (OS: ${{ matrix.os }}, Java: ${{ matrix.java }})" | |
run: ./gradlew test | |
coverage: | |
needs: [testSource] | |
strategy: | |
fail-fast: false | |
name: Code coverage | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up source JDK | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 17 | |
distribution: temurin | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@v2 | |
- name: Run tests | |
run: ./gradlew test | |
- name: Add coverage to PR | |
id: jacoco | |
uses: madrapps/[email protected] | |
with: | |
title: Code coverage | |
update-comment: true | |
paths: | | |
${{ github.workspace }}/build/reports/jacoco/jacocoMergedReport/jacocoMergedReport.xml | |
token: ${{ secrets.GITHUB_TOKEN }} | |
min-coverage-overall: 80 | |
min-coverage-changed-files: 80 | |
- name: Verify coverage report | |
run: ./gradlew jacocoTestCoverageVerification |