#include tcwg/default.yaml.inc - job: name: tcwg-update-#{CONTAINER}-containers project-type: freestyle defaults: global properties: - authorization: anonymous: - job-read - job-extended-read linaro: - job-build - job-cancel - build-discarder: days-to-keep: 30 num-to-keep: 100 - throttle: max-per-node: 1 option: project parameters: - label: name: nodes #if CONTAINER_host default: tcwg && !tcwg-bmk && !tcwg-short #elif CONTAINER_jenkins # We can't restart coordinator nodes because we can't block-out # matrix master jobs. Similarly, we can't restart nodes with # multiple executors because we risk killing builds on other # executors. default: tcwg && !tcwg-coordinator && !tcwg-bmk && !tcwg-short && !tcwg-x86_64-build && !tcwg-x86_64-build-09 && !tcwg-x86_64-build-10 #elif CONTAINER_llvmbot || CONTAINER_buildkite default: tcwg-llvmbot #endif all-nodes: true matching-label: 'allCases' node-eligibility: 'ignore-offline' description: 'Machines to run on' - string: name: distro default: 'bionic' description: 'Distro version to use.' #if CONTAINER_llvmbot - string: name: master default: 'normal' description: 'LLVM buildmaster to use: silent or normal' #endif - bool: name: force default: 'false' description: 'Whether to force update even with no changes in image' - bool: name: verbose default: 'true' description: 'Whether to be verbose' - string: name: scripts_branch default: master description: 'Scripts revision to use' disabled: false node: tcwg-coordinator concurrent: true display-name: 'TCWG CCC Update #{CONTAINER} containers' # We need to unshare workspace with $NODE_NAME in the path to # correctly run on tcwg-bmk-* nodes. workspace: workspace/tcwg-update-#{CONTAINER}-containers_$EXECUTOR_NUMBER/$NODE_NAME scm: - jenkins-scripts triggers: - timed: '@daily' wrappers: - timeout: timeout: 600 - timestamps #if CONTAINER_llvmbot - credentials-binding: - text: credential-id: TCWG_LLVMBOT_PASSWORD variable: TCWG_LLVMBOT_PASSWORD #elif CONTAINER_buildkite - credentials-binding: - text: credential-id: TCWG_BUILDKITE_TOKEN_LIBCXX variable: TCWG_BUILDKITE_TOKEN_LIBCXX #endif - build-name: name: '#${BUILD_NUMBER}-${NODE_NAME}' builders: - shell: command: | #!/bin/bash set -ex #if CONTAINER_host case "$NODE_NAME" in tcwg-llvmbot_*) group=tcwg-llvm ;; *) group=all ;; esac ./jenkins-scripts/tcwg-update-host-containers.sh \ --distro "$distro" \ --group "$group" \ --force "$force" \ --verbose "$verbose" #elif CONTAINER_jenkins ./jenkins-scripts/tcwg-update-host-containers.sh \ --distro "$distro" \ --node "$NODE_NAME" \ --force "$force" \ --verbose "$verbose" || exit 125 unstable-return: 125 #elif CONTAINER_llvmbot ./jenkins-scripts/tcwg-update-llvmbot-containers.sh \ --NODE_NAME "$NODE_NAME" \ --distro "$distro" \ --master "$master" \ --password "$TCWG_LLVMBOT_PASSWORD" \ --force "$force" \ --verbose "$verbose" #elif CONTAINER_buildkite ./jenkins-scripts/tcwg-update-llvmbot-containers.sh \ --NODE_NAME "$NODE_NAME" \ --distro "$distro" \ --master "buildkite" \ --password "$TCWG_BUILDKITE_TOKEN_LIBCXX" \ --force "$force" \ --verbose "$verbose" #endif