1# Licensed to the Apache Software Foundation (ASF) under one or more 2# contributor license agreements. See the NOTICE file distributed with 3# this work for additional information regarding copyright ownership. 4# The ASF licenses this file to You under the Apache License, Version 2.0 5# (the "License"); you may not use this file except in compliance with 6# the License. You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15 16name: Java CI 17 18on: [push, pull_request] 19 20permissions: 21 contents: read 22 23jobs: 24 build: 25 26 runs-on: ${{ matrix.os }} 27 continue-on-error: ${{ matrix.experimental }} 28 strategy: 29 matrix: 30 os: [ubuntu-latest, windows-latest, macos-latest] 31 java: [ 8, 11, 17, 21 ] 32 experimental: [false] 33# include: 34# - java: 22-ea 35# os: ubuntu-latest 36# experimental: true 37# - java: 22-ea 38# os: windows-latest 39# experimental: true 40# - java: 22-ea 41# os: macos-latest 42# experimental: true 43 fail-fast: false 44 45 steps: 46 - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 47 with: 48 persist-credentials: false 49 - uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3.3.2 50 with: 51 path: ~/.m2/repository 52 key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} 53 restore-keys: | 54 ${{ runner.os }}-maven- 55 - name: Set up JDK ${{ matrix.java }} 56 uses: actions/setup-java@0ab4596768b603586c0de567f2430c30f5b0d2b0 # v3.13.0 57 with: 58 distribution: 'temurin' 59 java-version: ${{ matrix.java }} 60 - name: Build with Maven 61 run: mvn --show-version --batch-mode --no-transfer-progress -DtrimStackTrace=false 62