aboutsummaryrefslogtreecommitdiff
path: root/tcwg-gnu-patch-benchmarking.yaml
diff options
context:
space:
mode:
authorYvan Roux <yvan.roux@linaro.org>2018-03-06 13:51:29 +0100
committerYvan Roux <yvan.roux@linaro.org>2018-03-06 12:54:48 +0000
commitd4b32e9a4db865c6ed3c8f7da8a1654fb2fa517a (patch)
tree2e3e80bcd4af1052562c9b13548e93a7e44b5d1a /tcwg-gnu-patch-benchmarking.yaml
parent8947964b14154aef9e063296ab5f93c8c4224a2b (diff)
downloadconfigs-d4b32e9a4db865c6ed3c8f7da8a1654fb2fa517a.tar.gz
tcwg-gnu-patch-benchmarking: New job.
Still experimental. Change-Id: I3829dca8a7b9b913cb70e7a8a07a973735be3200
Diffstat (limited to 'tcwg-gnu-patch-benchmarking.yaml')
-rw-r--r--tcwg-gnu-patch-benchmarking.yaml218
1 files changed, 218 insertions, 0 deletions
diff --git a/tcwg-gnu-patch-benchmarking.yaml b/tcwg-gnu-patch-benchmarking.yaml
new file mode 100644
index 000000000..0d90513dc
--- /dev/null
+++ b/tcwg-gnu-patch-benchmarking.yaml
@@ -0,0 +1,218 @@
+- job:
+ name: tcwg-gnu-patch-benchmarking
+ project-type: matrix
+ defaults: global
+ properties:
+ - authorization:
+ linaro:
+ - job-read
+ - job-extended-read
+ - job-build
+ - job-cancel
+ - build-discarder:
+ days-to-keep: 30
+ num-to-keep: 100
+ parameters:
+ - string:
+ name: GERRIT_PATCHSET_REVISION
+ default: refs/remotes/origin/linaro/gcc-7-branch
+ description: 'Patched GCC revision'
+ - string:
+ name: GERRIT_BRANCH
+ default: linaro-local/gcc-7-integration-branch
+ description: 'Base GCC branch'
+ - string:
+ name: gcc_orig
+ default: gcc_patch_prev
+ description: 'Original GCC revision'
+ - string:
+ name: abe_branch
+ default: refs/remotes/origin/tested
+ description: 'ABE revision to use'
+ - string:
+ name: target_list
+ default: 'aarch64-linux-gnu arm-linux-gnueabihf'
+ description: 'List of targets'
+ - string:
+ name: extension_list
+ default: 'O2g'
+ description: 'List of build profiles: O2, O3, O2g, O3g, Ofast, Os'
+ - text:
+ name: buildfarm_params
+ default: |
+ host_x86_64_languages=c,c++,fortran
+ host_aarchXX_languages=c,c++,fortran
+ runtests=
+ try_bootstrap=false
+ host_x86_64_excludecheck=gdb
+ host_aarchXX_excludecheck=gdb
+ extraconfig=
+ rebuild=false
+ dont_fail=false
+ log_server=dev-01.tcwglab:logs
+ scripts_branch=master
+ build_container_tag=trusty
+ tarbin=true
+ description: 'Buildfarm parameters, see tcwg-buildfarm job'
+ - text:
+ name: benchmark_params
+ default: |
+ bench_list=bzip2
+ cflags=
+ testmode=verify
+ iterations=1
+ sysroot=tarball
+ fileserver=dev-01.tcwglab
+ forceinstall=false
+ run_profile=parallel3x3
+ scripts_branch=master
+ bmk_branch=master
+ description: 'Benchmark parameters, see tcwg-benchmark job'
+ disabled: false
+ node: tcwg-bmk-coordinator
+ concurrent: true
+ display-name: 'TCWG ZZZ GNU Patch Benchmarking'
+ scm:
+ - git:
+ url: https://git-us.linaro.org/toolchain/gcc.git
+ refspec: +refs/changes/*:refs/remotes/changes/*
+ basedir: gcc
+ branches:
+ - ${GERRIT_PATCHSET_REVISION}
+ skip-tag: true
+ wipe-workspace: false
+ reference-repo: /home/tcwg-buildslave/snapshots-ref/gcc.git
+ choosing-strategy: gerrit
+ - git:
+ url: https://git-us.linaro.org/toolchain/abe.git
+ refspec: +refs/changes/*:refs/remotes/changes/*
+ basedir: abe
+ branches:
+ - $abe_branch
+ skip-tag: true
+ shallow-clone: true
+ wipe-workspace: true
+ axes:
+ - axis:
+ type: slave
+ name: label
+ values:
+ - tcwg-coordinator
+ - axis:
+ type: dynamic
+ name: target
+ values:
+ - target_list
+ - axis:
+ type: dynamic
+ name: extension
+ values:
+ - extension_list
+ execution-strategy:
+ sequential: false
+ wrappers:
+ - timeout:
+ timeout: 600
+ - timestamps
+ - ssh-agent-credentials:
+ users:
+ - 'tcwg-benchmark'
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -ex
+
+ # Gather revisions to build.
+ abe_rev=$(git -C abe rev-parse --short $abe_branch)
+ gcc_patch_rev=$(git -C gcc rev-parse $GERRIT_PATCHSET_REVISION)
+ if [ x"$gcc_orig" = x"gcc_patch_prev" ]; then
+ gcc_orig="$gcc_patch_rev^"
+ fi
+ gcc_orig_rev=$(git -C gcc rev-parse $gcc_orig)
+
+ # Get matching config.
+ case ${GERRIT_BRANCH} in
+ *gcc-4_9*)
+ toolchainconf='--extraconfigdir ../config/gcc4_9'
+ ;;
+ *gcc-5*)
+ toolchainconf='--extraconfigdir ../config/gcc5'
+ ;;
+ *gcc-6*)
+ toolchainconf='--extraconfigdir ../config/gcc6'
+ ;;
+ *gcc-7*)
+ toolchainconf='--extraconfigdir ../config/gcc7'
+ ;;
+ *)
+ toolchainconf='--extraconfigdir ../config/gcc7 binutils=binutils-gdb.git/master glibc=glibc.git~master newlib=newlib.git~master'
+ ;;
+ esac
+ cat > gcc_orig_params <<EOF
+ override=$toolchainconf gcc=gcc.git@$gcc_orig_rev
+ log_name=tcwg-gnu-patch-benchmarking-$gcc_orig_rev/$abe_rev/\$builder_type.\$target
+ target_list=$target
+ abe_branch=$abe_rev
+ displaytag=gnu-patch-benchmarking-ref-${GERRIT_CHANGE_NUMBER}
+ EOF
+ echo "$buildfarm_params" >> gcc_orig_params
+
+ cat > gcc_patch_params <<EOF
+ override=$toolchainconf gcc=gcc.git@$gcc_patch_rev
+ log_name=tcwg-gnu-patch-benchmarking-$gcc_orig_patch/$abe_rev/\$builder_type.\$target
+ target_list=$target
+ abe_branch=$abe_rev
+ displaytag=gnu-patch-benchmarking-patch-${GERRIT_CHANGE_NUMBER}
+ EOF
+ echo "$buildfarm_params" >> gcc_orig_params
+ - trigger-builds:
+ - project: 'tcwg-buildfarm'
+ parameter-factories:
+ - factory: filebuild
+ file-pattern: gcc_*_parameters
+ block: true
+ - shell: |
+ #!/bin/bash
+ set -ex
+
+ # Extract triggered build numbers from comma separated list
+ bf_buildnum=(${TRIGGERED_BUILD_NUMBERS_tcwg-buildfarm//,/ })
+ - copyartifact:
+ project: tcwg-buildfarm
+ filter: 'artifacts/gcc-linaro*.tar.xz'
+ target: ref-tools
+ which-build: specific-build
+ build-number: ${bf_buildnum[0]}
+ - copyartifact:
+ project: tcwg-buildfarm
+ filter: 'artifacts/gcc-linaro*.tar.xz'
+ target: patch-tools
+ which-build: specific-build
+ build-number: ${bf_buildnum[1]}
+ - shell: |
+ #!/bin/bash
+ set -ex
+
+ # Note that armv8l-linux-gnueabihf will not match "arm-"*, and will run on tx1.
+ case "$target" in
+ "arm-"*) board="tk1" ;;
+ *) board="tx1" ;;
+ esac
+
+ cat > ref_params <<EOF
+ toolchain_url=http://$NODE_NAME:$PWD/ref_tools/gcc-linaro*.tar.xz
+ target_list=$board
+ extension=$extension
+ EOF
+ echo "$benchmark_params" >> ref_params
+ echo "-- Reference parameters"
+ cat ref_params
+
+ cat > patch_params <<EOF
+ toolchain_url=http://$NODE_NAME:$PWD/patch_tools/gcc-linaro*.tar.xz
+ target_list=$board
+ extension=$extension
+ EOF
+ echo "$benchmark_params" >> patch_params
+ echo "-- Reference parameters"
+ cat ref_params