blob: 96231e9783b0f64560b1c36c65aa7ac6ff487bb9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
- job:
name: jdk14-build-release
project-type: matrix
defaults: global
description: |
* Configures and builds jdk14 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 jdk14-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 14 - Configure and build OpenJDK 14 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: jdk14-update-src-tree
filter: 'out/jdk14.tar.gz'
target: incoming
flatten: true
- shell: |
#!/bin/bash
set -exu
# Generate files names dependent on year/month.
RELEASE=$(date +%y%m)
JDKDIR=jdk14-${BUILD_TYPE}-${RELEASE}
JDK_SRCDIR=jdk14-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/jdk13
export JAVA_HOME=${PWD}
export PATH=${JAVA_HOME}/bin:${PATH}
cd ${WORKSPACE}
# Extract sources from upstream job
tar xaf incoming/jdk14.tar.gz
mv jdk14 $JDK_SRCDIR
# Tar up the source before sullying it with a build.
tar --exclude=.hg\* -acf out/jdk14-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-jdk14 ${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=jdk14-${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'
|