- job: name: odp-publish project-type: matrix defaults: global description: | * Run the tools listed in the axis on different * ODP implementations and publish the result. properties: - authorization: anonymous: - job-read - job-extended-read linaro: - job-read - job-extended-read - job-build - job-cancel - build-discarder: num-to-keep: 30 days-to-keep: 30 parameters: - string: name: platform_type default: 'generic' - string: name: GIT_BRANCH default: 'master' disabled: false node: master child-workspace: . display-name: 'ODP publish' axes: - axis: type: user-defined name: build_type values: - lcov - dox_html - usr_html - scan_build - axis: type: slave name: label values: - docker-jessie-amd64 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: - linaro-publish-token - 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 ./check-odp/pre-install.sh sudo apt-get install -y python-requests case "${platform_type}" in dpdk) 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-16.02/bin" ;; esac case "${build_type}" in lcov) export LCOV=1 export SUDO=1 echo "build_type_dir=linux-${platform_type}-*lcov-html" > remote_directory_parameters ;; dox_html) export DOXYGEN_HTML=1 echo "build_type_dir=linux-${platform_type}-*doxygen-html" > remote_directory_parameters ;; usr_html) export USER_HTML=1 echo "build_type_dir=linux-${platform_type}" > remote_directory_parameters ;; scan_build) export SCAN_BUILD=1 echo "build_type_dir=linux-${platform_type}-scan-build" > remote_directory_parameters ;; 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} ]; then mkdir -p out/log && find check-odp/build/${builddir} -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 --api_version 3 --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 - inject: properties-file: remote_directory_parameters - ssh: site: 'docs.opendataplane.org' target: 'incoming/odp-publish/${platform_type}/${build_type}/${GIT_BRANCH}/${BUILD_NUMBER}' source: 'check-odp/publishing/${GIT_BRANCH}/**' command: | cd /srv/docs.opendataplane.org mkdir -p snapshots/odp-publish/${platform_type}/${build_type}/${GIT_BRANCH}/${BUILD_NUMBER} cp -a incoming/odp-publish/${platform_type}/${build_type}/${GIT_BRANCH}/${BUILD_NUMBER}/${build_type_dir} snapshots/odp-publish/${platform_type}/${build_type}/${GIT_BRANCH}/${BUILD_NUMBER} rm -rf $(pwd)/snapshots/odp-publish/${platform_type}/${build_type}/${GIT_BRANCH}/latest ln -sf $(pwd)/snapshots/odp-publish/${platform_type}/${build_type}/${GIT_BRANCH}/${BUILD_NUMBER} snapshots/odp-publish/${platform_type}/${build_type}/${GIT_BRANCH}/latest rm -rf incoming/odp-publish/${platform_type}/${build_type}/${GIT_BRANCH}/${BUILD_NUMBER} timeout: 120000 remove-prefix: 'check-odp/publishing/${GIT_BRANCH}' always-publish-from-master: true publishers: - warnings: console-log-parsers: - 'Clang (LLVM based)' - 'Doxygen' - email: recipients: 'lng-ci@lists.linaro.org'