diff options
author | Renato Golin <renato.golin@linaro.org> | 2017-04-27 14:18:53 +0100 |
---|---|---|
committer | Renato Golin <renato.golin@linaro.org> | 2017-04-27 15:53:00 +0100 |
commit | f3338c8ddac001e8e591cd23c8c4f114b52299c3 (patch) | |
tree | 09427abfdcd196c4d24df636d229cb52a900d84d | |
parent | fd7c8a1f4cde3f7d9413a3a83dd687acc0fe4301 (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.yaml | 46 | ||||
-rw-r--r-- | tcwg-llvm-testsuite.yaml | 40 |
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 |