Switch to new Hibernate 6.2 Generator API + Hibernate 6.3 breaking changes #124
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: Build and Test | |
on: | |
workflow_dispatch: | |
pull_request: | |
types: | |
- opened | |
- reopened | |
- synchronize | |
permissions: | |
contents: write | |
pull-requests: write | |
jobs: | |
build: | |
# This extension can not execute hibernete tests on Java 8/11. This needs to be fixed and then uncomment the following 2 lines and remove the build and unit-test logic from here | |
#uses: liquibase/build-logic/.github/workflows/os-extension-test.yml@v0.3.5 | |
#secrets: inherit | |
name: Build & Package | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 17 | |
distribution: 'temurin' | |
cache: 'maven' | |
- name: Build and Package | |
run: mvn -B dependency:go-offline clean package -DskipTests=true | |
- name: Get Artifact ID | |
id: get-artifact-id | |
run: echo "::set-output name=artifact_id::$(mvn help:evaluate -Dexpression=project.artifactId -q -DforceStdout)" | |
- name: Save Artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ steps.get-artifact-id.outputs.artifact_id }}-artifacts | |
path: | | |
target/* | |
- name: Save Event File | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Event File | |
path: ${{ github.event_path }} | |
outputs: | |
artifact_id: ${{ steps.get-artifact-id.outputs.artifact_id }} | |
unit-test: | |
name: Test Java ${{ matrix.java }} | |
runs-on: ubuntu-latest | |
needs: build | |
strategy: | |
fail-fast: false | |
matrix: | |
java: [ 17, 20 ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK ${{ matrix.java }} | |
uses: actions/setup-java@v3 | |
with: | |
java-version: ${{ matrix.java }} | |
distribution: 'temurin' | |
cache: 'maven' | |
- name: Build Cache | |
uses: actions/cache@v3.3.2 | |
with: | |
key: build-${{ github.run_number }}-${{ github.run_attempt }} | |
path: | | |
**/target/** | |
~/.m2/repository/org/liquibase/ | |
- name: Run Tests | |
run: mvn -B jacoco:prepare-agent surefire:test | |
- name: Archive Test Results | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: test-reports-jdk-${{ matrix.java }} | |
path: | | |
**/target/surefire-reports | |
**/target/jacoco.exec | |
hibernate-test: | |
name: Test Hibernate ${{ matrix.hibernate }} | |
needs: build | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
hibernate: [ "6.0.2.Final", "6.1.7.Final", "6.2.7.Final", "6.3.1.Final" ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 17 | |
distribution: 'temurin' | |
cache: 'maven' | |
- name: Run Compatibility Tests | |
run: mvn -B jacoco:prepare-agent surefire:test -Dhibernate.version=${{ matrix.hibernate }} | |
- name: Run Tests | |
run: mvn -B jacoco:prepare-agent surefire:test | |
- name: Archive Test Results | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: test-reports-hibernate-${{ matrix.hibernate }} | |
path: | | |
**/target/surefire-reports | |
**/target/jacoco.exec | |
dependabot: | |
needs: hibernate-test | |
uses: liquibase/build-logic/.github/workflows/dependabot-automerge.yml@v0.4.3 | |
secrets: inherit |