diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index be22d5cb..8e936689 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -49,10 +49,14 @@ jobs: - openjdk9 - openjdk10 - openjdk11 - #- openjdk12 + - openjdk12 + - openjdk13 + - openjdk14 + - openjdk15 + - openjdk16 - openj9-openjdk8 - openj9-openjdk11 - #- openj9-openjdk16 + - openj9-openjdk16 runs-on: ubuntu-latest container: "renaissancebench/buildenv:${{ matrix.image }}" continue-on-error: true @@ -101,7 +105,7 @@ jobs: macos: strategy: matrix: - java: [ '8', '11' ] #, '13', '15' ] + java: [ '8', '11', '13', '15' ] runs-on: macos-latest continue-on-error: true steps: @@ -150,7 +154,7 @@ jobs: windows: strategy: matrix: - java: [ '8', '11' ] #, '13', '15' ] + java: [ '8', '11' , '13', '15' ] runs-on: windows-latest continue-on-error: true steps: diff --git a/tools/ci/bench-jmh.sh b/tools/ci/bench-jmh.sh index 136fc595..9d376a0b 100755 --- a/tools/ci/bench-jmh.sh +++ b/tools/ci/bench-jmh.sh @@ -6,6 +6,7 @@ source "$(dirname "$0")/common.sh" java -jar "$RENAISSANCE_JMH_JAR" \ -jvmArgs -Xms2500M -jvmArgs -Xmx2500m \ + $( for arg in $( get_jvm_workaround_args ); do echo "-jvmArgs" "$arg"; done ) \ -jvmArgs -Dorg.renaissance.jmh.configuration=test \ -jvmArgs -Dorg.renaissance.jmh.fakeIncompatible=true \ -wi 0 -i 1 -f 1 -foe true diff --git a/tools/ci/common.sh b/tools/ci/common.sh index 6093c66f..99a5f53a 100644 --- a/tools/ci/common.sh +++ b/tools/ci/common.sh @@ -21,6 +21,11 @@ RENAISSANCE_GIT_VERSION=$(git describe --tags --always --dirty=-SNAPSHOT || echo # Strip leading 'v' from the git-produced version RENAISSANCE_VERSION=${RENAISSANCE_GIT_VERSION#v} +# Try to guess JVM version (and replace 1.8 with 8) +RENAISSANCE_JVM_MAJOR_VERSION="$( java -version 2>&1 \ + | sed -n -e '/version[[:blank:]]\+"/ { s/.*version[[:blank:]]\+"\([^"]*\)".*/\1/; s/1[.]8/8/; s/^\([^.]*\)[.].*/\1/; p }' \ + || echo 8 )" + # The base bundle RENAISSANCE_DIR="target" RENAISSANCE_JAR_NAME="renaissance-gpl-${RENAISSANCE_VERSION}.jar" @@ -43,6 +48,15 @@ cp_reflink() { cp $REFLINK "$@" } +get_jvm_workaround_args() { + if [ "$RENAISSANCE_JVM_MAJOR_VERSION" = "16" ]; then + echo "--add-opens=java.base/java.lang.invoke=ALL-UNNAMED" + echo "--add-opens=java.base/java.util=ALL-UNNAMED" + echo "--add-opens=java.base/java.nio=ALL-UNNAMED" + echo "--add-opens=java.base/sun.nio.ch=ALL-UNNAMED" + fi +} + # Make sure we are in the top-level directory so that we can use # relative paths when referring to files within the project.