aboutsummaryrefslogtreecommitdiff
path: root/jdk8-build-image.yaml
diff options
context:
space:
mode:
authorFathi Boudra <fathi.boudra@linaro.org>2015-10-26 10:34:10 +0200
committerFathi Boudra <fathi.boudra@linaro.org>2015-10-26 10:34:10 +0200
commit8a70be3f4a728b12cd6f3194bca731a32c9a4847 (patch)
tree2c173c0ad02225a8b74d23aa20ec41328b7f70a8 /jdk8-build-image.yaml
parent50fedc016709f75a1257b0eb6ec5f89e38af88ca (diff)
jdk8-build-image: add new OpenJDK CI job
Change-Id: I7b6358501399f3a86e85a5f8112e126248b05a2c Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
Diffstat (limited to 'jdk8-build-image.yaml')
-rw-r--r--jdk8-build-image.yaml121
1 files changed, 121 insertions, 0 deletions
diff --git a/jdk8-build-image.yaml b/jdk8-build-image.yaml
new file mode 100644
index 0000000000..574a293b5f
--- /dev/null
+++ b/jdk8-build-image.yaml
@@ -0,0 +1,121 @@
+- job:
+ name: jdk8-build-image
+ project-type: matrix
+ defaults: global
+ description: |
+ * Configures and builds jdk8 (ie, bin/java, bin/javac, et al) for various configurations.<br>
+ * The source tarball is copied from the jdk8-update-src-tree job.<br>
+ * <b>Note:</b> we are no longer building -fastdebug variants as there is not enough time to test the images.
+ logrotate:
+ numToKeep: 10
+ artifactNumToKeep: 1
+ properties:
+ - authorization:
+ anonymous:
+ - job-read
+ - job-extended-read
+ disabled: false
+ node: aarch64-06
+ display-name: 'OpenJDK - Configure and build OpenJDK 8'
+ scm:
+ - git:
+ url: https://git.linaro.org/leg/openjdk/openjdk8-jenkins-only-build-patches.git
+ refspec: +refs/heads/master:refs/remotes/origin/master
+ name: origin
+ branches:
+ - refs/heads/master
+ basedir: patches
+ skip-tag: true
+ shallow-clone: true
+ wipe-workspace: false
+ axes:
+ - axis:
+ type: user-defined
+ name: JVM_VARIANT
+ values:
+ - server
+ - client
+ - axis:
+ type: user-defined
+ name: BUILD_TYPE
+ values:
+ - release
+ execution-strategy:
+ sequential: true
+ wrappers:
+ - workspace-cleanup:
+ dirmatch: false
+ - timestamps
+ - matrix-tie-parent:
+ node: aarch64-06
+ builders:
+ - copyartifact:
+ project: jdk8-update-src-tree
+ filter: 'out/jdk8.tar.gz'
+ target: incoming
+ flatten: true
+ - copyartifact:
+ project: archive-primordial-jdk7
+ filter: 'out/primordial-jdk7.tar.gz'
+ target: incoming
+ flatten: true
+ - shell: |
+ #!/bin/bash
+
+ set -exu
+
+ #export CCACHE_DIR=~/.ccache-${JVM_VARIANT}-${BUILD_TYPE}
+ #ccache -M 1G
+ #ccache -s
+
+ ccache_build_opts=--disable-ccache
+
+ # Extract sources from upstream job
+ rm -rf jdk8
+ tar xf incoming/jdk8.tar.gz
+
+ shopt -s nullglob
+
+ for i in ${WORKSPACE}/patches/*.patch; do
+ echo "Applying patch: $i"
+ (cd jdk8; patch -p1 < $i)
+ done
+
+ # Extract boot jdk
+ rm -rf primordial-jdk7
+ tar xf incoming/primordial-jdk7.tar.gz
+
+ # Configure and build.
+ rm -rf 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 ../jdk8/configure --with-jvm-variants=${JVM_VARIANT} --with-debug-level=${BUILD_TYPE} --with-boot-jdk=${WORKSPACE}/primordial-jdk7 ${ccache_build_opts}
+ make images
+ popd
+
+ pushd build-stage2
+ sh ../jdk8/configure --with-jvm-variants=${JVM_VARIANT} --with-debug-level=${BUILD_TYPE} --with-boot-jdk=${WORKSPACE}/build-stage1/images/j2sdk-image ${ccache_build_opts}
+ make images
+ popd
+ else
+ pushd build-stage2
+ sh ../jdk8/configure --with-jvm-variants=${JVM_VARIANT} --with-debug-level=${BUILD_TYPE} ${ccache_build_opts}
+ make images
+ popd
+ fi
+
+ # Archive the result
+ rm -rf out
+ mkdir out
+ artifact_name=jdk8-${JVM_VARIANT}-${BUILD_TYPE}
+ tar -C build-stage2/images/j2sdk-image --exclude=\*.diz --transform="s!^!$artifact_name/!" -acf out/${artifact_name}.tar.gz jre bin lib
+ publishers:
+ - archive:
+ artifacts: 'out/*.tar.gz'