- job: | |
name: jdk13-build-release | |
project-type: matrix | |
defaults: global | |
description: | | |
* Configures and builds jdk13 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 jdk13-update-src-tree job.<br> | |
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 | |
disabled: true | |
node: j12-qrep-01 | |
display-name: 'OpenJDK 13 - Configure and build OpenJDK 13 Release' | |
axes: | |
- axis: | |
type: user-defined | |
name: BUILD_TYPE | |
values: | |
- release | |
- 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 | |
builders: | |
- copyartifact: | |
project: jdk13-update-src-tree | |
filter: 'out/jdk13.tar.gz' | |
target: incoming | |
flatten: true | |
- shell: | | |
#!/bin/bash | |
set -exu | |
# Generate files names dependent on year/month. | |
RELEASE=$(date +%y%m) | |
JDKDIR=jdk13-${BUILD_TYPE}-${RELEASE} | |
JDK_SRCDIR=jdk13-src-${RELEASE} | |
ccache_build_opts=--disable-ccache | |
rm -rf jdk* primordial-jdk* build* out | |
mkdir -p build-stage1 build-stage2 out | |
cd $HOME/srv/jdk-cache/jdk12 | |
export JAVA_HOME=${PWD} | |
export PATH=${JAVA_HOME}/bin:${PATH} | |
cd ${WORKSPACE} | |
# Extract sources from upstream job | |
tar xaf incoming/jdk13.tar.gz | |
mv jdk13 $JDK_SRCDIR | |
# Tar up the source before sullying it with a build. | |
tar --exclude=.hg\* -acf out/jdk13-src-${RELEASE}.tar.xz $JDK_SRCDIR | |
mv $JDK_SRCDIR $JDKDIR | |
shopt -s nullglob | |
# Configure and build. | |
two_stage_build=0 | |
which java | |
java -version | |
if [ $two_stage_build = 1 ]; then | |
pushd build-stage1 | |
sh ../$JDKDIR/configure --with-debug-level=${BUILD_TYPE} --with-boot-jdk=${WORKSPACE}/primordial-jdk13 ${ccache_build_opts} | |
make images | |
popd | |
pushd build-stage2 | |
sh ../$JDKDIR/configure --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" \ | |
--disable-warnings-as-errors | |
make images | |
popd | |
else | |
pushd build-stage2 | |
sh ../$JDKDIR/configure --with-debug-level=${BUILD_TYPE} \ | |
${ccache_build_opts} \ | |
--with-version-opt="Linaro-$RELEASE" \ | |
--with-version-pre="release" \ | |
--disable-warnings-as-errors | |
make images | |
popd | |
fi | |
# Archive the result | |
artifact_name=jdk13-${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' |