diff options
author | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2020-06-03 13:06:05 +0000 |
---|---|---|
committer | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2020-06-03 13:14:19 +0000 |
commit | 3a295b11fe2d65422b729e421c5ea90c985f7f94 (patch) | |
tree | 29f6c5f556313a619353d6cd3704bfe3cc94f738 | |
parent | 4f7024730ca70041631971941876a7d21bbbf5a8 (diff) |
tcwg_gnu: Split into tcwg_binutils and tcwg_gcc
... while keeping tcwg_gnu.yaml.in as base template
Change-Id: I03d45d05cfdc0377e527f33e6790c82d41ec14c1
-rw-r--r-- | tcwg/round-robin.yaml.inc | 8 | ||||
-rw-r--r-- | tcwg_binutils.yaml | 457 | ||||
-rw-r--r-- | tcwg_gcc.yaml | 481 | ||||
-rw-r--r-- | tcwg_gnu.yaml | 487 | ||||
-rw-r--r-- | tcwg_gnu.yaml.in | 118 | ||||
-rw-r--r-- | tcwg_gnu/tcwg_binutils.def | 3 | ||||
-rw-r--r-- | tcwg_gnu/tcwg_gcc.def | 3 | ||||
-rw-r--r-- | tcwg_gnu/tcwg_gnu.def | 3 |
8 files changed, 1045 insertions, 515 deletions
diff --git a/tcwg/round-robin.yaml.inc b/tcwg/round-robin.yaml.inc index fcde5730ad..f48f1a9412 100644 --- a/tcwg/round-robin.yaml.inc +++ b/tcwg/round-robin.yaml.inc @@ -240,7 +240,7 @@ mkdir -p artifacts/jenkins dryruncmd="" -#if RR_tcwg_gnu +#if RR_tcwg_gcc # Don't run these known-bad configurations. case {target}-{type_of_test} in aarch64-bootstrap_profiled|\ @@ -287,7 +287,7 @@ --distro $distro \ #if RR_tcwg_bmk --ssh_info true \ -#elif RR_tcwg_gnu +#elif RR_tcwg_binutils || RR_tcwg_gcc --arch {docker_arch} \ --node $NODE_NAME \ #endif @@ -404,7 +404,7 @@ # artifacts/jenkins/mail-*.txt will be overwritten in successful builds. #if RR_tcwg_bmk echo "christophe.lyon@linaro.org" > artifacts/jenkins/mail-recipients.txt -#elif RR_tcwg_gnu +#elif RR_tcwg_binutils || RR_tcwg_gcc echo "prathamesh.kulkarni@linaro.org,tcwg-gcc@linaro.org" > artifacts/jenkins/mail-recipients.txt #elif RR_tcwg_kernel echo "maxim.kuvyrkov@linaro.org" > artifacts/jenkins/mail-recipients.txt @@ -415,7 +415,7 @@ --distro $distro \ #if RR_tcwg_bmk --ssh_info true \ -#elif RR_tcwg_gnu +#elif RR_tcwg_binutils || RR_tcwg_gcc --arch {docker_arch} \ --node $NODE_NAME \ #endif diff --git a/tcwg_binutils.yaml b/tcwg_binutils.yaml new file mode 100644 index 0000000000..1163f8ca79 --- /dev/null +++ b/tcwg_binutils.yaml @@ -0,0 +1,457 @@ +# Auto generated from tcwg_gnu.yaml.in and tcwg_gnu/tcwg_binutils.def. Do not edit. +- project: + name: tcwg_binutils + toolchain_name: gnu + binutils_url: git://sourceware.org/git/binutils-gdb.git + toolchain_ver: + - master: + binutils_branch: master + - release: + binutils_branch: binutils-2_33-branch + target: + - aarch64: + node: tcwg-armv8_64 + docker_arch: arm64 + - arm: + node: tcwg-armv8_32 + docker_arch: armhf + type_of_test: + - check_binutils + jobs: + - 'tcwg_binutils-build-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' + - 'tcwg_binutils-bisect-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' + +- view: + name: tcwg_binutils + view-type: list + regex: 'tcwg_binutils-.*' + +#BEGIN: tcwg/round-robin.yaml.inc +# -*- mode: Yaml -*- + +#BEGIN: tcwg/default.yaml.inc +# -*- mode: Yaml -*- + +- property: + name: default-properties + properties: + - authorization: + anonymous: + - job-read + - job-extended-read + linaro: + - job-build + - job-cancel + - build-discarder: + days-to-keep: 30 + num-to-keep: 30 +#END: tcwg/default.yaml.inc + +- parameter: + name: default-parameters + parameters: + - string: + name: ci_project + default: '{ci_project}' + description: "CI project ID; used as namespace for git branches" + - string: + name: ci_config + default: '{ci_config}' + description: "CI configuration ID" + - string: + name: extra_build_params + default: "" + description: "Extra parameters to pass to the build script" + - string: + name: mail_recipients + default: default + description: "Comma-separated list of email recipients; use 'default' unless testing" + - string: + name: distro + default: bionic + description: 'Distro image to use' + - string: + name: scripts_branch + default: master + description: 'Scripts revision to use' + +- scm: + name: jenkins-scripts + scm: + - git: + url: https://git.linaro.org/toolchain/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 + + +- parameter: + name: component-parameters + parameters: + - string: + name: '{component}_url' + default: '{url}' + description: "{component} git URL" + - string: + name: '{component}_branch' + default: '{branch}' + description: "{component} branch or sha1 to build, or 'baseline'" + +- parameter: + name: build-parameters + parameters: + - component-parameters: + component: binutils + url: '{binutils_url}' + branch: '{default_branch}' + - choice: + name: update_baseline + choices: + - update + - reset + - init + - push + description: "What to do with baseline in this build" + - default-parameters: + ci_project: '{ci_project}' + ci_config: '{ci_config}' + +- scm: + name: component-scm + scm: + - git: + url: '{url}' + branches: + - 'refs/heads/{branch}' + basedir: '{component}' + skip-tag: true + reference-repo: /home/tcwg-buildslave/snapshots-ref/'{reference}' + wipe-workspace: false + clean: + before: true + prune: true + +- scm: + name: build-scms + scm: + - jenkins-scripts + - component-scm: + component: binutils + url: '{binutils_url}' + branch: '{binutils_branch}' + reference: binutils-gdb.git + +- wrapper: + name: build-wrappers + wrappers: + - timeout: + timeout: '{timeout}' + - timestamps + - ssh-agent-credentials: + # tcwg-buildslave user id + users: + - 'e0958a95-204f-4c14-a66c-5e2be6c5d50a' + +- builder: + name: trigger-followup-builds + builders: + - build-name-setter: + name: 'artifacts/jenkins/build-name' + file: true + - shell: | + #!/bin/bash + set -ex + for i in artifacts/trigger-build-* artifacts/trigger-bisect; do + if [ -f $i ]; then + echo "ci_project=$ci_project" >> $i + echo "ci_config=$ci_config" >> $i + echo "mail_recipients=$mail_recipients" >> $i + echo "distro=$distro" >> $i + echo "scripts_branch=$scripts_branch" >> $i + fi + done + - trigger-builds: + - project: '{rr_project}-build-{ci_project_config}' + parameter-factories: + - factory: filebuild + file-pattern: artifacts/trigger-build-* + - project: '{rr_project}-bisect-{ci_project_config}' + property-file: artifacts/trigger-bisect + +- builder: + name: run-build + builders: + - shell: + command: | + #!/bin/bash + set -ex + # Delete artifacts now to avoid re-using stale artifacts if + # below docker-run.sh fails to start up a container. + rm -rf artifacts/ + mkdir -p artifacts/jenkins + + dryruncmd="" + + build_name="#$BUILD_NUMBER" + branch_opt="" + # 1 to skip jenkins-scripts + i=1 + for c in {components}; do + eval "u=\$$$${{c}}_url" + eval "b=\$$$${{c}}_branch" + if [ x"$b" = x"default" ]; then + eval "b=\$GIT_COMMIT_$i" + fi + i=$(($i+1)) + if [ x"$b" != x"baseline" ]; then + build_name="$build_name-$c" + branch_opt="$branch_opt ==rr[${{c}}_url] $u ==rr[${{c}}_branch] $b" + fi + done + + $dryruncmd \ + ./jenkins-scripts/docker-run.sh \ + --distro $distro \ + --arch {docker_arch} \ + --node $NODE_NAME \ + -- \ + ./jenkins-scripts/{build_script} \ + %% artifacts/jenkins/manifest.sh \ + --BUILD_URL "$BUILD_URL" \ + --scripts_branch "$scripts_branch" \ + ==rr[ci_project] $ci_project \ + ==rr[ci_config] $ci_config \ + $branch_opt \ + ==rr[mode] "jenkins-full" \ + ==rr[update_baseline] "$update_baseline" \ + $extra_build_params & + res=0 && wait $! || res=$? + + # If we didn't run the docker command + if [ -n "$dryruncmd" ]; then + # Mark build unstable aka a skipped config + exit 100 + fi + + if [ $res != 0 ]; then + touch artifacts/failures + fi + + if [ -e artifacts/results ]; then + build_name="$build_name-R$(tail -n1 artifacts/results)" + fi + if [ x"$update_baseline" != x"update" ]; then + build_name="$build_name-$update_baseline" + fi + if [ -f artifacts/trigger-bisect ]; then + build_name="$build_name-bisect" + fi + echo "$build_name" > artifacts/jenkins/build-name + unstable-return: 100 + - conditional-step: + # Only run if above succeeded + # Meaning we did not skip a bad config + # (a failed build is indicated by artifacts/failures) + condition-kind: current-status + steps: + - trigger-followup-builds: + rr_project: '{rr_project}' + ci_project_config: '{ci_project_config}' + - shell: | + #!/bin/bash + if [ -f artifacts/failures ]; then + exit 1 + fi + +- publisher: + name: build-publishers + publishers: + - archive: + artifacts: 'artifacts/**' + latest-only: false + +- parameter: + name: bisect-parameters + parameters: + - string: + name: current_project + default: "" + description: "Project to bisect" + - string: + name: bad_url + default: "" + description: "Bad git URL" + - string: + name: bad_branch + default: "" + description: "Bad branch or sha1" + - file: + name: jenkins-scripts/replay_log + description: "Replay part of bisect using provided bisect log" + - default-parameters: + ci_project: '{ci_project}' + ci_config: '{ci_config}' + +- wrapper: + name: bisect-wrappers + wrappers: + - build-wrappers: + timeout: '{timeout}' + - credentials-binding: + - text: + credential-id: TCWG_JIRA_PASSWORD + variable: TCWG_JIRA_PASSWORD + +- builder: + name: run-bisect + builders: + - shell: + command: | + #!/bin/bash + set -ex + # Delete artifacts now to avoid re-using stale artifacts if + # below docker-run.sh fails to start up a container. + rm -rf artifacts/ + mkdir -p artifacts/jenkins + build_name="#$BUILD_NUMBER-$current_project" + echo "$build_name" > artifacts/jenkins/build-name + # artifacts/jenkins/mail-*.txt will be overwritten in successful builds. + echo "prathamesh.kulkarni@linaro.org,tcwg-gcc@linaro.org" > artifacts/jenkins/mail-recipients.txt + echo "Build $BUILD_URL failed" > artifacts/jenkins/mail-body.txt + + ./jenkins-scripts/docker-run.sh \ + --distro $distro \ + --arch {docker_arch} \ + --node $NODE_NAME \ + -- \ + ./jenkins-scripts/round-robin-bisect.sh \ + %% artifacts/manifests/bisect.sh \ + --BUILD_URL "$BUILD_URL" \ + --current_project "$current_project" \ + --bad_url "$bad_url" \ + --bad_branch "$bad_branch" \ + --replay_log "$(pwd)/jenkins-scripts/replay_log" \ + --build_script "./jenkins-scripts/{build_script}" \ + --JIRA_PASSWORD "$TCWG_JIRA_PASSWORD" \ + -- \ + --scripts_branch "$scripts_branch" \ + ==rr[ci_project] $ci_project \ + ==rr[ci_config] $ci_config \ + $extra_build_params + + if [ x"$mail_recipients" != x"default" ]; then + echo "$mail_recipients" > artifacts/jenkins/mail-recipients.txt + fi + - trigger-followup-builds: + rr_project: '{rr_project}' + ci_project_config: '{ci_project_config}' + +- publisher: + name: bisect-publishers + publishers: + - build-publishers + - email-ext: + recipients: ${{FILE,path="artifacts/jenkins/mail-recipients.txt"}} + content-type: text + body: | + ${{FILE,path="artifacts/jenkins/mail-body.txt"}} + failure: true + success: true + aborted: true + send-to: + - recipients +#END: tcwg/round-robin.yaml.inc + +- job-template: + name: tcwg_binutils-build-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test} + project-type: freestyle + defaults: global + properties: + - default-properties + - build-blocker: + blocking-jobs: + - "tcwg_binutils-bisect-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}" + queue-scanning: 'ALL' + parameters: + - build-parameters: + ci_project: 'tcwg_gnu' + ci_config: '{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' + binutils_url: '{binutils_url}' + default_branch: 'default' + disabled: false + node: '{node} && tcwg-build' + concurrent: false + display-name: 'TCWG Build tcwg_gnu/{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' + workspace: workspace/tcwg_gnu_$EXECUTOR_NUMBER + scm: + - build-scms: + binutils_url: '{binutils_url}' + binutils_branch: '{binutils_branch}' + triggers: + - pollscm: + cron: 'H H H/2 * *' + wrappers: + - build-wrappers: + timeout: 1000 + builders: + - run-build: + build_script: 'tcwg_gnu-build.sh' + components: 'binutils' + rr_project: 'tcwg_binutils' + ci_project_config: '{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' + docker_arch: '{docker_arch}' + target: '{target}' + type_of_test: '{type_of_test}' + publishers: + - build-publishers + - email-ext: + recipients: 'tcwg-gcc@linaro.org' + aborted: true + failure: false + success: false + +- job-template: + name: tcwg_binutils-bisect-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test} + project-type: freestyle + defaults: global + properties: + - default-properties + - build-blocker: + # Run at most 1 bisect job for all configurations. + # Bisect jobs can easily run for 5+ hours, and a few of them + # can hog the entire TCWG build farm for a long time. Since + # same regression tends to appear in multiple configurations, + # run bisections for all configurations in-order. + blocking-jobs: + - "tcwg_binutils-bisect-.*" + queue-scanning: 'BUILDABLE' + parameters: + - bisect-parameters: + ci_project: 'tcwg_gnu' + ci_config: '{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' + disabled: false + node: '{node} && tcwg-bisect' + concurrent: false + display-name: 'TCWG Bisect tcwg_gnu/{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' + workspace: workspace/tcwg_gnu_$EXECUTOR_NUMBER + scm: + - jenkins-scripts + wrappers: + - bisect-wrappers: + timeout: 6000 + builders: + - run-bisect: + build_script: 'tcwg_gnu-build.sh' + rr_project: 'tcwg_binutils' + ci_project_config: '{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' + docker_arch: '{docker_arch}' + publishers: + - bisect-publishers +# checksum: abf5e6d56192b1b076e45a48bf858254 diff --git a/tcwg_gcc.yaml b/tcwg_gcc.yaml new file mode 100644 index 0000000000..4c2fd69285 --- /dev/null +++ b/tcwg_gcc.yaml @@ -0,0 +1,481 @@ +# Auto generated from tcwg_gnu.yaml.in and tcwg_gnu/tcwg_gcc.def. Do not edit. +- project: + name: tcwg_gcc + toolchain_name: gnu + gcc_url: https://github.com/gcc-mirror/gcc.git + toolchain_ver: + - master: + gcc_branch: master + - release: + gcc_branch: releases/gcc-9 + target: + - aarch64: + node: tcwg-armv8_64 + docker_arch: arm64 + - arm: + node: tcwg-armv8_32 + docker_arch: armhf + type_of_test: + - bootstrap_O1 + - bootstrap_O3 + - bootstrap_debug + - bootstrap_profiled + - bootstrap_profiled_lto + - bootstrap_profiled_lto_lean + - bootstrap_ubsan + - check_bootstrap + - check_bootstrap_lto + jobs: + - 'tcwg_gcc-build-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' + - 'tcwg_gcc-bisect-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' + +- view: + name: tcwg_gcc + view-type: list + regex: 'tcwg_gcc-.*' + +#BEGIN: tcwg/round-robin.yaml.inc +# -*- mode: Yaml -*- + +#BEGIN: tcwg/default.yaml.inc +# -*- mode: Yaml -*- + +- property: + name: default-properties + properties: + - authorization: + anonymous: + - job-read + - job-extended-read + linaro: + - job-build + - job-cancel + - build-discarder: + days-to-keep: 30 + num-to-keep: 30 +#END: tcwg/default.yaml.inc + +- parameter: + name: default-parameters + parameters: + - string: + name: ci_project + default: '{ci_project}' + description: "CI project ID; used as namespace for git branches" + - string: + name: ci_config + default: '{ci_config}' + description: "CI configuration ID" + - string: + name: extra_build_params + default: "" + description: "Extra parameters to pass to the build script" + - string: + name: mail_recipients + default: default + description: "Comma-separated list of email recipients; use 'default' unless testing" + - string: + name: distro + default: bionic + description: 'Distro image to use' + - string: + name: scripts_branch + default: master + description: 'Scripts revision to use' + +- scm: + name: jenkins-scripts + scm: + - git: + url: https://git.linaro.org/toolchain/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 + + +- parameter: + name: component-parameters + parameters: + - string: + name: '{component}_url' + default: '{url}' + description: "{component} git URL" + - string: + name: '{component}_branch' + default: '{branch}' + description: "{component} branch or sha1 to build, or 'baseline'" + +- parameter: + name: build-parameters + parameters: + - component-parameters: + component: gcc + url: '{gcc_url}' + branch: '{default_branch}' + - choice: + name: update_baseline + choices: + - update + - reset + - init + - push + description: "What to do with baseline in this build" + - default-parameters: + ci_project: '{ci_project}' + ci_config: '{ci_config}' + +- scm: + name: component-scm + scm: + - git: + url: '{url}' + branches: + - 'refs/heads/{branch}' + basedir: '{component}' + skip-tag: true + reference-repo: /home/tcwg-buildslave/snapshots-ref/'{reference}' + wipe-workspace: false + clean: + before: true + prune: true + +- scm: + name: build-scms + scm: + - jenkins-scripts + - component-scm: + component: gcc + url: '{gcc_url}' + branch: '{gcc_branch}' + reference: gcc.git + +- wrapper: + name: build-wrappers + wrappers: + - timeout: + timeout: '{timeout}' + - timestamps + - ssh-agent-credentials: + # tcwg-buildslave user id + users: + - 'e0958a95-204f-4c14-a66c-5e2be6c5d50a' + +- builder: + name: trigger-followup-builds + builders: + - build-name-setter: + name: 'artifacts/jenkins/build-name' + file: true + - shell: | + #!/bin/bash + set -ex + for i in artifacts/trigger-build-* artifacts/trigger-bisect; do + if [ -f $i ]; then + echo "ci_project=$ci_project" >> $i + echo "ci_config=$ci_config" >> $i + echo "mail_recipients=$mail_recipients" >> $i + echo "distro=$distro" >> $i + echo "scripts_branch=$scripts_branch" >> $i + fi + done + - trigger-builds: + - project: '{rr_project}-build-{ci_project_config}' + parameter-factories: + - factory: filebuild + file-pattern: artifacts/trigger-build-* + - project: '{rr_project}-bisect-{ci_project_config}' + property-file: artifacts/trigger-bisect + +- builder: + name: run-build + builders: + - shell: + command: | + #!/bin/bash + set -ex + # Delete artifacts now to avoid re-using stale artifacts if + # below docker-run.sh fails to start up a container. + rm -rf artifacts/ + mkdir -p artifacts/jenkins + + dryruncmd="" + # Don't run these known-bad configurations. + case {target}-{type_of_test} in + aarch64-bootstrap_profiled|\ + aarch64-bootstrap_profiled_lto|\ + aarch64-bootstrap_profiled_lto_lean|\ + aarch64-check_bootstrap_lto|\ + arm-bootstrap_profiled|\ + arm-bootstrap_profiled_lto*|\ + arm-check_bootstrap_lto) + echo "Known bad configuration, not running." + echo "Would have run:" + # So we know it wasn't an infrastructure failure + touch artifacts/failures + dryruncmd="echo" + ;; + esac + + build_name="#$BUILD_NUMBER" + branch_opt="" + # 1 to skip jenkins-scripts + i=1 + for c in {components}; do + eval "u=\$$$${{c}}_url" + eval "b=\$$$${{c}}_branch" + if [ x"$b" = x"default" ]; then + eval "b=\$GIT_COMMIT_$i" + fi + i=$(($i+1)) + if [ x"$b" != x"baseline" ]; then + build_name="$build_name-$c" + branch_opt="$branch_opt ==rr[${{c}}_url] $u ==rr[${{c}}_branch] $b" + fi + done + + $dryruncmd \ + ./jenkins-scripts/docker-run.sh \ + --distro $distro \ + --arch {docker_arch} \ + --node $NODE_NAME \ + -- \ + ./jenkins-scripts/{build_script} \ + %% artifacts/jenkins/manifest.sh \ + --BUILD_URL "$BUILD_URL" \ + --scripts_branch "$scripts_branch" \ + ==rr[ci_project] $ci_project \ + ==rr[ci_config] $ci_config \ + $branch_opt \ + ==rr[mode] "jenkins-full" \ + ==rr[update_baseline] "$update_baseline" \ + $extra_build_params & + res=0 && wait $! || res=$? + + # If we didn't run the docker command + if [ -n "$dryruncmd" ]; then + # Mark build unstable aka a skipped config + exit 100 + fi + + if [ $res != 0 ]; then + touch artifacts/failures + fi + + if [ -e artifacts/results ]; then + build_name="$build_name-R$(tail -n1 artifacts/results)" + fi + if [ x"$update_baseline" != x"update" ]; then + build_name="$build_name-$update_baseline" + fi + if [ -f artifacts/trigger-bisect ]; then + build_name="$build_name-bisect" + fi + echo "$build_name" > artifacts/jenkins/build-name + unstable-return: 100 + - conditional-step: + # Only run if above succeeded + # Meaning we did not skip a bad config + # (a failed build is indicated by artifacts/failures) + condition-kind: current-status + steps: + - trigger-followup-builds: + rr_project: '{rr_project}' + ci_project_config: '{ci_project_config}' + - shell: | + #!/bin/bash + if [ -f artifacts/failures ]; then + exit 1 + fi + +- publisher: + name: build-publishers + publishers: + - archive: + artifacts: 'artifacts/**' + latest-only: false + +- parameter: + name: bisect-parameters + parameters: + - string: + name: current_project + default: "" + description: "Project to bisect" + - string: + name: bad_url + default: "" + description: "Bad git URL" + - string: + name: bad_branch + default: "" + description: "Bad branch or sha1" + - file: + name: jenkins-scripts/replay_log + description: "Replay part of bisect using provided bisect log" + - default-parameters: + ci_project: '{ci_project}' + ci_config: '{ci_config}' + +- wrapper: + name: bisect-wrappers + wrappers: + - build-wrappers: + timeout: '{timeout}' + - credentials-binding: + - text: + credential-id: TCWG_JIRA_PASSWORD + variable: TCWG_JIRA_PASSWORD + +- builder: + name: run-bisect + builders: + - shell: + command: | + #!/bin/bash + set -ex + # Delete artifacts now to avoid re-using stale artifacts if + # below docker-run.sh fails to start up a container. + rm -rf artifacts/ + mkdir -p artifacts/jenkins + build_name="#$BUILD_NUMBER-$current_project" + echo "$build_name" > artifacts/jenkins/build-name + # artifacts/jenkins/mail-*.txt will be overwritten in successful builds. + echo "prathamesh.kulkarni@linaro.org,tcwg-gcc@linaro.org" > artifacts/jenkins/mail-recipients.txt + echo "Build $BUILD_URL failed" > artifacts/jenkins/mail-body.txt + + ./jenkins-scripts/docker-run.sh \ + --distro $distro \ + --arch {docker_arch} \ + --node $NODE_NAME \ + -- \ + ./jenkins-scripts/round-robin-bisect.sh \ + %% artifacts/manifests/bisect.sh \ + --BUILD_URL "$BUILD_URL" \ + --current_project "$current_project" \ + --bad_url "$bad_url" \ + --bad_branch "$bad_branch" \ + --replay_log "$(pwd)/jenkins-scripts/replay_log" \ + --build_script "./jenkins-scripts/{build_script}" \ + --JIRA_PASSWORD "$TCWG_JIRA_PASSWORD" \ + -- \ + --scripts_branch "$scripts_branch" \ + ==rr[ci_project] $ci_project \ + ==rr[ci_config] $ci_config \ + $extra_build_params + + if [ x"$mail_recipients" != x"default" ]; then + echo "$mail_recipients" > artifacts/jenkins/mail-recipients.txt + fi + - trigger-followup-builds: + rr_project: '{rr_project}' + ci_project_config: '{ci_project_config}' + +- publisher: + name: bisect-publishers + publishers: + - build-publishers + - email-ext: + recipients: ${{FILE,path="artifacts/jenkins/mail-recipients.txt"}} + content-type: text + body: | + ${{FILE,path="artifacts/jenkins/mail-body.txt"}} + failure: true + success: true + aborted: true + send-to: + - recipients +#END: tcwg/round-robin.yaml.inc + +- job-template: + name: tcwg_gcc-build-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test} + project-type: freestyle + defaults: global + properties: + - default-properties + - build-blocker: + blocking-jobs: + - "tcwg_gcc-bisect-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}" + queue-scanning: 'ALL' + parameters: + - build-parameters: + ci_project: 'tcwg_gnu' + ci_config: '{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' + gcc_url: '{gcc_url}' + default_branch: 'default' + disabled: false + node: '{node} && tcwg-build' + concurrent: false + display-name: 'TCWG Build tcwg_gnu/{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' + workspace: workspace/tcwg_gnu_$EXECUTOR_NUMBER + scm: + - build-scms: + gcc_url: '{gcc_url}' + gcc_branch: '{gcc_branch}' + triggers: + - pollscm: + cron: 'H H H/2 * *' + wrappers: + - build-wrappers: + timeout: 1000 + builders: + - run-build: + build_script: 'tcwg_gnu-build.sh' + components: 'gcc' + rr_project: 'tcwg_gcc' + ci_project_config: '{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' + docker_arch: '{docker_arch}' + target: '{target}' + type_of_test: '{type_of_test}' + publishers: + - build-publishers + - email-ext: + recipients: 'tcwg-gcc@linaro.org' + aborted: true + failure: false + success: false + +- job-template: + name: tcwg_gcc-bisect-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test} + project-type: freestyle + defaults: global + properties: + - default-properties + - build-blocker: + # Run at most 1 bisect job for all configurations. + # Bisect jobs can easily run for 5+ hours, and a few of them + # can hog the entire TCWG build farm for a long time. Since + # same regression tends to appear in multiple configurations, + # run bisections for all configurations in-order. + blocking-jobs: + - "tcwg_gcc-bisect-.*" + queue-scanning: 'BUILDABLE' + parameters: + - bisect-parameters: + ci_project: 'tcwg_gnu' + ci_config: '{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' + disabled: false + node: '{node} && tcwg-bisect' + concurrent: false + display-name: 'TCWG Bisect tcwg_gnu/{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' + workspace: workspace/tcwg_gnu_$EXECUTOR_NUMBER + scm: + - jenkins-scripts + wrappers: + - bisect-wrappers: + timeout: 6000 + builders: + - run-bisect: + build_script: 'tcwg_gnu-build.sh' + rr_project: 'tcwg_gcc' + ci_project_config: '{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' + docker_arch: '{docker_arch}' + publishers: + - bisect-publishers +# checksum: ca389538d0035722b319a0466acfdb4e diff --git a/tcwg_gnu.yaml b/tcwg_gnu.yaml index 68eb047a2c..33e8b499d3 100644 --- a/tcwg_gnu.yaml +++ b/tcwg_gnu.yaml @@ -1,487 +1,38 @@ -# Auto generated from tcwg_gnu.yaml.in and tcwg_gnu/tcwg_gnu.def. Do not edit. - project: name: tcwg_gnu toolchain_name: - - gnu: - binutils_url: git://sourceware.org/git/binutils-gdb.git - gcc_url: https://github.com/gcc-mirror/gcc.git + - gnu toolchain_ver: - - master: - binutils_branch: master - gcc_branch: master - - release: - binutils_branch: binutils-2_33-branch - gcc_branch: releases/gcc-9 + - master + - release target: - - aarch64: - node: tcwg-build && tcwg-armv8_64 - docker_arch: arm64 - - arm: - node: tcwg-build && tcwg-armv8_32 - docker_arch: armhf + - aarch64 + - arm type_of_test: - - bootstrap_O1: - components: gcc - - bootstrap_O3: - components: gcc - - bootstrap_debug: - components: gcc - - bootstrap_profiled: - components: gcc - - bootstrap_profiled_lto: - components: gcc - - bootstrap_profiled_lto_lean: - components: gcc - - bootstrap_ubsan: - components: gcc - - check_binutils: - components: binutils - - check_bootstrap: - components: gcc - - check_bootstrap_lto: - components: gcc + - bootstrap_O1 + - bootstrap_O3 + - bootstrap_debug + - bootstrap_profiled + - bootstrap_profiled_lto + - bootstrap_profiled_lto_lean + - bootstrap_ubsan + - check_binutils + - check_bootstrap + - check_bootstrap_lto jobs: - 'tcwg_gnu-build-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' - 'tcwg_gnu-bisect-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' -- view: - name: tcwg_gnu - view-type: list - regex: 'tcwg_gnu-.*' - -#BEGIN: tcwg/round-robin.yaml.inc -# -*- mode: Yaml -*- - -#BEGIN: tcwg/default.yaml.inc -# -*- mode: Yaml -*- - -- property: - name: default-properties - properties: - - authorization: - anonymous: - - job-read - - job-extended-read - linaro: - - job-build - - job-cancel - - build-discarder: - days-to-keep: 30 - num-to-keep: 30 -#END: tcwg/default.yaml.inc - -- parameter: - name: default-parameters - parameters: - - string: - name: ci_project - default: '{ci_project}' - description: "CI project ID; used as namespace for git branches" - - string: - name: ci_config - default: '{ci_config}' - description: "CI configuration ID" - - string: - name: extra_build_params - default: "" - description: "Extra parameters to pass to the build script" - - string: - name: mail_recipients - default: default - description: "Comma-separated list of email recipients; use 'default' unless testing" - - string: - name: distro - default: bionic - description: 'Distro image to use' - - string: - name: scripts_branch - default: master - description: 'Scripts revision to use' - -- scm: - name: jenkins-scripts - scm: - - git: - url: https://git.linaro.org/toolchain/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 - - -- parameter: - name: component-parameters - parameters: - - string: - name: '{component}_url' - default: '{url}' - description: "{component} git URL" - - string: - name: '{component}_branch' - default: '{branch}' - description: "{component} branch or sha1 to build, or 'baseline'" - -- parameter: - name: build-parameters - parameters: - - component-parameters: - component: binutils - url: '{binutils_url}' - branch: '{default_branch}' - - component-parameters: - component: gcc - url: '{gcc_url}' - branch: '{default_branch}' - - choice: - name: update_baseline - choices: - - update - - reset - - init - - push - description: "What to do with baseline in this build" - - default-parameters: - ci_project: '{ci_project}' - ci_config: '{ci_config}' - -- scm: - name: component-scm - scm: - - git: - url: '{url}' - branches: - - 'refs/heads/{branch}' - basedir: '{component}' - skip-tag: true - reference-repo: /home/tcwg-buildslave/snapshots-ref/'{reference}' - wipe-workspace: false - clean: - before: true - prune: true - -- scm: - name: build-scms - scm: - - jenkins-scripts - -- wrapper: - name: build-wrappers - wrappers: - - timeout: - timeout: '{timeout}' - - timestamps - - ssh-agent-credentials: - # tcwg-buildslave user id - users: - - 'e0958a95-204f-4c14-a66c-5e2be6c5d50a' - -- builder: - name: trigger-followup-builds - builders: - - build-name-setter: - name: 'artifacts/jenkins/build-name' - file: true - - shell: | - #!/bin/bash - set -ex - for i in artifacts/trigger-build-* artifacts/trigger-bisect; do - if [ -f $i ]; then - echo "ci_project=$ci_project" >> $i - echo "ci_config=$ci_config" >> $i - echo "mail_recipients=$mail_recipients" >> $i - echo "distro=$distro" >> $i - echo "scripts_branch=$scripts_branch" >> $i - fi - done - - trigger-builds: - - project: '{rr_project}-build-{ci_project_config}' - parameter-factories: - - factory: filebuild - file-pattern: artifacts/trigger-build-* - - project: '{rr_project}-bisect-{ci_project_config}' - property-file: artifacts/trigger-bisect - -- builder: - name: run-build - builders: - - shell: - command: | - #!/bin/bash - set -ex - # Delete artifacts now to avoid re-using stale artifacts if - # below docker-run.sh fails to start up a container. - rm -rf artifacts/ - mkdir -p artifacts/jenkins - - dryruncmd="" - # Don't run these known-bad configurations. - case {target}-{type_of_test} in - aarch64-bootstrap_profiled|\ - aarch64-bootstrap_profiled_lto|\ - aarch64-bootstrap_profiled_lto_lean|\ - aarch64-check_bootstrap_lto|\ - arm-bootstrap_profiled|\ - arm-bootstrap_profiled_lto*|\ - arm-check_bootstrap_lto) - echo "Known bad configuration, not running." - echo "Would have run:" - # So we know it wasn't an infrastructure failure - touch artifacts/failures - dryruncmd="echo" - ;; - esac - - branch_opt="" - # 1 to skip jenkins-scripts - i=1 - for c in {components}; do - eval "u=\$$$${{c}}_url" - eval "b=\$$$${{c}}_branch" - if [ x"$b" != x"baseline" ]; then - build_name="$build_name-$c" - branch_opt="$branch_opt ==rr[${{c}}_url] $u ==rr[${{c}}_branch] $b" - fi - done - - $dryruncmd \ - ./jenkins-scripts/docker-run.sh \ - --distro $distro \ - --arch {docker_arch} \ - --node $NODE_NAME \ - -- \ - ./jenkins-scripts/{build_script} \ - %% artifacts/jenkins/manifest.sh \ - --BUILD_URL "$BUILD_URL" \ - --scripts_branch "$scripts_branch" \ - ==rr[ci_project] $ci_project \ - ==rr[ci_config] $ci_config \ - $branch_opt \ - ==rr[mode] "jenkins-full" \ - ==rr[update_baseline] "$update_baseline" \ - $extra_build_params & - res=0 && wait $! || res=$? - - # If we didn't run the docker command - if [ -n "$dryruncmd" ]; then - # Mark build unstable aka a skipped config - exit 100 - fi - - if [ $res != 0 ]; then - touch artifacts/failures - fi - - if [ -e artifacts/results ]; then - build_name="$build_name-R$(tail -n1 artifacts/results)" - fi - if [ x"$update_baseline" != x"update" ]; then - build_name="$build_name-$update_baseline" - fi - if [ -f artifacts/trigger-bisect ]; then - build_name="$build_name-bisect" - fi - echo "$build_name" > artifacts/jenkins/build-name - unstable-return: 100 - - conditional-step: - # Only run if above succeeded - # Meaning we did not skip a bad config - # (a failed build is indicated by artifacts/failures) - condition-kind: current-status - steps: - - trigger-followup-builds: - rr_project: '{rr_project}' - ci_project_config: '{ci_project_config}' - - shell: | - #!/bin/bash - if [ -f artifacts/failures ]; then - exit 1 - fi - -- publisher: - name: build-publishers - publishers: - - archive: - artifacts: 'artifacts/**' - latest-only: false - -- parameter: - name: bisect-parameters - parameters: - - string: - name: current_project - default: "" - description: "Project to bisect" - - string: - name: bad_url - default: "" - description: "Bad git URL" - - string: - name: bad_branch - default: "" - description: "Bad branch or sha1" - - file: - name: jenkins-scripts/replay_log - description: "Replay part of bisect using provided bisect log" - - default-parameters: - ci_project: '{ci_project}' - ci_config: '{ci_config}' - -- wrapper: - name: bisect-wrappers - wrappers: - - build-wrappers: - timeout: '{timeout}' - -- builder: - name: run-bisect - builders: - - shell: - command: | - #!/bin/bash - set -ex - # Delete artifacts now to avoid re-using stale artifacts if - # below docker-run.sh fails to start up a container. - rm -rf artifacts/ - mkdir -p artifacts/jenkins - echo "$build_name" > artifacts/jenkins/build-name - # artifacts/jenkins/mail-*.txt will be overwritten in successful builds. - echo "prathamesh.kulkarni@linaro.org,tcwg-gcc@linaro.org" > artifacts/jenkins/mail-recipients.txt - echo "Build $BUILD_URL failed" > artifacts/jenkins/mail-body.txt - - ./jenkins-scripts/docker-run.sh \ - --distro $distro \ - --arch {docker_arch} \ - --node $NODE_NAME \ - -- \ - ./jenkins-scripts/round-robin-bisect.sh \ - %% artifacts/manifests/bisect.sh \ - --BUILD_URL "$BUILD_URL" \ - --current_project "$current_project" \ - --bad_url "$bad_url" \ - --bad_branch "$bad_branch" \ - --replay_log "$(pwd)/jenkins-scripts/replay_log" \ - --build_script "./jenkins-scripts/{build_script}" \ - -- \ - --scripts_branch "$scripts_branch" \ - ==rr[ci_project] $ci_project \ - ==rr[ci_config] $ci_config \ - $extra_build_params - - if [ x"$mail_recipients" != x"default" ]; then - echo "$mail_recipients" > artifacts/jenkins/mail-recipients.txt - fi - - trigger-followup-builds: - rr_project: '{rr_project}' - ci_project_config: '{ci_project_config}' - -- publisher: - name: bisect-publishers - publishers: - - build-publishers - - email-ext: - recipients: ${{FILE,path="artifacts/jenkins/mail-recipients.txt"}} - content-type: text - body: | - ${{FILE,path="artifacts/jenkins/mail-body.txt"}} - failure: true - success: true - aborted: true - send-to: - - recipients -#END: tcwg/round-robin.yaml.inc - - job-template: name: tcwg_gnu-build-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test} project-type: freestyle defaults: global - properties: - - default-properties - - build-blocker: - blocking-jobs: - - "tcwg_gnu-bisect-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}" - queue-scanning: 'ALL' - parameters: - - build-parameters: - ci_project: 'tcwg_gnu' - ci_config: '{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' - binutils_url: '{binutils_url}' - gcc_url: '{gcc_url}' - default_branch: 'default' - disabled: false - node: '{node} && tcwg-amp' - concurrent: false - display-name: 'TCWG Build tcwg_gnu/{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' - workspace: workspace/tcwg_gnu_$EXECUTOR_NUMBER - scm: - - build-scms: - binutils_url: '{binutils_url}' - binutils_branch: '{binutils_branch}' - gcc_url: '{gcc_url}' - gcc_branch: '{gcc_branch}' - triggers: - - pollscm: - cron: 'H H H/2 * *' - wrappers: - - build-wrappers: - timeout: 1000 - builders: - - run-build: - build_script: 'tcwg_gnu-build.sh' - components: '{components}' - rr_project: 'tcwg_gnu' - ci_project_config: '{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' - docker_arch: '{docker_arch}' - target: '{target}' - type_of_test: '{type_of_test}' - publishers: - - build-publishers - - email-ext: - recipients: 'tcwg-gcc@linaro.org' - aborted: true - failure: false - success: false + disabled: true + display-name: 'DELETE ME' - job-template: name: tcwg_gnu-bisect-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test} project-type: freestyle defaults: global - properties: - - default-properties - - build-blocker: - # Run at most 1 bisect job for all configurations. - # Bisect jobs can easily run for 5+ hours, and a few of them - # can hog the entire TCWG build farm for a long time. Since - # same regression tends to appear in multiple configurations, - # run bisections for all configurations in-order. - blocking-jobs: - - "tcwg_gnu-bisect-.*" - queue-scanning: 'BUILDABLE' - parameters: - - bisect-parameters: - ci_project: 'tcwg_gnu' - ci_config: '{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' - disabled: false - node: '{node} && tcwg-d05' - concurrent: false - display-name: 'TCWG Bisect tcwg_gnu/{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' - workspace: workspace/tcwg_gnu_$EXECUTOR_NUMBER - scm: - - jenkins-scripts - wrappers: - - bisect-wrappers: - timeout: 6000 - builders: - - run-bisect: - build_script: 'tcwg_gnu-build.sh' - rr_project: 'tcwg_gnu' - ci_project_config: '{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' - docker_arch: '{docker_arch}' - publishers: - - bisect-publishers -# checksum: 0c2e9f48bde7205da0e653a0300d4a30 + disabled: true + display-name: 'DELETE ME' diff --git a/tcwg_gnu.yaml.in b/tcwg_gnu.yaml.in index 68a2130944..8307078426 100644 --- a/tcwg_gnu.yaml.in +++ b/tcwg_gnu.yaml.in @@ -1,83 +1,121 @@ - project: - name: tcwg_gnu - toolchain_name: - - gnu: - binutils_url: git://sourceware.org/git/binutils-gdb.git - gcc_url: https://github.com/gcc-mirror/gcc.git + name: #{RR} + toolchain_name: gnu +#if COMPONENTS_binutils + binutils_url: git://sourceware.org/git/binutils-gdb.git +#endif +#if COMPONENTS_gcc + gcc_url: https://github.com/gcc-mirror/gcc.git +#endif +#if COMPONENTS_glibc + glibc_url: git://sourceware.org/git/glibc.git +#endif +#if COMPONENTS_qemu + qemu_url: https://git.qemu.org/git/qemu.git +#endif toolchain_ver: - master: +#if COMPONENTS_binutils binutils_branch: master +#endif +#if COMPONENTS_gcc gcc_branch: master +#endif +#if COMPONENTS_glibc + glibc_branch: master +#endif +#if COMPONENTS_qemu + qemu_branch: master +#endif - release: +#if COMPONENTS_binutils binutils_branch: binutils-2_33-branch +#endif +#if COMPONENTS_gcc gcc_branch: releases/gcc-9 +#endif +#if COMPONENTS_glibc + glibc_branch: release/2.30/master +#endif +#if COMPONENTS_qemu + qemu_branch: stable-4.1 +#endif target: +#if RR_tcwg_cross + - aarch64 + - arm + node: tcwg-build && tcwg-armv8_32 +#else - aarch64: - node: tcwg-build && tcwg-armv8_64 + node: tcwg-armv8_64 docker_arch: arm64 - arm: - node: tcwg-build && tcwg-armv8_32 + node: tcwg-armv8_32 docker_arch: armhf +#endif type_of_test: - - bootstrap_O1: - components: gcc - - bootstrap_O3: - components: gcc - - bootstrap_debug: - components: gcc - - bootstrap_profiled: - components: gcc - - bootstrap_profiled_lto: - components: gcc - - bootstrap_profiled_lto_lean: - components: gcc - - bootstrap_ubsan: - components: gcc - - check_binutils: - components: binutils - - check_bootstrap: - components: gcc - - check_bootstrap_lto: - components: gcc +#if RR_tcwg_binutils + - check_binutils +#elif RR_tcwg_cross + - check_cross +#elif RR_tcwg_gcc + - bootstrap_O1 + - bootstrap_O3 + - bootstrap_debug + - bootstrap_profiled + - bootstrap_profiled_lto + - bootstrap_profiled_lto_lean + - bootstrap_ubsan + - check_bootstrap + - check_bootstrap_lto +#endif jobs: - - 'tcwg_gnu-build-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' - - 'tcwg_gnu-bisect-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' + - '#{RR}-build-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' + - '#{RR}-bisect-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' - view: - name: tcwg_gnu + name: #{RR} view-type: list - regex: 'tcwg_gnu-.*' + regex: '#{RR}-.*' #include tcwg/round-robin.yaml.inc - job-template: - name: tcwg_gnu-build-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test} + name: #{RR}-build-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test} project-type: freestyle defaults: global properties: - default-properties - build-blocker: blocking-jobs: - - "tcwg_gnu-bisect-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}" + - "#{RR}-bisect-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}" queue-scanning: 'ALL' parameters: - build-parameters: ci_project: 'tcwg_gnu' ci_config: '{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' +#if COMPONENTS_binutils binutils_url: '{binutils_url}' +#endif +#if COMPONENTS_gcc gcc_url: '{gcc_url}' +#endif default_branch: 'default' disabled: false - node: '{node} && tcwg-amp' + node: '{node} && tcwg-build' concurrent: false display-name: 'TCWG Build tcwg_gnu/{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' workspace: workspace/tcwg_gnu_$EXECUTOR_NUMBER scm: - build-scms: +#if COMPONENTS_binutils binutils_url: '{binutils_url}' binutils_branch: '{binutils_branch}' +#endif +#if COMPONENTS_gcc gcc_url: '{gcc_url}' gcc_branch: '{gcc_branch}' +#endif triggers: - pollscm: cron: 'H H H/2 * *' @@ -87,8 +125,8 @@ builders: - run-build: build_script: 'tcwg_gnu-build.sh' - components: '{components}' - rr_project: 'tcwg_gnu' + components: '#{COMPONENTS}' + rr_project: '#{RR}' ci_project_config: '{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' docker_arch: '{docker_arch}' target: '{target}' @@ -102,7 +140,7 @@ success: false - job-template: - name: tcwg_gnu-bisect-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test} + name: #{RR}-bisect-{toolchain_name}-{toolchain_ver}-{target}-{type_of_test} project-type: freestyle defaults: global properties: @@ -114,14 +152,14 @@ # same regression tends to appear in multiple configurations, # run bisections for all configurations in-order. blocking-jobs: - - "tcwg_gnu-bisect-.*" + - "#{RR}-bisect-.*" queue-scanning: 'BUILDABLE' parameters: - bisect-parameters: ci_project: 'tcwg_gnu' ci_config: '{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' disabled: false - node: '{node} && tcwg-d05' + node: '{node} && tcwg-bisect' concurrent: false display-name: 'TCWG Bisect tcwg_gnu/{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' workspace: workspace/tcwg_gnu_$EXECUTOR_NUMBER @@ -133,7 +171,7 @@ builders: - run-bisect: build_script: 'tcwg_gnu-build.sh' - rr_project: 'tcwg_gnu' + rr_project: '#{RR}' ci_project_config: '{toolchain_name}-{toolchain_ver}-{target}-{type_of_test}' docker_arch: '{docker_arch}' publishers: diff --git a/tcwg_gnu/tcwg_binutils.def b/tcwg_gnu/tcwg_binutils.def new file mode 100644 index 0000000000..fd83fca420 --- /dev/null +++ b/tcwg_gnu/tcwg_binutils.def @@ -0,0 +1,3 @@ +-v COMPONENTS=binutils +-v PURPOSE=ci +-v RR=tcwg_binutils diff --git a/tcwg_gnu/tcwg_gcc.def b/tcwg_gnu/tcwg_gcc.def new file mode 100644 index 0000000000..d158409c45 --- /dev/null +++ b/tcwg_gnu/tcwg_gcc.def @@ -0,0 +1,3 @@ +-v COMPONENTS=gcc +-v PURPOSE=ci +-v RR=tcwg_gcc diff --git a/tcwg_gnu/tcwg_gnu.def b/tcwg_gnu/tcwg_gnu.def deleted file mode 100644 index 72bd629292..0000000000 --- a/tcwg_gnu/tcwg_gnu.def +++ /dev/null @@ -1,3 +0,0 @@ --v COMPONENTS=binutils --v COMPONENTS=gcc --v RR=tcwg_gnu |