aboutsummaryrefslogtreecommitdiff
path: root/tcwg-abe-test-gerrit-cambridge.yaml
blob: 6457b3929bd58a86c91bc2d23b11c93349c7b195 (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
- job:
    name: tcwg-abe-test-gerrit-cambridge
    project-type: matrix
    defaults: global
    logrotate:
        daysToKeep: 30
        numToKeep: 30
    properties:
        - authorization:
            anonymous:
                - job-read
                - job-extended-read
            linaro:
                - job-build
                - job-cancel
    disabled: false
    node: tcwg-x86_64-cam
    retry-count: 3
    concurrent: true
    display-name: 'TCWG ABE Test -- Gerrit Cambridge.'
    scm:
        - git:
            url: https://git-us.linaro.org/toolchain/abe.git
            refspec: ${GERRIT_REFSPEC}
            branches:
                - ${GERRIT_BRANCH}
            skip-tag: true
            shallow-clone: true
            wipe-workspace: true
            choosing-strategy: gerrit
    triggers:
        - gerrit:
            server-name: 'review.linaro.org'
            override-votes: true
            gerrit-build-successful-verified-value: 1
            gerrit-build-failed-verified-value: -1
            gerrit-build-successful-codereview-value: 1
            gerrit-build-failed-codereview-value: -1
            readable-message: true
            successful-message: 'Sanity check OK'
            failure-message: '[OUTPUT]:'
            trigger-for-unreviewed-patches: true
            projects:
                - project-compare-type: 'ANT'
                  project-pattern: 'toolchain/abe'
                  branches:
                    - branch-compare-type: 'ANT'
                      branch-pattern: 'master'
    axes:
        - axis:
            type: slave
            name: label
            values:
                - tcwg-x86_64-cam
        - axis:
            type: user-defined
            name: test
            values:
                - cross_build
                - native_build
                - testsuite
    execution-strategy:
        sequential: false
    wrappers:
        - timeout:
            timeout: 300
        - timestamps
        - ssh-agent-credentials:
            # tcwg-buildslave user id
            users:
                - 'e0958a95-204f-4c14-a66c-5e2be6c5d50a'
        - build-name:
            name: '#${BUILD_NUMBER}-${GIT_REVISION,length=8}'
    builders:
        - shell: |
            #!/bin/bash

            schroot_arch=amd64
            schroot_image="tcwg-build-${schroot_arch}-trusty"

            session_id=$(schroot -b -c chroot:$schroot_image --preserve-environment)
            BUILD_SHELL="schroot -r -c session:$session_id --preserve-environment -- bash"
            $BUILD_SHELL -c "echo \"Build session is up; ulimit config:\"; ulimit -a"

            # Sometimes /dev/pts can't get unmounted on the first try.
            # Workaround by retrying.
            trap "schroot -f -e -c session:$session_id || sleep 60 || schroot -f -e -c session:$session_id" 0 1 2 3 5 9 13 15

            case "$test" in
              cross_build) ${BUILD_SHELL} -x ${WORKSPACE}/jenkins.sh -t arm-linux-gnueabihf --runtests --excludecheck gdb --fileserver ex40-01.tcwglab.linaro.org/snapshots-ref ;;
              native_build) ${BUILD_SHELL} -x ${WORKSPACE}/jenkins.sh -t native --runtests --bootstrap --excludecheck gdb --fileserver ex40-01.tcwglab.linaro.org/snapshots-ref ;;
              testsuite)
                set -e
                set -x
                ./configure --with-fileserver=ex40-01.tcwglab.linaro.org/snapshots-ref
                make check
                ;;
            esac