aboutsummaryrefslogtreecommitdiff
path: root/jdkX-ci-build.yaml
blob: d1882c63f6127d5144256e051579204c589a853a (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
- scm:
    name: jdkX
    scm:
        - hg:
            url: https://hg.openjdk.java.net/jdk/jdk
            clean: true
            subdir: jdkX
- job:
    name: jdkX-ci-build
    project-type: freestyle
    defaults: global
    description: |
        Updates source and builds OpenJDK frequently to ensure builds are successful.
    properties:
        - authorization:
            anonymous:
                - job-read
                - job-extended-read
                - job-workspace
            openjdk-members:
                - job-build
                - job-cancel
        - build-discarder:
            days-to-keep: 30
            num-to-keep: 11
            artifact-num-to-keep: 5
    disabled: false
    node: aarch64-06
    display-name: 'OpenJDK JDK - CI Build'
    scm:
        - jdkX
    wrappers:
        - timestamps
    triggers:
        - pollscm:
            cron: 'H * * * *'
    builders:
        - shell: |
            #!/bin/bash

            set -exu

            ccache_build_opts=--disable-ccache
            # Include when Jtreg tests make sense to be run.
            #rm -rf jtreg
            #tar xJf jtreg-build-4.2.0-SNAPSHOT.tar.xz

            cd $HOME/srv/jdk-cache/jdk11
            export JAVA_HOME=${PWD}

            export PATH=${JAVA_HOME}/bin:${PATH}

            cd ${WORKSPACE}

            shopt -s nullglob

            # Configure and build
            rm -rf build
            mkdir -p build

            which java
            java -version

            rm -rf out
            mkdir out

            pushd build
            sh ../jdkX/configure --with-debug-level=fastdebug \
                ${ccache_build_opts} \
                 --with-jtreg=${WORKSPACE}/jtreg
            make images |& tee ../out/build.out
            popd

            # Take bottom 100 lines of build output, shift it right by two characters
            tail -n 100 out/build.out | sed 's,^,   ,' > build-tail.out

            # Archive the result
            artifact_name=jdkX-ci-build
            tar -C build/images/jdk --exclude=\*.debuginfo --transform="s!^./!$artifact_name/!" -acf out/${artifact_name}.tar.gz .
    publishers:
        - archive:
            artifacts: 'out/*.tar.gz, out/build.out'
        - email-ext:
            reply-to: stuart.monteith@linaro.org
            subject: Linaro OpenJDK AArch64 jdk/jdk build ${BUILD_NUMBER} ${BUILD_STATUS}
            attach-build-log: false
            body: |
                OpenJDK AArch64 jdk/jdk build status is ${BUILD_STATUS}
                Build details -  ${BUILD_URL}

                Changes -
                ${CHANGES, showPaths=true, format="  %a: %r %p \n--\"%m\"", pathFormat="\n\t- %p"}

                Build output -
                ${FILE,path="build-tail.out"}

            fixed: true
            first-failure: true
            failure: false
            success: false
            recipients: 'stuart.monteith@linaro.org, aarch64-port-dev@openjdk.java.net'