run build and unit tests using Java 21 (#15088)

* run build and unit test using Java 21

* run static checks with Java 21

* use setup-java for unit tests, since Java 21 is not built-in

* skip maven cache from setup-java

* add comments to explain cache behavior
This commit is contained in:
Xavier Léauté 2023-10-06 12:45:07 -07:00 committed by GitHub
parent 1a06ef5a24
commit f9439970c9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 21 additions and 8 deletions

View File

@ -59,9 +59,15 @@ jobs:
with:
fetch-depth: 0
- name: setup jdk${{ inputs.jdk }}
run: echo "JAVA_HOME=$JAVA_HOME_${{ inputs.jdk }}_X64" >> $GITHUB_ENV
# skip the "cache: maven" step from setup-java. We explicitly use a
# different cache key since we cannot reuse it across commits.
- uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: ${{ inputs.jdk }}
# the build step produces SNAPSHOT artifacts into the local maven repository,
# we include github.sha in the cache key to make it specific to that build/jdk
- name: Restore Maven repository
id: maven-restore
uses: actions/cache/restore@v3

View File

@ -153,6 +153,8 @@ jobs:
- name: Setup java
run: export JAVA_HOME=$JAVA_HOME_8_X64
# the build step produces SNAPSHOT artifacts into the local maven repository,
# we include github.sha in the cache key to make it specific to that build/jdk
- name: Restore Maven repository
id: maven-restore
uses: actions/cache/restore@v3

View File

@ -41,7 +41,7 @@ jobs:
strategy:
fail-fast: false
matrix:
java: [ '8', '11', '17' ]
java: [ '8', '11', '17', '21' ]
runs-on: ubuntu-latest
steps:
- name: checkout branch

View File

@ -56,16 +56,21 @@ jobs:
strategy:
fail-fast: false
matrix:
jdk: [ '8', '11', '17' ]
jdk: [ '8', '11', '17', '21' ]
runs-on: ubuntu-latest
steps:
- name: Checkout branch
uses: actions/checkout@v3
- name: setup jdk${{ matrix.jdk }}
run: |
echo "JAVA_HOME=$JAVA_HOME_${{ matrix.jdk }}_X64" >> $GITHUB_ENV
# skip the "cache: maven" step from setup-java. We explicitly use a
# different cache key since we cannot reuse it across commits.
- uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: ${{ matrix.jdk }}
# the build step produces SNAPSHOT artifacts into the local maven repository,
# we include github.sha in the cache key to make it specific to that build/jdk
- name: Cache Maven m2 repository
id: maven
uses: actions/cache@v3
@ -112,7 +117,7 @@ jobs:
strategy:
fail-fast: false
matrix:
jdk: [ 11, 17 ]
jdk: [ 11, 17, 21 ]
name: "unit tests (jdk${{ matrix.jdk }}, sql-compat=true)"
uses: ./.github/workflows/unit-tests.yml
needs: unit-tests