aboutsummaryrefslogtreecommitdiff
path: root/jdkX-build-release.yaml
diff options
context:
space:
mode:
authorStuart Monteith <stuart.monteith@linaro.org>2017-11-02 11:00:29 +0000
committerStuart Monteith <stuart.monteith@linaro.org>2017-11-07 11:10:36 +0000
commit3bc3d18f6e8818f2d34c79e57efda98422f5b6ca (patch)
tree0a2aee928ac02d651e252f254725dbd25d784728 /jdkX-build-release.yaml
parent117c1bb250bb9eff295003ce60cfba72386c867b (diff)
downloadconfigs-3bc3d18f6e8818f2d34c79e57efda98422f5b6ca.tar.gz
jdk: Create OpenJDK JDK build projects.
Creates jdkX builds. These track the jdk/hs branch rather than jdk10/hs. These will be the development tree for every version of OpenJDK from now on. Change-Id: I6e2d93e7a830b22386e563dfcebf790e37f1d960
Diffstat (limited to 'jdkX-build-release.yaml')
-rw-r--r--jdkX-build-release.yaml153
1 files changed, 153 insertions, 0 deletions
diff --git a/jdkX-build-release.yaml b/jdkX-build-release.yaml
new file mode 100644
index 000000000..383e997ef
--- /dev/null
+++ b/jdkX-build-release.yaml
@@ -0,0 +1,153 @@
+- job:
+ name: jdkX-build-release
+ project-type: matrix
+ defaults: global
+ description: |
+ * Configures and builds jdkX 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 jdkX-update-src-tree job.<br>
+ 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 JDK - Configure and build OpenJDK JDK 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: jdkX-update-src-tree
+ filter: 'out/jdkX.tar.gz'
+ target: incoming
+ flatten: true
+# - copyartifact:
+# project: archive-primordial-jdkX
+# filter: 'out/primordial-jdkX.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=jdkX-${JVM_VARIANT}-${BUILD_TYPE}-${RELEASE}
+ JDK_SRCDIR=jdkX-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/jdkX.tar.gz
+
+ mv jdkX $JDK_SRCDIR
+ # Tar up the source before sullying it with a build.
+ tar --exclude=.hg\* -acf out/jdkX-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-jdkX ${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=jdkX-${JVM_VARIANT}-${BUILD_TYPE}-${RELEASE}
+
+ # This is different from ordinary builds.
+ tar -C build-stage2/images --exclude=\*.diz --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'