- job: name: jdkX-zgc-test project-type: matrix defaults: global description: | * Configures and builds jdkX (ie, bin/java, bin/javac, et al) in debug mode before running SPECjbb2015. * The source tarball is copied from the jdkX-update-src-tree job.
* As we are the maintainers of ZGC on aarch64, we need to look after this. properties: - authorization: anonymous: - job-read - job-extended-read openjdk-members: - job-build - job-cancel - job-workspace - build-discarder: days-to-keep: 30 num-to-keep: 10 artifact-num-to-keep: 5 - build-blocker: use-build-blocker: true blocking-jobs: - "jdk14-.*" - "jdk13-.*" - "jdk11-.*" - "jdk8-.*" block-level: 'GLOBAL' disabled: true node: j12-qrep-01 display-name: 'OpenJDK JDK - ZGC Debug Test' axes: - axis: type: user-defined name: BUILD_TYPE values: - fastdebug - axis: type: slave name: label values: - j12-qrep-01 execution-strategy: sequential: true wrappers: - workspace-cleanup: dirmatch: false - timestamps - matrix-tie-parent: node: j12-qrep-01 triggers: - timed: '0 20 * * 1,3,5' builders: - copyartifact: project: jdkX-update-src-tree filter: 'out/jdkX.tar.gz' target: incoming flatten: true - shell: | #!/bin/bash set -exu ccache_build_opts=--disable-ccache rm -rf jdk* primordial-jdk* build* out cd $HOME/srv/jdk-cache/jdk14 export JAVA_HOME=${PWD} export PATH=${JAVA_HOME}/bin:${PATH} cd ${WORKSPACE} # Extract sources from upstream job tar xf incoming/jdkX.tar.gz shopt -s nullglob # Configure and build. mkdir -p build-stage1 build-stage2 out two_stage_build=0 which java java -version pushd build-stage2 sh ../jdkX/configure --with-debug-level=${BUILD_TYPE} ${ccache_build_opts} --with-native-debug-symbols=internal make images popd #tar -C build-stage2/images/jdk --transform="s!^./!$artifact_name/!" -acf out/${artifact_name}.tar.gz . # Now run test with ZGC. export PATH=$PWD/build-stage2/images/jdk/bin:$PATH ## Extract specjbb2015 product CACHE_FILES=$HOME/srv/jdk-cache tar xf $CACHE_FILES/SPECjbb2015-jdk11.tar.gz # Run test SPECJBB_PRODUCT_HOME=SPECjbb2015-1.00 # This commented-out invocation is a quick test that # takes about 10 minutes to complete - which can be # useful when debugging. #(cd $SPECJBB_PRODUCT_HOME; \ # time java \ # -Dspecjbb.controller.rtcurve.duration.min=500 \ # -Dspecjbb.controller.rtcurve.duration.max=1500 \ # -Dspecjbb.controller.type=PRESET \ # -Dspecjbb.controller.preset.ir=4000 \ # -Dspecjbb.controller.preset.duration=100 \ # -jar specjbb2015.jar -m composite) (cd $SPECJBB_PRODUCT_HOME; java \ -XX:+UseTransparentHugePages \ -XX:-UseBiasedLocking \ -Xmx16g \ -XX:+UnlockExperimentalVMOptions \ -XX:+UseZGC \ -XX:-UseBiasedLocking \ -XX:+UnlockDiagnosticVMOptions \ -XX:+ZVerifyForwarding \ -XX:+ZVerifyMarking \ -XX:+ZVerifyViews \ -Dspecjbb.controller.rtcurve.duration.min=500 \ -Dspecjbb.controller.rtcurve.duration.max=1500 \ -Dspecjbb.controller.type=PRESET \ -Dspecjbb.controller.preset.ir=40000 \ -Dspecjbb.controller.preset.duration=100 \ -jar specjbb2015.jar \ -ikv -m composite) # Do a sanity run of JCStress DEPS=$HOME/workspace/jdkX-get-deps JCSTRESS_JAR=$DEPS/jcstress.jar java -jar ${JCSTRESS_JAR} \ -jvmArgs "-XX:+UnlockExperimentalVMOptions -XX:+UseZGC " \ -m sanity publishers: - email: recipients: 'stuart.monteith@linaro.org' - html-publisher: name: 'HTML Report' dir: 'results' files: 'index.html' keep-all: true