- job: name: linux-lng-v4.1-rt-pre-merge 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-pre-merge/' - 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 - pre-merge (linux-linaro-lng-v4.1-rt-test)' scm: - git: url: git://git.linaro.org/kernel/linux-linaro-lng.git refspec: +refs/heads/linux-linaro-lng-v4.1-rt-test:refs/remotes/origin/linux-linaro-lng-v4.1-rt-test name: origin branches: - refs/heads/linux-linaro-lng-v4.1-rt-test 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-utopic 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/no_hz_full.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/no_hz_full.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/preempt-rt.conf linaro/configs/ovs.conf linaro/configs/kvm-host.conf linaro/configs/no_hz_full.conf linaro/configs/x86.conf" export MAKE_DTBS=false export ARCH="x86" export DEVICE_TYPE="x86" cat << EOF > linaro/configs/x86.conf CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y CONFIG_E1000E=y CONFIG_IXGBE=y EOF ;; vexpress64) export board_types="lng-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/no_hz_full.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" cat << EOF > startup.nsh fs3:\Image dtb=juno\juno.dtb console=ttyAMA0,115200 earlyprintk=pl011,0x7ff80000 root=/dev/sda5 rootwait rootfstype=ext4 rw verbose debug uefi_debug ignore_loglevel EOF ;; 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/no_hz_full.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 if [ "${hwpack}" = "x86_64" ]; then mkdir -p out 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) linaro-hwpack-create --debug linaro-${hwpack} ${VERSION} linaro-hwpack-replace -t `ls hwpack_linaro-*_supported.tar.gz` -p `ls linux-image-*-linaro-*.deb|head -1` -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}" = "vexpress64" ] && mv startup.nsh out/ [[ "${hwpack}" != "mustang" && "${hwpack}" != "x86_64" ]] && mv hwpack_linaro-${hwpack}* out/ KERNEL_URL="http://snapshots.linaro.org/kernel-hwpack/linux-linaro-lng-v4.1-rt-pre-merge/${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)" STARTUP_NSH="${KERNEL_URL}/startup.nsh" CCACHE_DIR=${CCACHE_DIR} ccache -M 30G CCACHE_DIR=${CCACHE_DIR} ccache -s # 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} STARTUP_NSH=${STARTUP_NSH} 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) 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" ;; esac ./lci-build-tools/yaml-to-json.py configs/linux-lng-v4.1-rt-pre-merge/lava-job-definitions/${DEVICE_TYPE}/template.yaml > out/lava/template.json ./lci-build-tools/yaml-to-json.py configs/linux-lng-v4.1-rt-pre-merge/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-pre-merge/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-pre-merge/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-pre-merge/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-pre-merge/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-pre-merge/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-pre-merge/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 \ --link-latest \ out kernel-hwpack/linux-linaro-lng-v4.1-rt-pre-merge/${hwpack}/${BUILD_NUMBER} publishers: - warnings: console-log-parsers: - 'GNU C Compiler 4 (gcc)' - trigger: project: 'linux-lng-v4.1-rt-pre-merge-test-definitions' - email: recipients: 'lng-ci@lists.linaro.org'