aboutsummaryrefslogtreecommitdiff
path: root/tcwg-validate-abetests.yaml
blob: 4b3f20a64f8c110d38acbfdf8f12e3bcf091118d (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
- job:
    name: tcwg-validate-abetests
    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: 100
    parameters:
        - string:
            name: scripts_branch
            default: master
            description: 'Jenkins-scripts branch to use'
    disabled: false
    node: tcwg-x86_64-build
    retry-count: 3
    concurrent: true
    display-name: 'TCWG BBB test for abe-tests.git'
    scm:
        - git:
            url: https://git-us.linaro.org/toolchain/abe-tests.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: 'Works for me'
            failure-message: 'Well ... it worked on my machine'
            trigger-for-unreviewed-patches: true
            projects:
                - project-compare-type: 'ANT'
                  project-pattern: 'toolchain/abe-tests'
                  branches:
                    - branch-compare-type: 'ANT'
                      branch-pattern: 'master'
    axes:
        - axis:
            type: slave
            name: label
            values:
                - tcwg-x86_64-build
        - axis:
            type: user-defined
            name: test
            values:
                - abe-tests
                - abe-tests-checkout
    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

            set -e

            git clone -b $scripts_branch --depth 1 https://git-us.linaro.org/toolchain/jenkins-scripts

            ./jenkins-scripts/start-container-docker.sh --label $label --node $NODE_NAME --distro trusty --task build --prefix build_ > build-container.sh
            . ./build-container.sh
            BUILD_SHELL="build_container_exec bash"
            $BUILD_SHELL -c "echo \"Build session is up; ulimit config:\"; ulimit -a"

            # Remove container on exit
            trap "build_container_cleanup" 0 1 2 3 5 9 13 15

            case "$test" in
              abe-tests)
                ARTIFACTS=${WORKSPACE}/artifacts
                mkdir -p "${ARTIFACTS}"
                ${BUILD_SHELL} -c "set -ex; ${WORKSPACE}/test-manifest2.sh --ref-snapshots /home/tcwg-buildslave/snapshots-ref --display-summary; cp full-manifest-test/*.txt ${ARTIFACTS}"
                # full build logs are large, and not very useful, so we
                # don't waste the disk space on them
                rm -f ${ARTIFACTS}/test-mani-build[12].txt
                ;;
              abe-tests-checkout)
                ARTIFACTS=${WORKSPACE}/artifacts
                mkdir -p "${ARTIFACTS}"
                ${BUILD_SHELL} -c "set -ex; ${WORKSPACE}/test-checkout.sh --clean-snapshots --ref-snapshots /home/tcwg-buildslave/snapshots-ref; cp checkout-test/workspace*/test_*.log ${ARTIFACTS}"
                # the reports from here aren't usually needed, so are
                # worth compressing
                xz ${ARTIFACTS}/*
                ;;
            esac
    publishers:
        - workspace-cleanup:
            include:
              - "nothing"
            dirmatch: true
        - archive:
            artifacts: 'artifacts/*'
            latest-only: false