# 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: [ 16, 11, 8 ] 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: 16 experimental: false - os: windows-latest java: 16 experimental: false - os: ubuntu-latest java: 17-ea experimental: true runs-on: ${{ matrix.os }} continue-on-error: ${{ matrix.experimental }} steps: - name: Cancel previous uses: styfle/cancel-workflow-action@0.8.0 with: access_token: ${{ github.token }} - name: 'Check out repository' uses: actions/checkout@v2 - name: 'Cache local Maven repository' uses: actions/cache@v2 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} restore-keys: | ${{ runner.os }}-maven- - name: 'Set up JDK ${{ matrix.java }}' uses: actions/setup-java@v1 with: java-version: ${{ matrix.java }} - name: 'Install' shell: bash run: mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V - name: 'Test' shell: bash run: mvn test -B