Skip to content

Update to Bazel 7, Kotlin 1.9, and JDK 21 #3977

Update to Bazel 7, Kotlin 1.9, and JDK 21

Update to Bazel 7, Kotlin 1.9, and JDK 21 #3977

Workflow file for this run

name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
merge_group:
workflow_dispatch:
jobs:
test_junit_springboot:
name: Spring Boot
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: zulu
java-version: 17
- name: Run Spring Boot example
# The Spring Boot example project is built with Maven. The shell script builds the project
# against the local version of Jazzer and runs its unit and fuzz tests.
# Spring version 6 requires JDK 17.
run: |
cd examples/junit-spring-web
./build-and-run-tests.sh
shell: bash
build_and_test:
runs-on: ${{ matrix.os }}
name: Build & Test
strategy:
matrix:
os: [ubuntu-20.04, macos-12, windows-2019]
jdk: [8, 21]
include:
- jdk: 21
# Workaround for https://github.com/bazelbuild/bazel/issues/14502
extra_bazel_args: "--jvmopt=-Djava.security.manager=allow"
- os: ubuntu-20.04
arch: "linux"
bazel_args: "//launcher/android:jazzer_android //tests/benchmarks"
- os: macos-12
arch: "macos-x86_64"
bazel_args: "--xcode_version_config=//.github:host_xcodes //launcher/android:jazzer_android"
- os: windows-2019
arch: "windows"
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: zulu
java-version: ${{ matrix.jdk }}
# The java binary has the necessary entitlements to allow tests to pass, but that requires
# user interaction (clicking through Gatekeeper warnings) that we can't simulate in CI.
- name: Remove codesign signature on java binary
if: contains(matrix.os, 'mac')
run: codesign --remove-signature "$JAVA_HOME"/bin/java
- name: Set Build Buddy config
run: .github/scripts/echoBuildBuddyConfig.sh ${{ secrets.BUILDBUDDY_API_KEY }} >> $GITHUB_ENV
shell: bash
- name: Build & Test
run: bazelisk test ${{env.BUILD_BUDDY_CONFIG}} --java_runtime_version=local_jdk_${{ matrix.jdk }} ${{ matrix.bazel_args }} ${{ matrix.extra_bazel_args }} --build_tag_filters="-no-${{ matrix.arch }}-jdk${{ matrix.jdk }},-no-jdk${{ matrix.jdk }}" --test_tag_filters="-no-${{ matrix.arch }}-jdk${{ matrix.jdk }},-no-jdk${{ matrix.jdk }}" //...
- name: Copy Bazel log
if: always()
shell: bash
run: cp "$(readlink bazel-out)"/../../../java.log* .
- name: Upload test logs
if: always()
uses: actions/upload-artifact@v3
with:
name: testlogs-${{ matrix.arch }}-${{ matrix.jdk }}
# https://github.com/actions/upload-artifact/issues/92#issuecomment-711107236
path: |
bazel-testlogs*/**/test.log
java.log*