| name: Java Tests |
| |
| on: |
| workflow_call: |
| inputs: |
| safe-checkout: |
| required: true |
| description: "The SHA key for the commit we want to run over" |
| type: string |
| |
| jobs: |
| linux: |
| strategy: |
| fail-fast: false |
| matrix: |
| include: |
| - name: OpenJDK 8 |
| version: '8' |
| image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:8-03a376b5d6ef66f827fc307716e3b841cc26b709 |
| targets: //java/... //java/internal:java_version |
| - name: OpenJDK 11 |
| version: '11' |
| image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:11-03a376b5d6ef66f827fc307716e3b841cc26b709 |
| targets: //java/... //java/internal:java_version |
| - name: OpenJDK 17 |
| version: '17' |
| image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:17-03a376b5d6ef66f827fc307716e3b841cc26b709 |
| targets: //java/... //java/internal:java_version |
| - name: aarch64 |
| version: 'aarch64' |
| image: us-docker.pkg.dev/protobuf-build/containers/test/linux/emulation:aarch64-3af05275178e16af30961976af126eabbbb2c733 |
| targets: //java/... //src/google/protobuf/compiler:protoc_aarch64_test |
| |
| name: Linux ${{ matrix.name }} |
| runs-on: ubuntu-latest |
| steps: |
| - name: Checkout pending changes |
| uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 |
| with: |
| ref: ${{ inputs.safe-checkout }} |
| - name: Run tests |
| uses: ./.github/actions/bazel-docker |
| with: |
| image: ${{ matrix.image }} |
| credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} |
| bazel-cache: java_linux/${{ matrix.version }} |
| bazel: test ${{ matrix.targets }} --test_env=KOKORO_JAVA_VERSION |
| |
| linkage-monitor: |
| name: Linux Linkage Monitor |
| runs-on: ubuntu-latest |
| steps: |
| - name: Checkout pending changes |
| uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 |
| with: |
| ref: ${{ inputs.safe-checkout }} |
| - name: Build protoc |
| uses: ./.github/actions/bazel |
| with: |
| credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }} |
| bazel-cache: java_linux_linkage |
| bash: | |
| $BAZEL build //:protoc $BAZEL_FLAGS |
| # The java build setup expects protoc in the root directory. |
| cp bazel-bin/protoc . |
| - name: Install snapshot version locally |
| run: | |
| cd java |
| mvn -e -B -Dhttps.protocols=TLSv1.2 install -Dmaven.test.skip=true |
| - name: Download Linkage Monitor |
| run: curl -v -O "https://storage.googleapis.com/cloud-opensource-java-linkage-monitor/linkage-monitor-latest-all-deps.jar" |
| - name: Fails if there's new linkage errors compared with baseline |
| run: java -Xmx2048m -jar linkage-monitor-latest-all-deps.jar com.google.cloud:libraries-bom |