aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRenato Golin <renato.golin@linaro.org>2017-04-27 14:18:53 +0100
committerRenato Golin <renato.golin@linaro.org>2017-04-27 15:53:00 +0100
commitf3338c8ddac001e8e591cd23c8c4f114b52299c3 (patch)
tree09427abfdcd196c4d24df636d229cb52a900d84d
parentfd7c8a1f4cde3f7d9413a3a83dd687acc0fe4301 (diff)
tcwg-llvm-testsuite.yaml: Change to matrix job
In order to test in different platforms, as well as to be triggered from the release job in the right platform, we need this to be a matrix job, so it can execute in the right way. Change-Id: I060aaace4a689c7732e4d5df4d165424d9df63b0
-rw-r--r--tcwg-llvm-staged-build.yaml46
-rw-r--r--tcwg-llvm-testsuite.yaml40
2 files changed, 81 insertions, 5 deletions
diff --git a/tcwg-llvm-staged-build.yaml b/tcwg-llvm-staged-build.yaml
index b5b24b8cd0..31637c81da 100644
--- a/tcwg-llvm-staged-build.yaml
+++ b/tcwg-llvm-staged-build.yaml
@@ -1,6 +1,6 @@
- job:
name: tcwg-llvm-staged-build
- project-type: freestyle
+ project-type: matrix
defaults: global
properties:
- authorization:
@@ -34,6 +34,10 @@
name: testsuite
default: false
description: 'Whether or not to trigger a test-suite with this build.'
+ - string:
+ name: target_list
+ default: 'tcwg-x86_64-build'
+ description: 'List of targets -- tcwg-x86_64-build tcwg-tk1_32-build tcwg-apm_64-build -- should be a subset of slave axis'
disabled: false
node: tcwg-x86_64-cam
retry-count: 3
@@ -49,6 +53,23 @@
skip-tag: true
shallow-clone: true
wipe-workspace: true
+ axes:
+ - axis:
+ type: slave
+ name: label
+ values:
+ - tcwg-x86_64-build
+ - tcwg-tk1_32-build
+ - tcwg-apm_64-build
+ - axis:
+ type: dynamic
+ name: target
+ values:
+ - target_list
+ execution-strategy:
+ combination-filter: |
+ label==target
+ sequential: false
execution-strategy:
sequential: false
wrappers:
@@ -66,9 +87,28 @@
#!/bin/bash
set -ex
+ # Select builder arch/type/container
+ buildjobs=7
+ triple=""
+ case ${label} in
+ tcwg-x86_64-build)
+ builder_arch=amd64
+ triple="x86_64-linux-gnu"
+ ;;
+ tcwg-tk1_32-build)
+ builder_arch=armhf
+ triple="armv7-linux-gnueabihf"
+ buildjobs=4 # TK1s only have 4 cores
+ ;;
+ tcwg-apm_64-build)
+ builder_arch=arm64
+ triple="aarch64-linux-gnu"
+ ;;
+ *) echo "ERROR: Unsupported label: $label"; exit 1 ;;
+ esac
+
# Start build container
builder=$(${WORKSPACE}/nodename2hostname.sh $NODE_NAME)
- builder_arch=amd64
bash ${WORKSPACE}/start-container-docker.sh --arch ${builder_arch} --distro ${build_container_tag} --session-host ${builder} --weight 1 > build-container.sh
# Define CONTAINER, CONTAINER_CLEANUP, session_host and session_port
@@ -99,7 +139,7 @@
# Chained jobs (FIXME: handle targets)
fileserver=dev-01.tcwglab
url_prefix='~tcwg-buildslave/builds/binaries/llvm'
- target=clang+llvm-${buildid}-x86_64-unknown-linux-gnu
+ target=clang+llvm-${buildid}-${triple}
tarball=${target}.tar.xz
toolchain_url="http://${fileserver}/${url_prefix}/${tarball}"
diff --git a/tcwg-llvm-testsuite.yaml b/tcwg-llvm-testsuite.yaml
index 87ece4c76a..de88738e00 100644
--- a/tcwg-llvm-testsuite.yaml
+++ b/tcwg-llvm-testsuite.yaml
@@ -1,6 +1,6 @@
- job:
name: tcwg-llvm-testsuite
- project-type: freestyle
+ project-type: matrix
defaults: global
properties:
- authorization:
@@ -22,6 +22,10 @@
name: build_container_tag
default: 'xenial'
description: 'Type of image to use in the container: trusty, xenial.'
+ - string:
+ name: target_list
+ default: 'tcwg-tk1_32-build tcwg-apm_64-build'
+ description: 'List of targets -- tcwg-x86_64-build tcwg-tk1_32-build tcwg-apm_64-build -- should be a subset of slave axis'
disabled: false
node: tcwg-x86_64-cam
retry-count: 3
@@ -37,6 +41,23 @@
skip-tag: true
shallow-clone: true
wipe-workspace: true
+ axes:
+ - axis:
+ type: slave
+ name: label
+ values:
+ - tcwg-x86_64-build
+ - 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
@@ -56,9 +77,24 @@
exit 1
fi
+ # Select builder arch/type/container
+ buildjobs=7
+ case ${label} in
+ tcwg-x86_64-build)
+ builder_arch=amd64
+ ;;
+ tcwg-tk1_32-build)
+ builder_arch=armhf
+ buildjobs=4 # TK1s only have 4 cores
+ ;;
+ tcwg-apm_64-build)
+ builder_arch=arm64
+ ;;
+ *) echo "ERROR: Unsupported label: $label"; exit 1 ;;
+ esac
+
# Start build container
builder=$(${WORKSPACE}/nodename2hostname.sh $NODE_NAME)
- builder_arch=amd64
bash ${WORKSPACE}/start-container-docker.sh --arch ${builder_arch} --distro ${build_container_tag} --session-host ${builder} > build-container.sh
# Define CONTAINER, CONTAINER_CLEANUP, session_host and session_port