- job: name: tcwg-binutils-docker 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: binutils_rev default: 'refs/remotes/origin/master' description: 'binutils 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 arm-netbsdelf arm-none-eabi arm-none-nacl arm-none-symbianelf arm-vxworks arm-wince-pe armeb-linux-gnueabihf' description: 'List of targets to test' - string: name: container_type default: 'docker' description: 'Type of container to use: docker, schroot, none' disabled: false node: tcwg-x86_64-cam retry-count: 3 concurrent: true display-name: 'TCWG ZZZ Binutils Docker' scm: - git: url: https://git-us.linaro.org/toolchain/binutils-gdb.git refspec: +refs/heads/master:refs/remotes/origin/master branches: - ${binutils_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 - axis: type: user-defined name: bfd values: - --enable-64-bit-bfd=no - --enable-64-bit-bfd=yes - axis: type: user-defined name: host_arch values: - i386 - amd64 - axis: type: dynamic name: target values: - target_list 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="binutils_rev"}' builders: - shell: | #!/bin/bash #set -e set -x rm -rf container-scripts git clone http://git.linaro.org/people/christophe.lyon/container-scripts.git ./container-scripts/start-container-${container_type}.sh ${host_arch} trusty > container.sh # Define session_host and session_port, install trap . ./container.sh ${CONTAINER} 'echo "Build session is up; ulimit config:"; ulimit -a' case $target in arm-wince-pe) lto= ;; *) lto=--enable-lto ;; esac rm -rf build-$target || true mkdir -p build-$target cd build-$target result=0 jobs=$(getconf _NPROCESSORS_ONLN) echo BUILD STARTED $(date) echo label=${label} echo target=${target} echo bfd=${bfd} echo host=`hostname` uname -a lsb_release -a ${CONTAINER} 'echo host=`hostname`' ${CONTAINER} 'uname -a' ${CONTAINER} 'lsb_release -a' echo WORKSPACE: ${WORKSPACE} # If configure or build fails, the execution will stop # because of 'set -e'. But for 'make check' we want to # execute all the tests, and report if there were some # errors. ${CONTAINER} "cd ${PWD} && ../configure $lto --enable-plugins --disable-gprof --disable-gdb --disable-sim --disable-libdecnumber --disable-readline --prefix=`pwd`/install --target $target ${bfd}" ${CONTAINER} "cd ${PWD} && make all -j$jobs" ${CONTAINER} "cd ${PWD} && make check -j$jobs -k" || result=1 # 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) ;; *) ${CONTAINER} "cd ${PWD} && 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=${target} ${bfd}" ${CONTAINER} "cd ${PWD} && cd build-gdb && make all -j$jobs" ;; esac sums=`find . -name "*.sum"` set +x echo '############################################' echo 'See unexpected results below:' echo '############################################' [ x"$sums" != x ] && egrep '^FAIL:|^XPASS:' $sums || true echo '############################################' echo 'See ends of sumfiles below:' echo '############################################' [ x"$sums" != x ] && tail $sums echo BUILD FINISHED $(date) # Cleanup to save disk space cd .. du -sh build-$target rm -rf build-$target || true exit $result publishers: - email-ext: recipients: 'christophe.lyon@linaro.org' matrix-trigger: only-parent