- job: name: linux-lng-v4.1-rt project-type: matrix defaults: global logrotate: daysToKeep: 30 numToKeep: 30 properties: - authorization: anonymous: - job-read - job-extended-read - job-workspace parameters: - string: name: BUNDLE_STREAM_NAME default: '/public/team/linaro/ci-linux-lng-v4.1-rt/' - string: name: LAVA_SERVER default: 'lng.validation.linaro.org/RPC2/' disabled: false node: build retry-count: 3 child-workspace: . display-name: 'Linaro Networking Group Kernel (linux-linaro-lng-v4.1-rt)' scm: - git: url: https://git.linaro.org/kernel/linux-linaro-lng.git refspec: +refs/heads/linux-linaro-lng-v4.1-rt:refs/remotes/origin/linux-linaro-lng-v4.1-rt name: origin branches: - refs/heads/linux-linaro-lng-v4.1-rt skip-tag: true shallow-clone: true reference-repo: '${HOME}/srv/mirror/linux-linaro-lng' wipe-workspace: false axes: - axis: type: user-defined name: hwpack values: - arndale - arndale-be # - x86_64 - vexpress64 # - vexpress64-be - axis: type: slave name: label values: - docker-jessie-amd64 execution-strategy: sequential: true wrappers: - timestamps - build-name: name: '#${BUILD_NUMBER}-${GIT_REVISION,length=8}' - matrix-tie-parent: node: build builders: - linaro-publish-token - shell: | #!/bin/bash set -ex trap cleanup_exit INT TERM EXIT cleanup_exit() { cd ${WORKSPACE} rm -rf builddir* rm -f hwpack_linaro-* *.deb } sudo sed -i -e 's/archive.ubuntu.com\|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list sudo apt-get update sudo apt-get install -y ccache python-beautifulsoup python-html2text python-pycurl # FIXME - temporary workaround sudo wget https://git.linaro.org/ci/linaro-image-tools.git/blob_plain/HEAD:/linaro-hwpack-install -O /usr/bin/linaro-hwpack-install sudo chmod +x /usr/bin/linaro-hwpack-install export LANG=C CCACHE_DIR="${HOME}/srv/ccache" CCACHE_UNIFY=1 CCACHE_SLOPPINESS=file_macro,include_file_mtime,time_macros export CCACHE_DIR CCACHE_UNIFY CCACHE_SLOPPINESS export use_ccache=true export make_install=true export use_config_fragment=1 export MAKE_DTBS=true export tcbindir="${HOME}/srv/toolchain/arm-tc-15.02/bin" export toolchain_url="http://releases.linaro.org/15.02/components/toolchain/binaries/arm-linux-gnueabihf/gcc-linaro-4.9-2015.02-3-x86_64_arm-linux-gnueabihf.tar.xz" case "${hwpack}" in arndale) export board_types="lng-arndale" export kernel_flavour="arndale" export conf_filenames="linaro/configs/linaro-base.conf linaro/configs/distribution.conf linaro/configs/hugepage.conf linaro/configs/preemption.conf linaro/configs/ovs.conf linaro/configs/kvm-host.conf linaro/configs/kvm-guest.conf linaro/configs/no_hz_full.conf linaro/configs/netns.conf linaro/configs/preempt-rt.conf linaro/configs/arndale.conf" export DEVICE_TYPE="arndale" ;; arndale-be) export board_types="lng-arndale" export kernel_flavour="arndale-be" export conf_filenames="linaro/configs/linaro-base.conf linaro/configs/distribution.conf linaro/configs/hugepage.conf linaro/configs/preemption.conf linaro/configs/ovs.conf linaro/configs/kvm-host.conf linaro/configs/kvm-guest.conf linaro/configs/no_hz_full.conf linaro/configs/netns.conf linaro/configs/preempt-rt.conf linaro/configs/arndale.conf linaro/configs/bigendian.conf" export DEVICE_TYPE="arndale" ;; x86_64) export board_types="lng-x86" export kernel_flavour="x86-64" export conf_filenames="arch/x86/configs/x86_64_defconfig linaro/configs/hugepage.conf linaro/configs/ovs.conf linaro/configs/kvm-host.conf linaro/configs/kvm-guest.conf linaro/configs/no_hz_full.conf linaro/configs/netns.conf linaro/configs/preempt-rt.conf linaro/configs/x86.conf" export MAKE_DTBS=false export ARCH="x86_64" export DEVICE_TYPE="x86" ;; vexpress64) export board_types="juno" export kernel_flavour="vexpress64" export conf_filenames="arch/arm64/configs/defconfig linaro/configs/linaro-base.conf linaro/configs/distribution.conf linaro/configs/hugepage.conf linaro/configs/preemption.conf linaro/configs/ovs.conf linaro/configs/kvm-host.conf linaro/configs/kvm-guest.conf linaro/configs/no_hz_full.conf linaro/configs/netns.conf linaro/configs/preempt-rt.conf linaro/configs/vexpress64.conf" export DEVICE_TYPE="juno" export ARCH="arm64" export tcbindir="${HOME}/srv/toolchain/arm64-tc-15.02/bin" export toolchain_url="http://releases.linaro.org/15.02/components/toolchain/binaries/aarch64-linux-gnu/gcc-linaro-4.9-2015.02-3-x86_64_aarch64-linux-gnu.tar.xz" ;; vexpress64-be) export board_types="rtsm_fvp_base-aemv8a" export kernel_flavour="vexpress64-be" export conf_filenames="arch/arm64/configs/defconfig linaro/configs/linaro-base.conf linaro/configs/distribution.conf linaro/configs/hugepage.conf linaro/configs/preemption.conf linaro/configs/ovs.conf linaro/configs/kvm-host.conf linaro/configs/kvm-guest.conf linaro/configs/no_hz_full.conf linaro/configs/netns.conf linaro/configs/preempt-rt.conf linaro/configs/vexpress64.conf linaro/configs/bigendian.conf" export DEVICE_TYPE="rtsm_fvp_base-aemv8a" export ARCH="arm64" export toolchain_url="http://releases.linaro.org/15.02/components/toolchain/binaries/aarch64-linux-gnu/gcc-linaro-4.9-2015.02-3-x86_64_aarch64-linux-gnu.tar.xz" cat << EOF > linaro/configs/bigendian.conf CONFIG_CPU_BIG_ENDIAN=y CONFIG_CPU_ENDIAN_BE8=y # CONFIG_VIRTUALIZATION is not set # CONFIG_MMC_DW_IDMAC is not set # CONFIG_VIRTIO is not set # CONFIG_VIRTIO_BLK is not set # CONFIG_VIRTIO_MMIO is not set EOF ;; esac rm -rf configs lci-build-tools git clone --depth 1 http://git.linaro.org/ci/lci-build-tools.git git clone --depth 1 http://git.linaro.org/ci/job/configs.git bash -x lci-build-tools/jenkins_kernel_build_inst mkdir -p out cp linux*orig.tar.gz out/ cp linux-headers-*.deb out/ if [ "${hwpack}" = "x86_64" ]; then cp linux-*.deb out/ cp builddir-*-linaro-${kernel_flavour}/arch/${hwpack}/boot/bzImage out/bzImage-${kernel_flavour} fi cp -a configs/linux-lng/hwpacks/linaro-* . VERSION=`date +%Y%m%d`-${BUILD_NUMBER} # Create the hardware pack case "${hwpack}" in arndale|arndale-be|vexpress64) rm -f linux-image-*-linaro-*-dbg_*.deb linaro-hwpack-create --debug linaro-${hwpack} ${VERSION} linaro-hwpack-replace -t `ls hwpack_linaro-*_supported.tar.gz` -p `ls linux-image-*-linaro-*.deb` -r linux-image -d -i linaro-hwpack-replace -t `ls hwpack_linaro-*_supported.tar.gz` -p `ls linux-headers-*-linaro-*.deb` -r linux-headers -d -i ;; esac mkdir -p out/lava [[ "${hwpack}" != "mustang" && "${hwpack}" != "x86_64" ]] && mv hwpack_linaro-${hwpack}* out/ KERNEL_URL="http://snapshots.linaro.org/kernel-hwpack/linux-linaro-lng-v4.1-rt/${hwpack}/${BUILD_NUMBER}" DTB_URL=${KERNEL_URL}/dtbs [[ "${hwpack}" != "mustang" && "${hwpack}" != "x86_64" ]] && HWPACK_BUILD_URL="${KERNEL_URL}/$(ls out/hwpack_linaro-${hwpack}*.tar.gz |xargs basename)" CCACHE_DIR=${CCACHE_DIR} ccache -M 30G CCACHE_DIR=${CCACHE_DIR} ccache -s # Create overlay.tar.gz dpkg-deb -x linux-image-*.deb overlay dpkg-deb -x linux-headers-*.deb overlay tar -C overlay -acvf ${WORKSPACE}/out/overlay.tar.gz lib usr/src # Create post-build-lava parameters cat << EOF > post_build_lava_parameters DEVICE_TYPE=${DEVICE_TYPE} BUNDLE_STREAM_NAME=${BUNDLE_STREAM_NAME} LAVA_SERVER=${LAVA_SERVER} KERNEL_URL=${KERNEL_URL} DTB_URL=${DTB_URL} HWPACK_BUILD_URL=${HWPACK_BUILD_URL} hwpack_type=${hwpack} EOF - inject: properties-file: post_build_lava_parameters - shell: | #!/bin/bash set -ex trap cleanup_exit INT TERM EXIT cleanup_exit() { cd ${WORKSPACE} rm -rf out } # Generate LAVA job definitions case "${hwpack}" in arndale|x86_64|vexpress64) case "${hwpack}" in arndale) export ROOTFS_BUILD_NUMBER=335 export ROOTFS_BUILD_URL="http://releases.linaro.org/15.06/openembedded/images/lng-armv7a/linaro-image-lng-genericarmv7a-20150618-335.rootfs.tar.gz" ;; x86_64) export ROOTFS_BUILD_NUMBER=121 export ROOTFS_BUILD_URL="http://releases.linaro.org/15.06/openembedded/images/lng-x86/linaro-image-lng-qemux86-20150618-121.rootfs.cpio.gz" ;; vexpress64) export ROOTFS_BUILD_NUMBER=754 export ROOTFS_BUILD_URL="http://releases.linaro.org/15.06/openembedded/images/lng-armv8/linaro-image-lng-genericarmv8-20150618-754.rootfs.tar.gz" ;; esac ./lci-build-tools/yaml-to-json.py configs/linux-lng-v4.1-rt/lava-job-definitions/${DEVICE_TYPE}/template.yaml > out/lava/template.json ./lci-build-tools/yaml-to-json.py configs/linux-lng-v4.1-rt/lava-job-definitions/${DEVICE_TYPE}/template-base.yaml > out/lava/template-base.json ./lci-build-tools/yaml-to-json.py configs/linux-lng-v4.1-rt/lava-job-definitions/${DEVICE_TYPE}/template-benchmark.yaml > out/lava/template-benchmark.json ./lci-build-tools/yaml-to-json.py configs/linux-lng-v4.1-rt/lava-job-definitions/${DEVICE_TYPE}/template-cyclic.yaml > out/lava/template-cyclic.json ;; arndale-be) export ROOTFS_BUILD_NUMBER=291 export ROOTFS_BUILD_URL="http://releases.linaro.org/15.06/openembedded/images/lng-armv7ab/linaro-image-lng-genericarmv7ab-20150618-291.rootfs.tar.gz" ./lci-build-tools/yaml-to-json.py configs/linux-lng-v4.1-rt/lava-job-definitions/${DEVICE_TYPE}/template-be.yaml > out/lava/template-be.json ./lci-build-tools/yaml-to-json.py configs/linux-lng-v4.1-rt/lava-job-definitions/${DEVICE_TYPE}/template-be-base.yaml > out/lava/template-be-base.json ./lci-build-tools/yaml-to-json.py configs/linux-lng-v4.1-rt/lava-job-definitions/${DEVICE_TYPE}/template-be-benchmark.yaml > out/lava/template-be-benchmark.json ./lci-build-tools/yaml-to-json.py configs/linux-lng-v4.1-rt/lava-job-definitions/${DEVICE_TYPE}/template-be-cyclic.yaml > out/lava/template-be-cyclic.json ;; esac # Publish to snapshots test -d ${HOME}/bin || mkdir ${HOME}/bin wget https://git.linaro.org/ci/publishing-api.git/blob_plain/HEAD:/linaro-cp.py -O ${HOME}/bin/linaro-cp.py time python ${HOME}/bin/linaro-cp.py \ --api_version 3 \ --link-latest \ out kernel-hwpack/linux-linaro-lng-v4.1-rt/${hwpack}/${BUILD_NUMBER} publishers: - warnings: console-log-parsers: - 'GNU C Compiler 4 (gcc)' - trigger: project: 'linux-lng-v4.1-rt-test-definitions' - email: recipients: 'lng-ci@lists.linaro.org'