aboutsummaryrefslogtreecommitdiff
path: root/tcwg-regression-detection.yaml
blob: 46ed22242e1916065d23fbb21aeea3521fe464b6 (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
- job:
    name: tcwg-regression-detection
    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
    disabled: false
    node: tcwg-x86_64-dev-01-short
    retry-count: 3
    concurrent: true
    display-name: 'TCWG Regression Detection'
    scm:
        - git:
            url: https://git-us.linaro.org/toolchain/abe.git
            refspec: +refs/heads/master:refs/remotes/origin/master
            name: origin
            branches:
                - refs/heads/master
            shallow-clone: false
            wipe-workspace: false
    triggers:
        - pollscm:
            cron: 'H/5 * * * *'
    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

            mkdir -p artifacts/

            # Abe's revisions to test
            # TODO: gather reference from previous build instead of using N-1.
            cur_abe_rev=$(git rev-parse HEAD)
            ref_abe_rev=$(git rev-parse HEAD~)

            echo "abe_revision=$cur_abe_rev" > artifacts/infos.txt

            cat << EOF > buildfarm_cmp_parameters
            ref_override=--extraconfigdir ../config/gcc6 gcc=gcc.git~linaro/gcc-6-branch
            eval_override=--extraconfigdir ../config/gcc6 gcc=gcc.git~linaro/gcc-6-branch
            ref_abe_branch=$ref_abe_rev
            eval_abe_branch=$cur_abe_rev
            targets=cross_main
            matrix_restrictions=label=="docker-trusty-amd64-tcwg-build" && target=="aarch64-linux-gnu"
            EOF

            echo "NOTE: Buildfarm cmp job parameters:"
            cat buildfarm_cmp_parameters

            # TODO: Change fileserver and/or location to avoid mixing "real"
            # releases and regression detection builds.
            cat << EOF > make_release_parameters
            gcc_src=http://releases.linaro.org/components/toolchain/gcc-linaro/6.2-2016.11/gcc-linaro-6.2-2016.11.tar.xz
            date=2016.11-regtest-${BUILD_NUMBER}
            toolchain_config=gcc6
            abe_branch=$cur_abe_rev
            fileserver=dev-01.tcwglab
            EOF

            echo "NOTE: Make-release job parameters:"
            cat make_release_parameters
        - multijob:
            name: 'Check Manifest'
            condition: ALWAYS
            projects:
              - name: tcwg-abe-test-gerrit-cambridge
                restrict-matrix-project: 'test=="abe-tests-checkout"'
        - multijob:
            name: 'Check build/testsuite and releases'
            condition: COMPLETED
            projects:
              - name: tcwg-buildfarm-cmp
                property-file: buildfarm_cmp_parameters
              - name: tcwg-make-release
                property-file: make_release_parameters
                restrict-matrix-project: 'target=="arm-linux-gnueabihf"'
    publishers:
        - archive:
            artifacts: 'artifacts/*'
            latest-only: false
        - email:
            recipients: 'yvan.roux@linaro.org tcwg-validation@linaro.org'