- job: name: jdk10-build-release project-type: matrix defaults: global description: | * Configures and builds jdk10 for release. Run after the source has passed tests. * Tags build with Linaro-YYMM as per normal release procedure. * The source tarball is copied from the jdk10-update-src-tree job.
properties: - authorization: anonymous: - job-read - job-extended-read openjdk-members: - job-build - job-cancel - build-discarder: days-to-keep: 30 num-to-keep: 10 artifact-num-to-keep: 5 parameters: - string: name: JDK_URL default: 'http://openjdk.linaro.org/releases/jdk9-server-release-1708.tar.xz' disabled: false node: aarch64-06 display-name: 'OpenJDK 10u - Configure and build OpenJDK 10u Release' axes: - axis: type: user-defined name: JVM_VARIANT values: - server - axis: type: user-defined name: BUILD_TYPE values: - release - axis: type: slave name: label values: - aarch64-06 execution-strategy: sequential: true wrappers: - workspace-cleanup: dirmatch: false - timestamps - matrix-tie-parent: node: aarch64-06 builders: - copyartifact: project: jdk10-update-src-tree filter: 'out/jdk10u.tar.gz' target: incoming flatten: true # - copyartifact: # project: archive-primordial-jdk10 # filter: 'out/primordial-jdk10.tar.gz' # target: incoming # flatten: true - shell: | #!/bin/bash set -exu #export CCACHE_DIR=~/.ccache-${JVM_VARIANT}-${BUILD_TYPE} #ccache -M 1G #ccache -s export JVM_VARIANT=server # Generate files names dependent on year/month. RELEASE=$(date +%y%m) JDKDIR=jdk10u-${JVM_VARIANT}-${BUILD_TYPE}-${RELEASE} JDK_SRCDIR=jdk10u-src-${RELEASE} ccache_build_opts=--disable-ccache rm -rf jdk* primordial-jdk* build* # Download, setup JDK9 for building. wget --progress=dot -e dotbytes=2M ${JDK_URL} tar -Jxf jdk*.tar.xz cd jdk*/lib/security/ rm -f cacerts ln -s /etc/ssl/certs/java/cacerts cd ${WORKSPACE}/jdk* export JAVA_HOME=${PWD} export PATH=${JAVA_HOME}/bin:${PATH} cd ${WORKSPACE} # Setup archive directory mkdir out # Extract sources from upstream job tar xaf incoming/jdk10u.tar.gz mv jdk10u $JDK_SRCDIR # Tar up the source before sullying it with a build. tar --exclude=.hg\* -acf out/jdk10u-src-${RELEASE}.tar.xz $JDK_SRCDIR mv $JDK_SRCDIR $JDKDIR shopt -s nullglob # Configure and build mkdir -p build-stage1 build-stage2 two_stage_build=0 which java java -version if [ $two_stage_build = 1 ]; then pushd build-stage1 sh ../$JDKDIR/configure --with-jvm-variants=${JVM_VARIANT} --with-debug-level=${BUILD_TYPE} --with-boot-jdk=${WORKSPACE}/primordial-jdk10 ${ccache_build_opts} make images popd pushd build-stage2 sh ../$JDKDIR/configure --with-jvm-variants=${JVM_VARIANT} \ --with-debug-level=${BUILD_TYPE} \ --with-boot-jdk=${WORKSPACE}/build-stage1/images/jdk \ ${ccache_build_opts} \ --with-version-opt="Linaro-$RELEASE" \ --with-version-pre="release" make images popd else pushd build-stage2 sh ../$JDKDIR/configure --with-jvm-variants=${JVM_VARIANT} \ --with-debug-level=${BUILD_TYPE} \ ${ccache_build_opts} \ --with-version-opt="Linaro-$RELEASE" \ --with-version-pre="release" make images popd fi # Archive the result artifact_name=jdk10u-${JVM_VARIANT}-${BUILD_TYPE}-${RELEASE} # This is different from ordinary builds. tar -C build-stage2/images --exclude=\*.debuginfo --transform="s!^jdk!$artifact_name!" -acf out/${artifact_name}.tar.xz jdk publishers: - archive: artifacts: 'out/*.tar.xz' - email: recipients: 'stuart.monteith@linaro.org fathi.boudra@linaro.org'