- job:
name: odp-debian-validation
project-type: matrix
defaults: global
description: |
* Setup a testplan on arm(be), arm64(be)
* and x86-64, to be able to run the validation tests.
* Use a Debian rootfs.
parameters:
- string:
name: LAVA_SERVER
default: 'lng.validation.linaro.org/RPC2/'
- string:
name: BUNDLE_STREAM_NAME
default: '/public/team/lng/odp/'
properties:
- authorization:
anonymous:
- job-read
- job-extended-read
linaro:
- job-build
- job-cancel
- build-discarder:
num-to-keep: 30
days-to-keep: 30
disabled: false
node: build
display-name: 'ODP Debian validation'
axes:
- axis:
type: slave
name: label
values:
- docker-jessie
- axis:
type: user-defined
name: arch
values:
- armv7a
- armv8
- x86_64
- axis:
type: user-defined
name: test
values:
- cpp
- example
- helper
- perf
- vald
execution-strategy:
sequential: true
touchstone:
expr: 'arch=="armv7a"'
wrappers:
- timestamps
- build-name:
name: '#${BUILD_NUMBER}-${GIT_REVISION,length=8}'
builders:
- shell: |
#!/bin/bash
set -ex
ROOTFS_BUILD_URL="http://releases.linaro.org/debian/images"
ROOTFS_RELEASE_NUMBER=16.06
case "${arch}" in
armv7a)
hwpack="arndale"
DEVICE_TYPE="arndale"
ROOTFS_BUILD_URL="${ROOTFS_BUILD_URL}/developer-armhf/${ROOTFS_RELEASE_NUMBER}/linaro-jessie-developer-20160620-25.tar.gz"
;;
armv7ab)
hwpack="arndale-be"
DEVICE_TYPE="arndale"
;;
armv8)
hwpack="vexpress64"
DEVICE_TYPE="juno"
ROOTFS_BUILD_URL="${ROOTFS_BUILD_URL}/developer-arm64/${ROOTFS_RELEASE_NUMBER}/linaro-jessie-developer-20160621-85.tar.gz"
;;
armv8b)
hwpack="vexpress64-be"
DEVICE_TYPE="juno"
;;
x86_64)
hwpack="x86_64"
DEVICE_TYPE="x86"
ROOTFS_BUILD_URL="http://images.validation.linaro.org/x86/debian/linaro-jessie-nano-20150123-1.tar.gz"
;;
esac
KERNEL_URL="http://snapshots.linaro.org/kernel-hwpack/linux-linaro-lng-v4.1/${hwpack}/$(wget -q --no-check-certificate -O - https://ci.linaro.org/job/linux-lng-v4.1/hwpack=${hwpack},label=docker-jessie-amd64/lastSuccessfulBuild/buildNumber)"
DTB_URL=${KERNEL_URL}/dtbs
cat << EOF > post_build_lava_parameters
DEVICE_TYPE=${DEVICE_TYPE}
BUNDLE_STREAM_NAME=${BUNDLE_STREAM_NAME}
LAVA_SERVER=${LAVA_SERVER}
KERNEL_URL=${KERNEL_URL}
DTB_URL=${DTB_URL}
hwpack_type=${hwpack}
ROOTFS_BUILD_URL=${ROOTFS_BUILD_URL}
EOF
- inject:
properties-file: post_build_lava_parameters
- linaro-publish-token
- shell: |
#!/bin/bash
set -ex
export DIST=debian
export TARGET_TYPE=ubuntu
export CONFIG_OPTIONS="--enable-test-${test}"
export TESTDEF_FILE="ubuntu/odp-tests"
export ROOTFS_TYPE=jessie-developer
case "${test}" in
vald)
export CONFIG_OPTIONS=""
export TESTDEF_FILE="common/odp-validation"
;;
esac
template_file="template-base"
case "${arch}" in
armv7ab)
template_file="template-be-base"
;;
x86_64)
ROOTFS_TYPE=jessie-nano
;;
esac
mkdir -p ${WORKSPACE}/out/lava
rm -rf configs lci-build-tools
git clone --depth 1 http://git.linaro.org/ci/lci-build-tools.git
git clone --depth 1 http://git.linaro.org/ci/job/configs.git
./lci-build-tools/yaml-to-json.py configs/odp/lava-job-definitions/${DEVICE_TYPE}/${template_file}.yaml > ${WORKSPACE}/out/lava/${template_file}.json
# 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
time python ${HOME}/bin/linaro-cp.py \
--api_version 3 \
--link-latest ${WORKSPACE}/out debian/images/odp/${arch}-${test}/${BUILD_NUMBER}
- inject:
properties-file: post_build_lava_parameters
- conditional-step:
condition-kind: strings-match
condition-string1: '${ENV,var="arch"}'
condition-string2: 'armv7a'
steps:
- trigger-builds:
- project: 'odp-armv7a-debian-validation-test-definitions'
predefined-parameters: |
UPSTREAM_BUILD_NUMBER=${BUILD_NUMBER}
UPSTREAM_TEST=${test}
block: true
- conditional-step:
condition-kind: strings-match
condition-string1: '${ENV,var="arch"}'
condition-string2: 'armv8'
steps:
- trigger-builds:
- project: 'odp-armv8-debian-validation-test-definitions'
predefined-parameters: |
UPSTREAM_BUILD_NUMBER=${BUILD_NUMBER}
UPSTREAM_TEST=${test}
block: true
- conditional-step:
condition-kind: strings-match
condition-string1: '${ENV,var="arch"}'
condition-string2: 'x86_64'
steps:
- trigger-builds:
- project: 'odp-x86-64-debian-validation-test-definitions'
predefined-parameters: |
UPSTREAM_BUILD_NUMBER=${BUILD_NUMBER}
UPSTREAM_TEST=${test}
block: true
publishers:
- email:
recipients: 'fathi.boudra@linaro.org anders.roxell@linaro.org'