2.0 preparations #1121
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: "Blaze-Persistence CI" | |
on: [push, pull_request] | |
env: | |
MAVEN_SKIP_RC: true | |
# See https://github.com/hibernate/hibernate-orm/pull/4615 for a description of the behavior we're getting. | |
concurrency: | |
# Consider that two builds are in the same concurrency group (cannot run concurrently) | |
# if they use the same workflow and are about the same branch ("ref") or pull request. | |
group: "workflow = ${{ github.workflow }}, ref = ${{ github.event.ref }}, pr = ${{ github.event.pull_request.id }}" | |
# Cancel previous builds in the same concurrency group even if they are in process | |
# for pull requests or pushes to forks (not the upstream repository). | |
cancel-in-progress: ${{ github.event_name == 'pull_request' || github.repository != 'Blazebit/blaze-persistence' }} | |
jobs: | |
build: | |
name: Test | |
runs-on: ubuntu-latest | |
# We want to know the test results of all matrix entries | |
continue-on-error: true | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
################################################ | |
# hibernate-6.6 | |
################################################ | |
- rdbms: h2 | |
provider: hibernate-6.6 | |
jdk: 17 | |
native: true | |
- rdbms: mysql | |
provider: hibernate-6.6 | |
jdk: 17 | |
native: true | |
- rdbms: postgresql | |
provider: hibernate-6.6 | |
jdk: 17 | |
native: true | |
- rdbms: oracle | |
provider: hibernate-6.6 | |
jdk: 17 | |
# native: true | |
- rdbms: db2 | |
provider: hibernate-6.6 | |
jdk: 17 | |
# native: true | |
- rdbms: mssql | |
provider: hibernate-6.6 | |
jdk: 17 | |
native: true | |
################################################ | |
# Test different spring-data and deltaspike versions | |
################################################ | |
- rdbms: h2 | |
provider: hibernate-6.6 | |
jdk: 17 | |
spring-data: spring-data-3.3.x | |
################################################ | |
# A Hibernate 6.6 profile that also runs the entity-view-annotation-processor | |
################################################ | |
- rdbms: postgresql | |
provider: hibernate-apt | |
jdk: 17 | |
################################################ | |
# eclipselink | |
################################################ | |
- rdbms: h2 | |
provider: eclipselink | |
jdk: 17 | |
################################################ | |
# hibernate-6.2 | |
################################################ | |
- rdbms: h2 | |
provider: hibernate-6.2 | |
jdk: 17 | |
spring-data: spring-data-3.1.x | |
################################################ | |
# hibernate-6.4 | |
################################################ | |
- rdbms: h2 | |
provider: hibernate-6.4 | |
jdk: 17 | |
spring-data: spring-data-3.2.x | |
################################################ | |
# LTS JDKs | |
################################################ | |
- rdbms: h2 | |
provider: hibernate-6.6 | |
jdk: 17 | |
build-jdk: 17 | |
################################################ | |
# Latest GA JDK | |
################################################ | |
- rdbms: h2 | |
provider: hibernate-6.6 | |
jdk: 21 | |
- rdbms: h2 | |
provider: hibernate-6.6 | |
jdk: 21 | |
build-jdk: 21 | |
################################################ | |
# Early access JDKs | |
################################################ | |
# - rdbms: h2 | |
# provider: hibernate-6.6 | |
# jdk: 22-ea | |
# - rdbms: h2 | |
# provider: hibernate-6.6 | |
# jdk: 22-ea | |
# build-jdk: 22-ea | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Update /etc/hosts file | |
# /etc/hosts file needs to be updated as a workaround for | |
# https://github.com/actions/virtual-environments/issues/3185 | |
run: echo -e "$(ip addr show eth0 | grep "inet\b" | awk '{print $2}' | cut -d/ -f1)\t$(hostname -f) $(hostname -s)" | sudo tee -a /etc/hosts | |
- name: Reclaim Disk Space | |
run: .github/ci-prerequisites.sh | |
- uses: graalvm/setup-graalvm@v1 | |
if: ${{ matrix.native }} | |
with: | |
java-version: '17' | |
distribution: 'mandrel' | |
- name: Set up Requested JDK | |
uses: actions/setup-java@v3 | |
if: ${{ !endsWith(matrix.jdk, '-ea') && matrix.jdk != '21' }} | |
with: | |
java-version: ${{ matrix.jdk }} | |
distribution: 'temurin' | |
- name: Set up EA JDK | |
uses: actions/setup-java@v3 | |
if: ${{ endsWith(matrix.jdk, '-ea') || matrix.jdk == '21' }} | |
with: | |
java-version: ${{ matrix.jdk }} | |
distribution: 'zulu' | |
- name: Get year/month for cache key | |
id: get-date | |
run: | | |
echo "::set-output name=yearmonth::$(/bin/date -u "+%Y-%m")" | |
shell: bash | |
- name: Cache Maven local repository | |
uses: actions/cache@v2 | |
id: cache-maven | |
with: | |
path: | | |
~/.m2/repository | |
# refresh cache every month to avoid unlimited growth | |
key: maven-localrepo-${{ steps.get-date.outputs.yearmonth }} | |
- name: Set up Maven | |
run: ./mvnw -v | |
- name: Run build script | |
env: | |
RDBMS: ${{ matrix.rdbms }} | |
JPAPROVIDER: ${{ matrix.provider }} | |
JDK: ${{ matrix.jdk }} | |
BUILD_JDK: ${{ matrix.build-jdk }} | |
NATIVE: ${{ matrix.native }} | |
DELTASPIKE: ${{ matrix.deltaspike }} | |
SPRING_DATA: ${{ matrix.spring-data }} | |
run: ./ci/build-github.sh | |
shell: bash | |
- name: Upload test reports (if Maven failed) | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: test-reports-${{ matrix.provider }}-${{ matrix.rdbms }}-jdk${{ matrix.jdk }}-build-jdk${{ matrix.build-jdk }}-${{ matrix.spring-data }} | |
path: './**/*-reports/' | |
- name: Omit produced artifacts from build cache | |
run: ./ci/before-cache.sh |