- job: name: linux-eas project-type: matrix defaults: global logrotate: daysToKeep: 30 numToKeep: 30 properties: - authorization: anonymous: - job-read - job-extended-read - job-workspace parameters: - file: name: defconfig.properties - string: name: BUNDLE_STREAM_NAME default: '/public/team/linaro/eas/' - string: name: LAVA_SERVER default: 'validation.linaro.org/RPC2/' - string: name: ROOTFS_BUILD_URL default: 'http://releases.linaro.org/14.12/openembedded/images/minimal-armv7a/linaro-image-minimal-genericarmv7a-20141212-311.rootfs.tar.gz' disabled: false node: build child-workspace: . display-name: 'Linux EAS' scm: - git: url: http://git.linaro.org/kernel/eas-backports.git refspec: +refs/heads/eas-test:refs/remotes/origin/eas-test name: origin branches: - refs/heads/eas-test skip-tag: true shallow-clone: true wipe-workspace: false axes: - axis: type: user-defined name: ARCH values: - arm - axis: type: dynamic name: defconfig values: - defconfig_list - axis: type: slave name: label values: - build execution-strategy: combination-filter: | (ARCH=="arm" && defconfig!="defconfig") || (ARCH=="arm64" && defconfig=="defconfig") sequential: true wrappers: - timestamps - copy-to-slave: includes: - gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz - 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 -rf out } export LANG=C CCACHE_DIR="$HOME/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_silent=false export make_deb=true export make_bootwrapper=false export make_install=true export kernel_flavour="${defconfig}" export kernel_config="${defconfig}_defconfig" export MAKE_DTBS=true export toolchain_url="http://releases.linaro.org/14.09/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz" case "${defconfig}" in omap2plus) export hwpack_type="panda" export kernel_flavour="omap" export DEVICE_TYPE="panda-es" unset kernel_config export use_config_fragment=1 export conf_filenames="arch/arm/configs/${defconfig}_defconfig linaro/configs/workaround.conf" # XXX workaround omap2plus defconfig mkdir -p linaro/configs cat << EOF > linaro/configs/workaround.conf CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y EOF ;; vexpress) export hwpack_type="vexpress" export kernel_flavour="vexpress" export DEVICE_TYPE="vexpress-tc2" unset kernel_config export use_config_fragment=1 export conf_filenames="arch/arm/configs/${defconfig}_defconfig linaro/configs/workaround.conf" # XXX workaround vexpress defconfig mkdir -p linaro/configs cat << EOF > linaro/configs/workaround.conf CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y CONFIG_REGULATOR=y CONFIG_REGULATOR_VEXPRESS=y CONFIG_EXT4_FS=y EOF ;; esac test -d lci-build-tools || git clone --depth 1 https://git.linaro.org/git/ci/lci-build-tools.git lci-build-tools bash lci-build-tools/jenkins_kernel_build_inst [ "${defconfig}" = "omap2plus" ] && mkimage -A arm -O linux -C none -T kernel -a 0x80008000 -e 0x80008000 -n Linux -d out/zImage out/uImage mv hwpack_linaro-${hwpack_type}* out/ # Publish to snapshots ${HOME}/bin/linaro-cp --api_version 3 out kernel-hwpack/linux-eas/${defconfig}/${BUILD_NUMBER} CCACHE_DIR=${CCACHE_DIR} ccache -M 30G CCACHE_DIR=${CCACHE_DIR} ccache -s KERNEL_URL=http://snapshots.linaro.org/kernel-hwpack/linux-eas/${defconfig}/${BUILD_NUMBER} DTB_URL=${KERNEL_URL}/dtbs HWPACK_BUILD_URL=${KERNEL_URL}/`ls out/hwpack_linaro-${hwpack_type}_*_armhf_supported.tar.gz |xargs basename` cat << EOF > post_build_lava_parameters DEVICE_TYPE=${DEVICE_TYPE} BUNDLE_STREAM_NAME=${BUNDLE_STREAM_NAME} CUSTOM_JSON_URL=${JOB_URL}/ws/custom_lava_job_definition.json LAVA_SERVER=${LAVA_SERVER} KERNEL_URL=${KERNEL_URL} DTB_URL=${DTB_URL} HWPACK_BUILD_URL=${HWPACK_BUILD_URL} EOF - inject: properties-file: post_build_lava_parameters - shell: | git clone --depth 1 http://git.linaro.org/ci/job/configs.git ./lci-build-tools/yaml-to-json.py configs/linux-eas/lava-job-definitions/${DEVICE_TYPE}/template.yaml > custom_lava_job_definition.json rm -rf lci-build-tools rm -rf configs - trigger-builds: - project: 'post-build-lava' property-file: post_build_lava_parameters block: true publishers: - email: recipients: 'alex.shi@linaro.org fathi.boudra@linaro.org'