blob: e1bee2c7b8f6df28c688802397b73687d9efc37a [file] [log] [blame]
# Auto generated by ./tcwg/generate-yamlfiles.sh from tcwg-dev-builds.yaml.in and tcwg-dev-builds/tcwg-gnu-builds.def. Do not edit.
#BEGIN: tcwg/default.yaml.inc
# -*- mode: Yaml -*-
- property:
name: default-properties
properties:
- authorization:
anonymous:
- job-read
- job-extended-read
everyone-flat:
- job-build
- job-cancel
- build-discarder:
days-to-keep: 20
- scm:
name: jenkins-scripts
scm:
- git:
url: https://gitlab.com/Linaro/tcwg/jenkins-scripts.git
refspec: +refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*
branches:
- $scripts_branch
basedir: jenkins-scripts
skip-tag: true
reference-repo: /home/tcwg-buildslave/snapshots-ref/jenkins-scripts.git
wipe-workspace: false
clean:
before: true
prune: true
#END: tcwg/default.yaml.inc
- job:
name: tcwg-gnu-builds
project-type: multijob
defaults: global
properties:
- default-properties
parameters:
- string:
name: release_name
default: test
description: 'Name of release series'
- string:
name: buildnumber
default: 0
description: 'Build number in release series'
- choice:
name: version
choices:
- latest-rel
- master
description: 'Toolchain version; should match a supported ABE config'
- bool:
name: host_x86_64_target_aarch64
default: true
- bool:
name: host_x86_64_target_armhf
default: true
- bool:
name: host_aarch64_target_native
default: true
- bool:
name: host_aarch64_target_armhf
default: true
- bool:
name: host_armhf_target_native
# FIXME: https://linaro.atlassian.net/browse/STG-5042
default: false
- choice:
name: distro
choices:
- lts_1
- lts
description: 'Ubuntu distro to use for build environment'
- bool:
name: publish
default: false
description: 'Whether to publish to snapshots.linaro.org'
- bool:
name: verbose
default: true
description: 'Whether to be verbose'
disabled: false
node: tcwg-coordinator
concurrent: true
display-name: 'TCWG AAA GNU Builds'
wrappers:
- build-name:
name: '#$BUILD_NUMBER-$version-$release_name-$buildnumber'
- timeout:
timeout: 600
- timestamps
- workspace-cleanup
builders:
- shell: |
#!/bin/bash
set -euf -o pipefail
if $verbose; then
set -x
fi
if [ x"$(ls)" != x"" ]; then
echo "ERROR: Dirty workspace"
exit 1
fi
cat > build-params.txt <<EOF
release_name=$release_name
buildnumber=$buildnumber
version=$version
distro=$distro
EOF
- multijob:
name: Build
projects:
- name: tcwg-gnu-build
alias: "host_x86_64_target_aarch64"
enable-condition: "$host_x86_64_target_aarch64"
node-label-name: "builder"
node-label: "tcwg-build && tcwg-x86_64-build"
property-file: build-params.txt
predefined-parameters: "target=aarch64-linux-gnu"
- name: tcwg-gnu-build
alias: "host_x86_64_target_armhf"
enable-condition: "$host_x86_64_target_armhf"
node-label-name: "builder"
node-label: "tcwg-build && tcwg-x86_64-build"
property-file: build-params.txt
predefined-parameters: "target=arm-linux-gnueabihf"
- name: tcwg-gnu-build
alias: "host_aarch64_target_aarch64"
enable-condition: "$host_aarch64_target_native"
node-label-name: "builder"
node-label: "tcwg-build && tcwg-armv8_64"
property-file: build-params.txt
predefined-parameters: "target=native"
- name: tcwg-gnu-build
alias: "host_aarch64_target_armhf"
enable-condition: "$host_aarch64_target_armhf"
node-label-name: "builder"
node-label: "tcwg-build && tcwg-armv8_64"
property-file: build-params.txt
predefined-parameters: "target=arm-linux-gnueabihf"
- name: tcwg-gnu-build
alias: "host_armhf_target_native"
enable-condition: "$host_armhf_target_native"
node-label-name: "builder"
node-label: "tcwg-build && tcwg-armv7"
property-file: build-params.txt
predefined-parameters: "target=native"
- shell: |
#!/bin/bash
set -euf -o pipefail
if $verbose; then
set -x
fi
env | grep "TCWG_GNU_BUILD"
- conditional-step:
condition-kind: num-comp
lhs: $TRIGGERED_BUILD_RUN_COUNT_TCWG_GNU_BUILD
comparator: greater-than-equal
rhs: 1
steps:
- copyartifact:
project: tcwg-gnu-build
which-build: specific-build
# Note that $TCWG_GNU_BUILD_BUILD_NUMBER points to the last
# build (i.e., it's the same as $TCWG_GNU_BUILD_5_BUILD_NUMBER
# in a full 5-configuration build). At the same time,
# $TCWG_GNU_BUILD_nnn_BUILD_NUMBER variables are defined only
# when multiple builds were triggered.
# We need to use $TCWG_GNU_BUILD_BUILD_NUMBER here to correctly
# handle single-toolchain builds.
build-number: $TCWG_GNU_BUILD_BUILD_NUMBER
target: tcwg-gnu-build-1
- conditional-step:
condition-kind: num-comp
lhs: $TRIGGERED_BUILD_RUN_COUNT_TCWG_GNU_BUILD
comparator: greater-than-equal
rhs: 2
steps:
- copyartifact:
project: tcwg-gnu-build
which-build: specific-build
build-number: $TCWG_GNU_BUILD_1_BUILD_NUMBER
target: tcwg-gnu-build-2
- conditional-step:
condition-kind: num-comp
lhs: $TRIGGERED_BUILD_RUN_COUNT_TCWG_GNU_BUILD
comparator: greater-than-equal
rhs: 3
steps:
- copyartifact:
project: tcwg-gnu-build
which-build: specific-build
build-number: $TCWG_GNU_BUILD_2_BUILD_NUMBER
target: tcwg-gnu-build-3
- conditional-step:
condition-kind: num-comp
lhs: $TRIGGERED_BUILD_RUN_COUNT_TCWG_GNU_BUILD
comparator: greater-than-equal
rhs: 4
steps:
- copyartifact:
project: tcwg-gnu-build
which-build: specific-build
build-number: $TCWG_GNU_BUILD_3_BUILD_NUMBER
target: tcwg-gnu-build-4
- conditional-step:
condition-kind: num-comp
lhs: $TRIGGERED_BUILD_RUN_COUNT_TCWG_GNU_BUILD
comparator: greater-than-equal
rhs: 5
steps:
- copyartifact:
project: tcwg-gnu-build
which-build: specific-build
build-number: $TCWG_GNU_BUILD_4_BUILD_NUMBER
target: tcwg-gnu-build-5
# linaro-publish-token has not been updated in a while.
# Disable publishing support until we need it.
# - linaro-publish-token
- shell: |
#!/bin/bash
set -euf -o pipefail
if $verbose; then
set -x
fi
mkdir out
i="$TRIGGERED_BUILD_RUN_COUNT_TCWG_GNU_BUILD"
while [ $i -gt 0 ]; do
rsync -a tcwg-gnu-build-$i/artifacts/binaries/ out/
i=$(($i-1))
done
if [ x"$(ls out/ | wc -l)" != x"1" ]; then
echo "ERROR: not a single directory in builds artifacts:"
ls -l out/
exit 1
fi
out_release=$(set +f; echo out/*-$release_name-$buildnumber)
if ! [ -d "$out_release" ]; then
echo "ERROR: no $out_release directory in builds artifacts:"
ls -l out/
exit 1
fi
cat > HEADER-latest-rel.textile <<EOF
h4. Linaro Toolchain Upstream Integration Builds - Stable $release_name-$buildnumber
These builds are made from latest release branches of GNU toolchain
components.
See included manifests for details.
These builds are not for production environments.
We will do our best to investigate problems reported via
"Linaro Bugzilla":https://bugs.linaro.org/ and issue trackers of
upstream projects.
EOF
cat > HEADER-master.textile <<EOF
h4. Linaro Toolchain Upstream Integration Builds - *UNSTABLE* $release_name-$buildnumber
These builds are made from whatever happened to be in master branches
of GNU toolchain components at the moment.
See included manifests for details.
These builds are for experimental environments only. They *will*
break your stuff and drink all your beer. You have been warned.
We will do our best to investigate problems reported via
"Linaro Bugzilla":https://bugs.linaro.org/ and issue trackers of
upstream projects.
EOF
cp HEADER-$version.textile HEADER.textile
cp HEADER.textile "$out_release/"
wget https://git.linaro.org/ci/publishing-api.git/plain/linaro-cp.py -O ./linaro-cp.py
linaro_cp_opts=""
if ! $publish; then
linaro_cp_opts="--dry-run"
fi
time python3 ./linaro-cp.py --api_version 3 $linaro_cp_opts \
"$out_release/" "gnu-toolchain/$(basename "$out_release")"
- job:
name: tcwg-gnu-builds-monthly
project-type: freestyle
defaults: global
properties:
- default-properties
disabled: false
node: tcwg-coordinator
concurrent: false
display-name: 'TCWG AAA GNU Builds Monthly Trigger'
triggers:
- timed: '@weekly'
wrappers:
- timeout:
timeout: 300
- timestamps
builders:
- shell: |
#!/bin/bash
set -euf -o pipefail
set -x
# Release name is Year.Month-Week_of_month
buildnumber=$((($(date +%e)+6)/7))
publish=false
if [ x"$buildnumber" = x"1" ]; then
# Disable publishing until linaro-publish-token is updated.
#publish=true
publish=flase
fi
cat > build-params.txt <<EOF
release_name=$(date +%Y.%m)
buildnumber=$buildnumber
publish=$publish
EOF
- trigger-builds:
- project: tcwg-gnu-builds
property-file: build-params.txt
predefined-parameters: |
version=latest-rel
distro=lts_1
- project: tcwg-gnu-builds
property-file: build-params.txt
predefined-parameters: |
version=master
distro=lts
# checksum: e2d6ecb27f75eccaab52db0ca32a91e0