Skip to content

#971 Remove field injectors, #973 Dependency graph rewrite, #974 Factory assisted injection deprecation, and #975 Explicit post processing methods #930

#971 Remove field injectors, #973 Dependency graph rewrite, #974 Factory assisted injection deprecation, and #975 Explicit post processing methods

#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

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