aboutsummaryrefslogtreecommitdiff
path: root/odp-publish.yaml
blob: 6fa61e3d8628d69f786260b8dd1083153f949cda (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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
- job:
    name: odp-publish
    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 publish'
    triggers:
        - timed: '@daily'
    axes:
        - axis:
            type: user-defined
            name: build_type
            values:
                - lcov
                - dox_html
                - usr_html
                - scan_build
        - axis:
            type: user-defined
            name: platform_type
            values:
                - generic
                - dpdk
#                - ks2
        - axis:
            type: user-defined
            name: GIT_BRANCH
            values:
                - master
                - next
                - api-next
        - axis:
            type: slave
            name: label
            values:
                - docker-utopic
    execution-strategy:
        combination-filter: |
            !((GIT_BRANCH=="api-next" || GIT_BRANCH=="next") && (platform_type=="netmap" || platform_type=="dpdk" || platform_type=="ks2"))
    wrappers:
        - timestamps
        - matrix-tie-parent:
            node: master
        - timeout:
            timeout: 60
    builders:
        - shell: |
            #!/bin/bash
            # Assume build-dependencies packages are installed
            # build-essential git autoconf automake libtool doxygen libssl-dev

            set -ex

            rm -rf check-odp
            git clone --depth 1 git://git.linaro.org/lng/check-odp.git

            sudo sed -i -e 's/archive.ubuntu.com\|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
            sudo apt-get update
            sudo apt-get install -y --no-install-recommends libssl-dev libcunit1-dev

            case "${platform_type}" in
              dpdk)
                sudo apt-get install -y linux-headers-generic libpcap-dev
                mkdir -p ${HOME}/bin
                cp check-odp/helper/ci-uname ${HOME}/bin/uname
                export PATH=${HOME}/bin:${PATH}
                ;;
              ks2)
                export tcbindir="${HOME}/srv/toolchain/arm-tc-14.09/bin"
                ;;
            esac

            case "${build_type}" in
              lcov)
                sudo apt-get install -y --no-install-recommends lcov
                export LCOV=1
                export SUDO=1
                ;;
              dox_html)
                sudo apt-get install -y --no-install-recommends graphviz doxygen mscgen
                export DOXYGEN_HTML=1
                ;;
              usr_html)
              sudo apt-get install -y --no-install-recommends graphviz doxygen asciidoc mscgen source-highlight imagemagick texlive-latex-recommended librsvg2-bin
                export USER_HTML=1
                ;;
              scan_build)
                sudo apt-get install -y --no-install-recommends clang
                export SCAN_BUILD=1
                ;;
            esac

            set +e
            bash -x ${WORKSPACE}/check-odp/build-${platform_type}.sh
            retcode=$?
            set -e

            # Set the correct builddir
            builddir="odp-${platform_type}"
            [[ "${platform_type}" = "generic" ]] && builddir="odp"

            # Move log files
            if [ -d check-odp/build/${builddir}/testdir/ ]; then
              mkdir -p out/log && find check-odp/build/${builddir}/testdir/ -type f -name '*.log' -exec cp {} 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 out ]; then
            PUB_DEST=components/lng/odp/odp-publish/${platform_type}/${build_type}/${GIT_BRANCH}/${BUILD_NUMBER}
              time python ${HOME}/bin/linaro-cp.py --link-latest 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
        - ssh:
            site: 'docs.opendataplane.org'
            target: ''
            source: 'check-odp/publishing/**'
            timeout: 60
            remove-prefix: 'check-odp/publishing'
            always-publish-from-master: true
    publishers:
        - warnings:
            console-log-parsers:
              - 'Clang (LLVM based)'
              - 'Doxygen'
        - email:
            recipients: 'lng-ci@lists.linaro.org'