aboutsummaryrefslogtreecommitdiff
path: root/tcwg-upstream-monitoring.yaml
blob: d62b04247f85d61fab270e7dfce5ad6e775b2822 (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
- job:
    name: tcwg-upstream-monitoring
    project-type: matrix
    defaults: global
    properties:
        - authorization:
            anonymous:
                - job-read
                - job-extended-read
            linaro:
                - job-build
                - job-cancel
        - build-discarder:
            days-to-keep: 30
            num-to-keep: 30
    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: log_server
            default: dev-01.tcwglab:logs
            description: 'Log_Server'
        - string:
            name: ref_build
            default: 'previous'
            description: 'Reference build for comparison, e.g., "lastSuccess" or "previous" or job number'
    disabled: false
    node: tcwg-coordinator
    child-workspace: $branch
    concurrent: true
    display-name: 'TCWG Upstream Monitoring'
    axes:
        - axis:
            type: slave
            name: label
            values:
                - tcwg-x86_64-build
        - axis:
            type: user-defined
            name: branch
            values:
                - all-master
                - gcc-master
    triggers:
        # Every day at 00:20 AM
        - timed: '20 0 * * *'
    wrappers:
        - timeout:
            timeout: 600
        - timestamps
        - ssh-agent-credentials:
            # tcwg-buildslave user id
            users:
                - 'e0958a95-204f-4c14-a66c-5e2be6c5d50a'
        - build-name:
            name: '${branch} #${BUILD_NUMBER}'
    builders:
        - shell: |
            #!/bin/bash

            set -ex

            shopt -s extglob

            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

            case "$branch" in
                all-master)
                    gcc_branch=master
                    config=master ;;
                gcc-master)
                    gcc_branch=master
                    config=latest-rel ;;
                gcc-*-branch)
                    gcc_branch=$branch
                    config=latest-rel ;;
                *) echo "ERROR: Unsupported branch: $branch"; exit 1 ;;
            esac

            cat <<EOF > buildfarm_parameters
            override=gcc=gcc.git~$gcc_branch --extraconfigdir ../config/$config $override
            log_name=tcwg-upstream-monitoring/${branch}-$BUILD_NUMBER/\$builder_type.\$target
            runtests=tcwg-x86_64-build tcwg-x86_32-build tcwg-apm_64-build tcwg-apm_32-build tcwg-tk1_32-build
            host_x86_64_excludecheck=gdb
            host_aarchXX_excludecheck=gdb
            host_x86_64_languages=$native_x86_64_languages
            host_aarchXX_languages=$native_aarchXX_languages
            target_list=tcwg-x86_64-build tcwg-x86_32-build tcwg-apm_64-build tcwg-apm_32-build tcwg-tk1_32-build
            log_server=$log_server
            abe_branch=refs/remotes/origin/master
            displaytag=upstream-monitoring-$branch-${BUILD_NUMBER}
            EOF

            cat <<EOF > compare_results_parameters
            ref_logs=tcwg-upstream-monitoring/${branch}-$ref_build_num
            new_logs=tcwg-upstream-monitoring/${branch}-$BUILD_NUMBER
            log_server=$log_server
            EOF

        - trigger-builds:
            - project: tcwg-buildfarm
              property-file: buildfarm_parameters
              block: true
              block-thresholds:
                  build-step-failure-threshold: 'never'
                  unstable-threshold: 'never'
                  failure-threshold: 'never'
        - trigger-builds:
            - project: tcwg-compare-results
              property-file: compare_results_parameters
              block: true
    publishers:
        - workspace-cleanup:
             include:
              - "*_parameters"
        - email:
            recipients: 'tcwg-validation@linaro.org'