aboutsummaryrefslogtreecommitdiff
path: root/tcwg-trigger-gcc-linaro-5.yaml
blob: 8cc1347ddfcc68f55b37a5f67bf9525fef37cbb9 (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
- scm:
    name: gcc
    scm:
        - git:
            url: https://git-us.linaro.org/toolchain/gcc.git
            refspec: +refs/heads/*:refs/remotes/origin/*
            branches:
                - origin/linaro/gcc-5-branch
            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:
                - origin/linaro/2.21/master
            basedir: glibc
            scm-name: Glibc
            skip-tag: true
            wipe-workspace: false
            reference-repo: /home/tcwg-buildslave/snapshots-ref/glibc.git
            clean:
                before: true
- scm:
    name: binutils
    scm:
        - git:
            url: https://git-us.linaro.org/toolchain/binutils-gdb.git
            refspec: +refs/heads/*:refs/remotes/origin/*
            branches:
                - origin/linaro_binutils-2_25-branch
            basedir: binutils
            scm-name: Binutils
            skip-tag: true
            wipe-workspace: false
            reference-repo: /home/tcwg-buildslave/snapshots-ref/binutils-gdb.git
            clean:
                before: true
- job:
    name: tcwg-trigger-gcc-linaro-5
    project-type: multijob
    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: log_server
            default: dev-01.tcwglab:logs
            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-coordinator
    concurrent: true
    display-name: 'TCWG Trigger GCC Linaro 5'
    scm:
        - gcc
        - glibc
        - binutils
    triggers:
        - pollscm:
            cron: 'H * * * *'
    wrappers:
        - timeout:
            timeout: 600
        - timestamps
        - ssh-agent-credentials:
            # tcwg-buildslave user id
            users:
                - 'e0958a95-204f-4c14-a66c-5e2be6c5d50a'
    builders:
        - shell: |
            #!/bin/bash

            set -ex

            shopt -s extglob

            for i in gcc glibc binutils; 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 --extraconfigdir ../config/gcc5 $override
            log_name=${JOB_NAME}-${BUILD_NUMBER}/\$builder_type.\$target
            log_server=$log_server
            abe_branch=$abe_branch
            target_list=aarch64-linux-gnu armv8l-linux-gnueabihf arm-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf aarch64-none-elf aarch64_be-none-elf tcwg-x86_64-build tcwg-x86_32-build
            runtests=aarch64-linux-gnu armv8l-linux-gnueabihf arm-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf aarch64-none-elf aarch64_be-none-elf tcwg-x86_64-build tcwg-x86_32-build
            try_bootstrap=true
            rebuild=false
            dont_fail=false
            host_x86_64_excludecheck=gdb
            host_aarchXX_excludecheck=
            displaytag=gcc-linaro-5-${BUILD_NUMBER}
            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-buildfarm
                condition: COMPLETED
                property-file: buildfarm_parameters
        - 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: 'tcwg-validation@linaro.org'