diff options
author | Christophe Lyon <christophe.lyon@linaro.org> | 2018-02-01 08:52:55 +0000 |
---|---|---|
committer | Christophe Lyon <christophe.lyon@linaro.org> | 2018-02-01 08:52:55 +0000 |
commit | 28adce394f681c69d8f36b6d0828d6c1685e73cb (patch) | |
tree | aea7337a865e4c51fab78dd40881d3ce61453b32 /tcwg-gdb.yaml | |
parent | 7fe7e0a305f71f1828e4f760e752955e8ad348ac (diff) |
tcwg-gdb: New job, dedicated to build upstream gdb.
Change-Id: I1db1648b19a6409b8f14bf74e47171093f99c0af
Diffstat (limited to 'tcwg-gdb.yaml')
-rw-r--r-- | tcwg-gdb.yaml | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/tcwg-gdb.yaml b/tcwg-gdb.yaml new file mode 100644 index 00000000..9f250c26 --- /dev/null +++ b/tcwg-gdb.yaml @@ -0,0 +1,151 @@ +- job: + name: tcwg-gdb + project-type: matrix + defaults: global + properties: + - authorization: + anonymous: + - job-read + - job-extended-read + linaro: + - job-build + - job-cancel + - build-discarder: + days-to-keep: 30 + num-to-keep: 30 + parameters: + - string: + name: gdb_rev + default: 'refs/remotes/origin/master' + description: 'gdb revision to build' + - string: + name: target_list + default: 'aarch64-linux-gnu aarch64_be-linux-gnu aarch64-none-elf aarch64_be-none-elf arm-linux-gnueabi arm-linux-gnueabihf armv8l-linux-gnueabihf arm-netbsdelf arm-none-eabi arm-none-nacl arm-none-symbianelf arm-pe arm-vxworks arm-wince-pe armeb-linux-gnueabihf tcwg-x86_64-cam tcwg-x86_32-build tcwg-apm_64-build tcwg-apm_32-build tcwg-tk1_32-build' + description: 'List of targets to test' + - string: + name: bfd_list + default: '--enable-64-bit-bfd=no --enable-64-bit-bfd=yes' + description: 'Type of BFD to enable: --enable-64-bit-bfd=yes --enable-64-bit-bfd=no' + - string: + name: scripts_branch + default: master + description: 'Jenkins-scripts branch to use' + - bool: + name: dont_fail + default: false + description: 'Do not fail the build' + - string: + name: log_name + default: '${JOB_NAME}-${BUILD_NUMBER}/${builder_type}.$target.$bfd' + description: 'Logname directory on logserver' + - string: + name: log_server + default: dev-01.tcwglab:/home/tcwg-buildslave/logs + description: 'Log_Server' + disabled: false + node: tcwg-coordinator + retry-count: 3 + concurrent: true + display-name: 'TCWG BBB GDB' + scm: + - git: + url: https://git-us.linaro.org/toolchain/binutils-gdb.git + refspec: +refs/heads/master:refs/remotes/origin/master + branches: + - ${gdb_rev} + skip-tag: true + shallow-clone: false + reference-repo: /home/tcwg-buildslave/snapshots-ref/binutils-gdb.git + wipe-workspace: false + axes: + - axis: + type: slave + name: label + values: + - tcwg-x86_64-cam + - tcwg-x86_32-build + - tcwg-apm_64-build + - tcwg-apm_32-build + - tcwg-tk1_32-build + - axis: + type: dynamic + name: bfd + values: + - bfd_list + - axis: + type: dynamic + name: target + values: + - target_list + execution-strategy: + combination-filter: | + ((label==~/tcwg-x86_.*/) && ! (target==~/tcwg-.*/)) || (target==label) + sequential: false + wrappers: + - timeout: + timeout: 600 + - timestamps + - ssh-agent-credentials: + # tcwg-buildslave user id + users: + - 'e0958a95-204f-4c14-a66c-5e2be6c5d50a' + - build-name: + name: '#${BUILD_NUMBER}-${ENV,var="gdb_rev"}' + builders: + - shell: | + #!/bin/bash + + set -ex + + rm -rf jenkins-scripts + git clone -b $scripts_branch --depth 1 https://git-us.linaro.org/toolchain/jenkins-scripts + + ./jenkins-scripts/start-container-docker.sh --label $label --node $NODE_NAME --distro trusty --task build --prefix build_ > build-container.sh + . ./build-container.sh + BUILD_SHELL="build_container_exec bash" + $BUILD_SHELL -c "echo \"Build session is up; ulimit config:\"; ulimit -a" + + builder_type=$(print_type_for_label $label) + + # Remove container on exit + trap "build_container_cleanup" EXIT HUP INT QUIT TRAP KILL PIPE TERM + + case $target in + tcwg-*) target_opt="" ;; + *) target_opt="--target $target" ;; + esac + + rm -rf build-$target || true + mkdir -p build-$target + cd build-$target + result=0 + jobs=$(nproc --all) + echo BUILD STARTED $(date) + echo WORKSPACE: ${WORKSPACE} + + # For the moment, only build gdb (do not run the tests). + # Do this in a different subdir. + # GDB is no longer supported on arm-vxworks + case ${target} in + arm-vxworks) ;; + *) + ${BUILD_SHELL} -c "mkdir build-gdb && cd build-gdb && ../../configure --with-gnu-ld --enable-plugins --enable-tui --disable-gas --disable-binutils --disable-ld --disable-gold --disable-gprof $target_opt ${bfd}" + ${BUILD_SHELL} -c "cd build-gdb && make all -j$jobs" + ;; + esac + + echo BUILD FINISHED $(date) + + # Cleanup to save disk space + cd .. + du -sh build-$target + rm -rf build-$target || true + + if $dont_fail; then + result="0" + fi + exit $result + publishers: + - email-ext: + recipients: 'christophe.lyon@linaro.org,yao.qi@linaro.org' + matrix-trigger: only-parent |