aboutsummaryrefslogtreecommitdiff
path: root/tcwg-bkk16-trigger-extended.yaml
blob: a521e7d8d9ced11484c5779900a7045d7504230b (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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
- scm:
    name: gcc
    scm:
        - git:
            url: https://git-us.linaro.org/toolchain/gcc.git
            refspec: +refs/heads/*:refs/remotes/origin/*
            branches:
                - refs/heads/master
            basedir: gcc
            scm-name: GCC
            skip-tag: true
            wipe-workspace: false
            reference-repo: /home/tcwg-buildslave/snapshots-ref/gcc.git
            clean:
                before: true
- scm:
    name: glibc
    scm:
        - git:
            url: https://git-us.linaro.org/toolchain/glibc.git
            refspec: +refs/heads/*:refs/remotes/origin/*
            branches:
                - refs/heads/master
            basedir: glibc
            scm-name: Glibc
            skip-tag: true
            wipe-workspace: false
            reference-repo: /home/tcwg-buildslave/snapshots-ref/glibc.git
            clean:
                before: true
- job:
    name: tcwg-bkk16-trigger-extended
    project-type: multijob
    defaults: global
    logrotate:
        daysToKeep: 30
        numToKeep: 30
    properties:
        - authorization:
            anonymous:
                - job-read
                - job-extended-read
            linaro:
                - job-build
                - job-cancel
    parameters:
        - string:
            name: override
            default: ''
            description: 'Versions of components to build; e.g. binutils=binutils-gdb.git/linaro_binutils-2_25-branch gcc=gcc.git~linaro/gcc-5-branch glibc=glibc.git~release/2.21/master'
        - string:
            name: native_x86_64_languages
            default: 'c,c++,fortran,go,lto,objc,obj-c++'
            description: 'Languages to build for x86_64 native toolchains, e.g., "c,c++" or "all" or "default"'
        - string:
            name: native_aarchXX_languages
            default: 'c,c++,fortran,go,lto,objc,obj-c++'
            description: 'Languages to build for AArchXX native toolchains, e.g., "c,c++" or "all" or "default"'
        - string:
            name: cross_languages
            default: 'default'
            description: 'Languages to build for cross toolchains, e.g., "c,c++" or "all" or "default"'
        - string:
            name: log_server
            default: dev-01.tcwglab:logs-bkk16
            description: 'Log_Server'
        - string:
            name: abe_branch
            default: refs/remotes/origin/master
            description: 'ABE revision to test'
        - string:
            name: ref_build
            default: 'previous'
            description: 'Reference build for comparison, e.g., "lastSuccess" or "previous" or job number or empty string to skip comparison'
    disabled: false
    node: tcwg-x86_64-dev-01
    concurrent: true
    display-name: 'TCWG BKK16 Trigger Extended Validation'
    scm:
        - gcc
        - glibc
    triggers:
        - timed: '@daily'
    wrappers:
        - timeout:
            timeout: 600
        - timestamps
        - ssh-agent-credentials:
            # tcwg-buildslave user id
            users:
                - 'e0958a95-204f-4c14-a66c-5e2be6c5d50a'
        - build-name:
            name: '#${BUILD_NUMBER}'
    builders:
        - shell: |
            #!/bin/bash

            set -ex

            shopt -s extglob

            for i in gcc glibc; do
                pushd $i
                comp_rev=$(git rev-parse HEAD)
                comp_list="$i=$i.git@$comp_rev $comp_list"
                popd
            done

            cat << EOF > buildfarm_parameters
            override=$comp_list $override
            log_name=${JOB_NAME}-${BUILD_NUMBER}/\$(uname -m).\$target
            log_server=$log_server
            abe_branch=$abe_branch
            runtests=yes
            try_bootstrap=true
            rebuild=false
            dont_fail=true
            host_x86_64_excludecheck=gdb
            host_aarchXX_excludecheck=
            EOF

            if [ x"$ref_build" != x ] ; then
                case "$ref_build" in
                    lastSuccess)   ref_build_num=$(wget -q --no-check-certificate -O - "${JOB_URL}lastSuccessfulBuild/buildNumber") ;;
                    previous)      ref_build_num=$(wget -q --no-check-certificate -O - "${JOB_URL}lastCompletedBuild/buildNumber") ;;
                    [1-9]*([0-9])) ref_build_num="$ref_build" ;;
                    *) echo "ERROR: Cannot handle ref_build: $ref_build"; exit 1 ;;
                esac

            # Scrambled indentation because of here-doc
                cat << EOF > compare_results_parameters
            ref_logs=${JOB_NAME}-$ref_build_num
            new_logs=${JOB_NAME}-$BUILD_NUMBER
            log_server=$log_server
            abe_branch=$abe_branch
            EOF
            fi
        - multijob:
            name: 'Builds'
            projects:
              - name: tcwg-bkk16-buildfarm
                condition: COMPLETED
                predefined-parameters: |
                  run_benchmark=false
                  host_aarchXX_languages=$native_aarchXX_languages
                property-file: buildfarm_parameters
                restrict-matrix-project: 'label=="tcwg-aarch64-build" && (target=="native" || target=="schroot-armhf-native")'
              - name: tcwg-bkk16-buildfarm
                condition: COMPLETED
                predefined-parameters: |
                  run_benchmark=false
                  host_x86_64_languages=$native_x86_64_languages
                property-file: buildfarm_parameters
                restrict-matrix-project: 'label=="tcwg-x86_64-2-cam" && (target=="native" || target=="schroot-i386-native")'
              - name: tcwg-bkk16-buildfarm-benchmark
                condition: COMPLETED
                predefined-parameters: |
                  run_benchmark=true
                  host_x86_64_languages=$cross_languages
                property-file: buildfarm_parameters
                restrict-matrix-project: 'label=="tcwg-x86_64-cam" && (target=="aarch64-linux-gnu" || target=="arm-linux-gnueabihf" || target=="armv8l-linux-gnueabihf")'
        - conditional-step:
            condition-kind: file-exists
            condition-filename: compare_results_parameters
            steps:
                - trigger-builds:
                    - project: tcwg-compare-results
                      property-file: compare_results_parameters
                      block: true
    publishers:
        - workspace-cleanup:
             include:
              - "*_parameters"
        - email:
             recipients: 'yvan.roux@linaro.org'