# Copyright 2022 Google LLC # # 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. # Github action job to test core java library features on # downstream client libraries before they are released. on: push: branches: - main pull_request: name: ci jobs: units: runs-on: ubuntu-latest strategy: fail-fast: false matrix: java: [8, 11, 17, 25] steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v4 with: distribution: temurin java-version: ${{matrix.java}} - run: java -version - run: .kokoro/build.sh env: JOB_TYPE: test windows: runs-on: windows-latest steps: - name: Support longpaths run: git config --system core.longpaths true - uses: actions/checkout@v4 - uses: actions/setup-java@v4 with: distribution: temurin java-version: 8 - run: java -version - run: .kokoro/build.bat env: JOB_TYPE: test dependencies: runs-on: ubuntu-latest strategy: matrix: java: [8, 11, 17, 25] steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v4 with: distribution: temurin java-version: ${{matrix.java}} - run: java -version - run: .kokoro/dependencies.sh lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v4 with: distribution: temurin java-version: 11 - run: java -version - run: .kokoro/build.sh env: JOB_TYPE: lint clirr: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v4 with: distribution: temurin java-version: 8 - run: java -version - run: .kokoro/build.sh env: JOB_TYPE: clirr # compilation failure for sub-modules using source and target options 7 (this setting cannot be upgraded to Java 21 because some modules support max of Java 8) # Hence compile in Java 8 and test in Java 21. units-java21: # Building using Java 8 and run the tests with Java 21 runtime name: "units (21)" runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v4 with: java-version: 21 distribution: temurin - name: "Set jvm system property environment variable for surefire plugin (unit tests)" # Maven surefire plugin (unit tests) allows us to specify JVM to run the tests. # https://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#jvm run: echo "SUREFIRE_JVM_OPT=-Djvm=${JAVA_HOME}/bin/java" >> $GITHUB_ENV shell: bash - uses: actions/setup-java@v4 with: java-version: 8 distribution: temurin - run: .kokoro/build.sh env: JOB_TYPE: test