- job: name: tcwg-buildapp-christophe project-type: matrix defaults: global properties: - authorization: anonymous: - job-read - job-extended-read linaro: - job-build - job-cancel - build-discarder: days-to-keep: 30 num-to-keep: 30 parameters: - string: name: toolchain_url default: '' description: 'Toolchain URL' - string: name: app_list default: 'linux+multi_v7' description: 'List of apps to build (eg gcc, linux, linux+myconfig, linux+all ["linux" means allmodconfig, "linux+all" means build all defconfigs in sequence], spec2k spec2k6)' - string: name: linux_repo default: 'torvalds/linux' description: 'Linux kernel repo name, concatenated to git://git.kernel.org/pub/scm/linux/kernel/git (eg arnd/playground)' - string: name: linux_branch default: 'master' description: 'Linux kernel branch to build (eg to-build)' - bool: name: boot default: 'false' description: 'Attempt to boot supported Linux configurations via Lava' - string: name: target_list default: 'arm-linux-gnueabihf aarch64-linux-gnu' description: 'List of targets to use' - string: name: scripts_branch default: master description: 'Jenkins-scripts branch to use' - string: name: build_container_tag default: 'trusty' description: 'Distro to use on the builder with non-default container type: trusty, xenial.' - string: name: LAVA_SERVER default: validation.linaro.org description: 'Lava server to use' disabled: false node: tcwg-coordinator child-workspace: $target/$app concurrent: true display-name: 'TCWG ZZZ BuildApp Christophe' scm: - git: url: https://git-us.linaro.org/toolchain/tcwg-buildapp.git wipe-workspace: true skip-tag: true axes: - axis: type: slave name: label values: - tcwg-x86_64-build - axis: type: dynamic name: app values: - app_list - axis: type: dynamic name: target values: - target_list execution-strategy: sequential: false wrappers: - timeout: timeout: 600 - timestamps - ssh-agent-credentials: # tcwg-buildslave user id users: - 'tcwg-benchmark' - 'e0958a95-204f-4c14-a66c-5e2be6c5d50a' - build-name: name: '#${BUILD_NUMBER}' - credentials-binding: - text: credential-id: LAVA_USER variable: LAVA_USER - credentials-binding: - text: credential-id: LAVA_TOKEN variable: LAVA_TOKEN builders: - linaro-publish-token - shell: | #!/bin/bash set -ex git clone -b $scripts_branch --depth 1 https://git-us.linaro.org/toolchain/jenkins-scripts . jenkins-scripts/jenkins-helpers.sh host_arch=$(print_arch_for_label "${label}") host=$(print_host_for_node $NODE_NAME) bash -x ./jenkins-scripts/start-container-docker.sh --arch ${host_arch} --distro ${build_container_tag} --session-host ${host} > container.sh # Define CONTAINER, CONTAINER_CLEANUP, session_host and session_port . ./container.sh trap "${CONTAINER_CLEANUP}" EXIT env | egrep 'LAVA|BUILD_NUMBER|PUBLISH_TOKEN' > .env ${CONTAINER} "cd ${WORKSPACE} && ${WORKSPACE}/tcwg-buildapp.sh ${toolchain_url} ${app} ${target} ${boot} ${linux_repo} ${linux_branch}" publishers: - email: recipients: 'christophe.lyon@linaro.org' - email-ext: recipients: 'christophe.lyon@linaro.org' send-to: requester recipients always: true matrix-trigger: only-parent