- job: | |
name: tcwg-llvm-testsuite | |
project-type: matrix | |
defaults: global | |
properties: | |
- authorization: | |
anonymous: | |
- job-read | |
- job-extended-read | |
everyone-flat: | |
- job-build | |
- job-cancel | |
- build-discarder: | |
days-to-keep: 10 | |
num-to-keep: 10 | |
parameters: | |
- string: | |
name: toolchain | |
default: '' | |
description: 'URL of the toolchain to use. This needs to be a tarball with a /bin directory inside with either GCC or LLVM from make install' | |
- string: | |
name: nt_flags | |
default: '' | |
description: 'Flags to pass to the LNT nt producer (e.g. --threads=8 --cflag -O0)' | |
- string: | |
name: build_container_tag | |
default: 'lts' | |
description: 'Type of image to use in the container: lts_1, lts, ...' | |
- string: | |
name: target_list | |
default: 'tcwg-tk1_32-build tcwg-apm_64-build' | |
description: 'List of targets -- tcwg-x86_64-cam tcwg-tk1_32-build tcwg-apm_64-build -- should be a subset of slave axis' | |
- string: | |
name: scripts_branch | |
default: 'refs/remotes/origin/tested' | |
description: 'Branch to pull jenkins-script from' | |
disabled: false | |
node: tcwg-coordinator | |
retry-count: 3 | |
concurrent: true | |
display-name: 'TCWG LLVM Test-Suite' | |
scm: | |
- git: | |
url: https://gitlab.com/Linaro/tcwg/jenkins-scripts.git | |
refspec: +refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/* | |
name: origin | |
branches: | |
- ${scripts_branch} | |
skip-tag: true | |
shallow-clone: true | |
wipe-workspace: true | |
axes: | |
- axis: | |
type: slave | |
name: label | |
values: | |
- tcwg-x86_64-cam | |
- tcwg-tk1_32-build | |
- tcwg-apm_64-build | |
- axis: | |
type: dynamic | |
name: target | |
values: | |
- target_list | |
execution-strategy: | |
combination-filter: | | |
label==target | |
sequential: false | |
wrappers: | |
- timeout: | |
timeout: 300 | |
- timestamps | |
- ssh-agent-credentials: | |
# tcwg-buildslave user id | |
users: | |
- 'e0958a95-204f-4c14-a66c-5e2be6c5d50a' | |
- build-name: | |
name: '#${BUILD_NUMBER}-${GIT_REVISION,length=8}' | |
builders: | |
- shell: | | |
#!/bin/bash | |
set -exu | |
. jenkins-helpers.sh | |
if [ "${toolchain:+set}" != "set" ]; then | |
echo "Test-suite needs a toolchain to test" | |
exit 1 | |
fi | |
# Start build container | |
${WORKSPACE}/start-container-docker.sh --label ${label} --node ${NODE_NAME} --distro ${build_container_tag} --prefix build_ > build-container.sh | |
# Define build_CONTAINER_RSH and build_container_cleanup | |
. ./build-container.sh | |
trap "build_container_cleanup" EXIT | |
# Setup job parameters and run | |
build_container_exec ${WORKSPACE}/tcwg-llvm-testsuite.sh \ | |
--workspace=${WORKSPACE} \ | |
--toolchain=${toolchain} \ | |
${nt_flags:+--nt-flags="$nt_flags"} |