# Copyright 2020 Google Inc. All Rights Reserved. # # 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: CI on: push: branches: - main pull_request: branches: - main jobs: test: name: "JDK ${{ matrix.java }} on ${{ matrix.os }}" strategy: fail-fast: false matrix: os: [ ubuntu-latest ] java: [ 19, 17, 11.0.16 ] experimental: [ false ] include: # Only test on macos and windows with a single recent JDK to avoid a # combinatorial explosion of test configurations. - os: macos-latest java: 19 experimental: false - os: windows-latest java: 19 experimental: false - os: ubuntu-latest java: 20-ea experimental: true - os: ubuntu-latest java: 21-ea experimental: true runs-on: ${{ matrix.os }} continue-on-error: ${{ matrix.experimental }} steps: - name: Cancel previous uses: styfle/cancel-workflow-action@0.9.1 with: access_token: ${{ github.token }} - name: 'Check out repository' uses: actions/checkout@v2 - name: 'Set up JDK ${{ matrix.java }}' uses: actions/setup-java@v2 with: java-version: ${{ matrix.java }} distribution: 'zulu' cache: 'maven' - name: 'Install' shell: bash run: mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V - name: 'Test' shell: bash run: mvn test -B - name: 'Javadoc' shell: bash run: mvn javadoc:aggregate