58 lines
1.9 KiB
YAML
58 lines
1.9 KiB
YAML
|
#
|
||
|
# Copyright 2009-2021 the original author or authors.
|
||
|
#
|
||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
# you may not use this file except in compliance with the License.
|
||
|
# You may obtain a copy of the License at
|
||
|
#
|
||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||
|
#
|
||
|
# Unless required by applicable law or agreed to in writing, software
|
||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
# See the License for the specific language governing permissions and
|
||
|
# limitations under the License.
|
||
|
#
|
||
|
|
||
|
name: Java CI
|
||
|
|
||
|
on: [push, pull_request]
|
||
|
|
||
|
jobs:
|
||
|
test:
|
||
|
runs-on: ubuntu-latest
|
||
|
strategy:
|
||
|
matrix:
|
||
|
java: [ 8, 11, 17, 21]
|
||
|
distribution: [ 'adopt' ]
|
||
|
fail-fast: false
|
||
|
max-parallel: 4
|
||
|
name: Test JDK ${{ matrix.java }}
|
||
|
|
||
|
steps:
|
||
|
- uses: actions/checkout@main
|
||
|
- name: Set up JDK
|
||
|
uses: actions/setup-java@main
|
||
|
with:
|
||
|
java-version: ${{ matrix.java }}
|
||
|
distribution: ${{ matrix.distribution }}
|
||
|
- name: Cache local Maven repository
|
||
|
uses: actions/cache@main
|
||
|
with:
|
||
|
path: ~/.m2/repository
|
||
|
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
|
||
|
restore-keys: |
|
||
|
${{ runner.os }}-m2
|
||
|
- name: Chmod
|
||
|
run: chmod +x mvnw
|
||
|
- name: Test with Maven
|
||
|
if: ${{ matrix.java == '8' }}
|
||
|
run: ./mvnw test -B -Dmaven.test.skip=false
|
||
|
- name: Test with Maven
|
||
|
if: ${{ matrix.java != '8' }}
|
||
|
run: ./mvnw test -B -Dmaven.test.skip=false -DargLine="--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/sun.reflect.annotation=ALL-UNNAMED"
|
||
|
- name: Maven Build
|
||
|
run: ./mvnw install -B -V
|
||
|
- name: Java Doc
|
||
|
run: ./mvnw javadoc:javadoc
|