diff options
author | Yvan Roux <yvan.roux@linaro.org> | 2018-03-06 13:51:29 +0100 |
---|---|---|
committer | Yvan Roux <yvan.roux@linaro.org> | 2018-03-06 12:54:48 +0000 |
commit | d4b32e9a4db865c6ed3c8f7da8a1654fb2fa517a (patch) | |
tree | 2e3e80bcd4af1052562c9b13548e93a7e44b5d1a | |
parent | 8947964b14154aef9e063296ab5f93c8c4224a2b (diff) |
tcwg-gnu-patch-benchmarking: New job.
Still experimental.
Change-Id: I3829dca8a7b9b913cb70e7a8a07a973735be3200
-rw-r--r-- | tcwg-gnu-patch-benchmarking.yaml | 218 |
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 0000000000..0d90513dc3 --- /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 |