aboutsummaryrefslogtreecommitdiff
path: root/tcwg-upstream-monitoring.yaml
blob: dbe8732d660b32b50dd6a7395ce428a3b5f144e6 (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
- 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-x86_64-dev-01
    child-workspace: $branch
    concurrent: true
    display-name: 'TCWG Upstream Monitoring'
    axes:
        - 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
            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
            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: 'yvan.roux@linaro.org'