aboutsummaryrefslogtreecommitdiff
path: root/odp-api-check-gerrit.yaml
blob: 64a904c6335e1589c94dd6162d9b8dccf081ca00 (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
- 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: user-defined
            name: GIT_BRANCH
            values:
                - master
                - next
                - api-next
        - 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

            GIT_URL=file://${WORKSPACE}/odp
            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