aboutsummaryrefslogtreecommitdiff
path: root/tcwg_bmk_ci_gnu.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'tcwg_bmk_ci_gnu.yaml')
-rw-r--r--tcwg_bmk_ci_gnu.yaml563
1 files changed, 0 insertions, 563 deletions
diff --git a/tcwg_bmk_ci_gnu.yaml b/tcwg_bmk_ci_gnu.yaml
deleted file mode 100644
index 9bf1f3beb8..0000000000
--- a/tcwg_bmk_ci_gnu.yaml
+++ /dev/null
@@ -1,563 +0,0 @@
-# Auto generated by ./tcwg/generate-yamlfiles.sh from tcwg_bmk_ci.yaml.in and tcwg_bmk_ci/tcwg_bmk_ci_gnu.def. Do not edit.
-# Beware: git branch names need the 'refs/heads/' prefix, while tags need 'refs/tags/'
-- project:
- name: tcwg_bmk_ci_gnu
- binutils_url: git://sourceware.org/git/binutils-gdb.git
- gcc_url: https://github.com/gcc-mirror/gcc.git
- glibc_url: git://sourceware.org/git/glibc.git
- hw:
- - tk1:
- target: arm
- node: tcwg-x86_64-build_bmk_tk1
- - tx1:
- target: aarch64
- node: tcwg-x86_64-build_bmk_tx1
- toolchain_name: gnu
- components: binutils gcc glibc
- toolchain_ver:
- - master:
- binutils_branch: refs/heads/master
- gcc_branch: refs/heads/master
- glibc_branch: refs/heads/master
- distro: lts
- - release:
- binutils_branch: refs/heads/binutils-2_36-branch
- gcc_branch: refs/heads/releases/gcc-10
- glibc_branch: refs/heads/release/2.32/master
- distro: lts_1
- bmk:
- - spec2k6
- cflags:
- - Os:
- cron_schedule: H H H/7 * *
- - Os_LTO:
- cron_schedule: H H H/7 * *
- - Oz:
- cron_schedule: H H H/7 * *
- - Oz_LTO:
- cron_schedule: H H H/7 * *
- - O2:
- cron_schedule: H H H/7 * *
- - O2_LTO:
- cron_schedule: H H H/7 * *
- - O3:
- cron_schedule: H H H/7 * *
- - O3_LTO:
- cron_schedule: H H H/7 * *
- - Os-vs-Os_LTO:
- cron_schedule: H H H * *
- - O2-vs-O2_LTO:
- cron_schedule: H H H * *
- - O3-vs-O3_LTO:
- cron_schedule: H H H * *
- - O3_VECT:
- cron_schedule: H H H/7 * *
- - O3_LTO_VECT:
- cron_schedule: H H H/7 * *
- jobs:
- - 'tcwg_bmk_ci_gnu-build-tcwg_bmk_{hw}-gnu-{toolchain_ver}-{target}-{bmk}-{cflags}'
- - 'tcwg_bmk_ci_gnu-bisect-tcwg_bmk_{hw}-gnu-{toolchain_ver}-{target}-{bmk}-{cflags}'
- exclude:
- - toolchain_name: gnu
- cflags: Oz
- - toolchain_name: gnu
- cflags: Oz_LTO
- - toolchain_name: gnu_eabi
- cflags: Oz
- - toolchain_name: gnu_eabi
- cflags: Oz_LTO
- - toolchain_name: llvm
- cflags: Os-vs-Os_LTO
- - toolchain_name: llvm
- cflags: O2-vs-O2_LTO
- - toolchain_name: llvm
- cflags: O3-vs-O3_LTO
- - toolchain_name: llvm
- cflags: O3_VECT
- - toolchain_name: llvm
- cflags: O3_LTO_VECT
-
-- view:
- name: tcwg_bmk_ci_gnu
- view-type: list
- regex: 'tcwg_bmk_ci_gnu-.*'
-
-#BEGIN: tcwg/round-robin.yaml.inc
-# -*- mode: Yaml -*-
-
-#BEGIN: tcwg/default.yaml.inc
-# -*- mode: Yaml -*-
-
-- property:
- name: default-properties
- properties:
- - authorization:
- tcwg-benchmark:
- - job-read
- - job-extended-read
- - job-build
- - job-cancel
- - build-discarder:
- days-to-keep: 30
- num-to-keep: 30
-
-- 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
-
-- scm:
- name: bmk-scripts
- scm:
- - git:
- url: https://git.linaro.org/toolchain/bmk-scripts.git
- refspec: +refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*
- branches:
- - $bmk_branch
- basedir: bmk-scripts
- skip-tag: true
- reference-repo: /home/tcwg-buildslave/snapshots-ref/bmk-scripts.git
- wipe-workspace: false
- clean:
- before: true
- prune: true
-#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: '{distro}'
- description: 'Distro image to use'
- - string:
- name: scripts_branch
- default: master
- description: 'Scripts revision to use'
- - string:
- name: bmk_branch
- default: master
- description: 'Benchmark scripts revision to use'
-
-- 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}'
- - component-parameters:
- component: glibc
- url: '{glibc_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}'
- distro: '{distro}'
-
-# Beware: git branch names need the 'refs/heads/' prefix while tags
-# need 'refs/tags/'.
-- scm:
- name: component-scm
- scm:
- - git:
- url: '{url}'
- branches:
- - '{branch}'
- basedir: '{component}'
- skip-tag: true
- reference-repo: '/home/tcwg-buildslave/snapshots-ref/{reference}'
- wipe-workspace: false
- clean:
- before: true
- prune: true
-
-# SCMs must start with jenkins-scripts and then be ordered alphabetically.
-# Same alphabetical order must be followed in .def files. The reason behind
-# this is that jenkins sets $GIT_COMMIT to sha1 of jenkins-scripts, and then
-# sets $GIT_COMMIT_1, $GIT_COMMIT_2, etc. to sha1s of component SCM /in the
-# order that they are declared here/.
-- scm:
- name: build-scms
- scm:
- - jenkins-scripts
- - component-scm:
- component: binutils
- url: '{binutils_url}'
- branch: '{binutils_branch}'
- reference: binutils-gdb.git
- - component-scm:
- component: gcc
- url: '{gcc_url}'
- branch: '{gcc_branch}'
- reference: gcc.git
- - component-scm:
- component: glibc
- url: '{glibc_url}'
- branch: '{glibc_branch}'
- reference: glibc.git
- - bmk-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
- echo "bmk_branch=$bmk_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 \
- --ssh_info true \
- -- \
- ./jenkins-scripts/{build_script} \
- %% artifacts/jenkins/manifest.sh \
- ==rr[ci_project] $ci_project \
- ==rr[ci_config] $ci_config \
- $extra_build_params \
- --bmk_branch "$bmk_branch" \
- --scripts_branch "$scripts_branch" \
- $branch_opt \
- ==rr[mode] "jenkins-full" \
- ==rr[update_baseline] "$update_baseline" \
- --BUILD_URL "$BUILD_URL" &
- res=0 && wait $! || res=$?
-
- # If we didn't run the docker command
- if [ -n "$dryruncmd" ]; then
- # Mark build unstable aka a skipped config
- exit 125
- 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-trigger-bisect"
- fi
- echo "$build_name" > artifacts/jenkins/build-name
- unstable-return: 125
- - 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}'
- distro: '{distro}'
-
-- 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 "christophe.lyon@linaro.org" > artifacts/jenkins/mail-recipients.txt
- echo "Build $BUILD_URL failed" > artifacts/jenkins/mail-body.txt
-
- ./jenkins-scripts/docker-run.sh \
- --distro $distro \
- --ssh_info true \
- -- \
- ./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" \
- -- \
- ==rr[ci_project] $ci_project \
- ==rr[ci_config] $ci_config \
- $extra_build_params \
- --bmk_branch "$bmk_branch" \
- --scripts_branch "$scripts_branch"
-
- 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_bmk_ci_gnu-build-tcwg_bmk_{hw}-gnu-{toolchain_ver}-{target}-{bmk}-{cflags}
- project-type: freestyle
- defaults: global
- properties:
- - default-properties
- - build-blocker:
- blocking-jobs:
- - "tcwg_bmk_dev_.*-tcwg_bmk_{hw}"
- - "tcwg_bmk_ci_gnu-bisect-tcwg_bmk_{hw}-gnu-{toolchain_ver}-{target}-{bmk}-{cflags}"
- queue-scanning: 'ALL'
- parameters:
- - build-parameters:
- ci_project: 'tcwg_bmk_{hw}'
- ci_config: 'gnu-{toolchain_ver}-{target}-{bmk}-{cflags}'
- binutils_url: '{binutils_url}'
- gcc_url: '{gcc_url}'
- glibc_url: '{glibc_url}'
- default_branch: default
- distro: '{distro}'
- disabled: false
- node: '{node}'
- concurrent: false
- display-name: 'TCWG Build tcwg_bmk_{hw}/gnu-{toolchain_ver}-{target}-{bmk}-{cflags}'
- workspace: workspace/tcwg_bmk_$EXECUTOR_NUMBER
- scm:
- - build-scms:
- binutils_url: '{binutils_url}'
- binutils_branch: '{binutils_branch}'
- gcc_url: '{gcc_url}'
- gcc_branch: '{gcc_branch}'
- glibc_url: '{glibc_url}'
- glibc_branch: '{glibc_branch}'
- triggers:
- - pollscm:
- cron: '{cron_schedule}'
- wrappers:
- - build-wrappers:
- timeout: 600
- builders:
- - run-build:
- build_script: 'tcwg_bmk-build.sh'
- components: '{components}'
- rr_project: 'tcwg_bmk_ci_gnu'
- ci_project_config: 'tcwg_bmk_{hw}-gnu-{toolchain_ver}-{target}-{bmk}-{cflags}'
- publishers:
- - build-publishers
-
-- job-template:
- name: tcwg_bmk_ci_gnu-bisect-tcwg_bmk_{hw}-gnu-{toolchain_ver}-{target}-{bmk}-{cflags}
- 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_bmk_dev_.*-tcwg_bmk_{hw}"
- - "tcwg_bmk_ci_.*-bisect-tcwg_bmk_{hw}-.*"
- queue-scanning: 'BUILDABLE'
- parameters:
- - bisect-parameters:
- ci_project: 'tcwg_bmk_{hw}'
- ci_config: 'gnu-{toolchain_ver}-{target}-{bmk}-{cflags}'
- distro: '{distro}'
- disabled: false
- node: '{node}'
- concurrent: false
- display-name: 'TCWG Bisect tcwg_bmk_{hw}/gnu-{toolchain_ver}-{target}-{bmk}-{cflags}'
- workspace: workspace/tcwg_bmk_$EXECUTOR_NUMBER
- scm:
- - jenkins-scripts
- - bmk-scripts
- wrappers:
- - bisect-wrappers:
- timeout: 2880
- builders:
- - run-bisect:
- build_script: 'tcwg_bmk-build.sh'
- rr_project: 'tcwg_bmk_ci_gnu'
- ci_project_config: 'tcwg_bmk_{hw}-gnu-{toolchain_ver}-{target}-{bmk}-{cflags}'
- publishers:
- - bisect-publishers
-# checksum: 0d0bc83d8d6ac1a5839dde45275a89b2