aboutsummaryrefslogtreecommitdiff
path: root/odp-api-check-gerrit.yaml
blob: 6bdfbd8d022b3374fed31ee5d4c3064e9b965290 (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
- job:
    name: odp-api-check-gerrit
    project-type: matrix
    defaults: global
    logrotate:
        daysToKeep: 30
        numToKeep: 30
    properties:
        - authorization:
            anonymous:
                - job-read
                - job-extended-read
            linaro:
                - job-read
                - job-extended-read
                - job-build
                - job-cancel
    disabled: false
    node: master
    child-workspace: .
    display-name: 'ODP API check'
    scm:
        - git:
            url: https://review.linaro.org/lng/odp
            refspec: ${GERRIT_REFSPEC}
            name: ''
            branches:
                - ${GERRIT_PATCHSET_REVISION}
            skip-tag: true
            shallow-clone: false
            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]:'
            failure-message-file: 'build-error.txt'
            trigger-for-unreviewed-patches: true
            projects:
                - project-compare-type: 'ANT'
                  project-pattern: 'lng/odp'
                  branches:
                    - branch-compare-type: 'ANT'
                      branch-pattern: '**'
    axes:
        - axis:
            type: user-defined
            name: ARCH
            values:
                - x86-64
                - arm
                - armeb
                - arm64
                - arm64be
        - axis:
            type: slave
            name: label
            values:
                - docker-utopic
                - docker-utopic-arm64
    execution-strategy:
        combination-filter: |
            !(label=="docker-utopic-arm64" && (ARCH=="x86-64" || ARCH=="arm" || ARCH=="armeb" || ARCH=="arm64be"))
    wrappers:
        - timestamps
        - build-name:
            name: '#${BUILD_NUMBER}-${GIT_REVISION,length=8}'
    builders:
        - linaro-publish-token
        - shell: |
            #!/bin/bash

            set -ex

            rm -rf check-odp
            git clone --depth 1 git://git.linaro.org/lng/check-odp.git ${WORKSPACE}/check-odp

            ${WORKSPACE}/check-odp/pre-install.sh
            sudo apt-get install -y python-pycurl

            export tcbindir="${HOME}/srv/toolchain/${ARCH}-tc-14.09/bin"

            case "${ARCH}" in
            x86-64)
                unset ARCH
                ;;
            esac

            case "${label}" in
              docker-utopic-arm64)
                unset ARCH
                ;;
            esac

            export GIT_URL=file://${WORKSPACE}/odp
            export GIT_BRANCH=${GERRIT_PATCHSET_REVISION}
            set +e
            bash -x ${WORKSPACE}/check-odp/build.sh
            retcode=$?
            set -e

            # Move log files
            if [ -d check-odp/build/odp/testdir/ ]; then
                mkdir -p ${WORKSPACE}/out/log && find check-odp/build/odp/testdir/ -type f -name '*.log' -exec cp {} ${WORKSPACE}/out/log \;
            fi

            # Publish to snapshots
            test -d ${HOME}/bin || mkdir ${HOME}/bin
            wget https://git.linaro.org/ci/publishing-api.git/blob_plain/HEAD:/linaro-cp.py -O ${HOME}/bin/linaro-cp.py
            if [ -d ${WORKSPACE}/out ]; then
              PUB_DEST=components/lng/odp/odp-api-check/${GIT_BRANCH}/${label}/${BUILD_NUMBER}
              time python ${HOME}/bin/linaro-cp.py --api_version 3 --link-latest ${WORKSPACE}/out ${PUB_DEST}
              echo "***************************"
              echo "Logs published on http://snapshots.linaro.org/${PUB_DEST}"
              echo "***************************"
            fi

            if [ ${retcode} -ne 0 ]; then
              exit 1
            else
              exit 0
            fi