- job: name: linux-leg 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: '/private/team/linaro/leg-kernel/' - string: name: DEVICE_TYPE default: 'rtsm_fvp_base-aemv8a' - string: name: LAVA_SERVER default: 'validation.linaro.org/RPC2/' - string: name: INITRD_URL default: 'http://releases.linaro.org/14.12/openembedded/images/minimal-initramfs-armv8/linaro-image-minimal-initramfs-genericarmv8-20141212-729.rootfs.cpio.gz' - string: name: BL1_URL default: 'http://releases.linaro.org/15.05/components/kernel/uefi-linaro/release/fvp-base-armbds/bl1.bin' - string: name: FIP_URL default: 'http://releases.linaro.org/15.05/components/kernel/uefi-linaro/release/fvp-base-armbds/fip.bin' disabled: true node: build child-workspace: . display-name: 'LEG Kernel' scm: - git: url: git://git.linaro.org/leg/acpi/leg-kernel.git refspec: +refs/heads/leg-kernel:refs/remotes/origin/leg-kernel name: origin branches: - refs/heads/leg-kernel skip-tag: true shallow-clone: true wipe-workspace: false axes: - axis: type: user-defined name: hwpack values: - vexpress64 - axis: type: slave name: label values: - docker-xenial-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 lci-build-tools rm -rf builddir* rm -rf out } 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 python-requests python-beautifulsoup python-html2text export LANG=C export make_install=true export hwpack_type=vexpress64 export board_types=${DEVICE_TYPE} export kernel_flavour=vexpress64 export use_config_fragment=1 export conf_filenames="linaro/configs/linaro-base.conf linaro/configs/vexpress64.conf linaro/configs/distribution.conf linaro/configs/acpi.conf linaro/configs/efi.conf" export MAKE_DTBS=true export ARCH=arm64 export tcbindir="${HOME}/srv/toolchain/arm64-tc-15.11/bin" export toolchain_url="https://releases.linaro.org/components/toolchain/binaries/5.2-2015.11-2/aarch64-linux-gnu/gcc-linaro-5.2-2015.11-2-x86_64_aarch64-linux-gnu.tar.xz" export rootfs_arch=armv8 export rootfs_type=lamp test -d lci-build-tools || git clone https://git.linaro.org/git/ci/lci-build-tools.git lci-build-tools bash lci-build-tools/jenkins_kernel_build_inst # Get rootfs rm -f linaro-image-${rootfs_type}-generic*.tar.gz export ROOTFS_BUILD_NUMBER=`wget -q --no-check-certificate -O - https://ci.linaro.org/jenkins/job/openembedded-${rootfs_arch}-rootfs/gcc_version=5.2,label=build,rootfs=${rootfs_type}/lastSuccessfulBuild/buildNumber` export ROOTFS_BUILD_TIMESTAMP=`wget -q --no-check-certificate -O - https://ci.linaro.org/jenkins/job/openembedded-${rootfs_arch}-rootfs/gcc_version=5.2,label=build,rootfs=${rootfs_type}/lastSuccessfulBuild/buildTimestamp?format=yyyyMMdd` export ROOTFS_BUILD_URL="http://snapshots.linaro.org/openembedded/images/${rootfs_type}-${rootfs_arch}-gcc-5.2/${ROOTFS_BUILD_NUMBER}/linaro-image-${rootfs_type}-generic${rootfs_arch}-${ROOTFS_BUILD_TIMESTAMP}-${ROOTFS_BUILD_NUMBER}.rootfs.tar.gz" wget --progress=dot -e dotbytes=2M ${ROOTFS_BUILD_URL} # Create pre-built image(s) linaro-media-create --dev fastmodel --output-directory ${WORKSPACE} --image-size 2G --binary linaro-image-${rootfs_type}-generic${rootfs_arch}-${ROOTFS_BUILD_TIMESTAMP}-${ROOTFS_BUILD_NUMBER}.rootfs.tar.gz --hwpack hwpack_linaro-${hwpack_type}*.tar.gz --hwpack-force # Compress image(s) mv sd.img ${hwpack}-leg-sd.img gzip -9 ${hwpack}-leg-sd.img mv hwpack_* out/ mv ${hwpack}-leg-sd.img.gz out/ mv *.bin out/ cat << EOF > out/startup.nsh Image console=ttyAMA0 earlycon=pl011,0x1c090000 root=/dev/vda2 rootwait rootfstype=ext4 rw verbose debug uefi_debug ignore_loglevel acpi=force EOF # 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-leg-${hwpack}/${BUILD_NUMBER} cat << EOF > lava_job_definition_parameters IMAGE_URL=http://snapshots.linaro.org/kernel-hwpack/linux-leg-${hwpack}/${BUILD_NUMBER}/${hwpack}-leg-sd.img.gz STARTUP_NSH=http://snapshots.linaro.org/kernel-hwpack/linux-leg-${hwpack}/${BUILD_NUMBER}/startup.nsh EOF - inject: properties-file: lava_job_definition_parameters - shell: | rm -rf configs git clone --depth 1 http://git.linaro.org/ci/job/configs.git sed -e "s|\${BUILD_NUMBER}|${BUILD_NUMBER}|" \ -e "s|\${BUILD_URL}|${BUILD_URL}|" \ -e "s|\${BUNDLE_STREAM_NAME}|${BUNDLE_STREAM_NAME}|" \ -e "s|\${BL1_URL}|${BL1_URL}|" \ -e "s|\${FIP_URL}|${FIP_URL}|" \ -e "s|\${INITRD_URL}|${INITRD_URL}|" \ -e "s|\${STARTUP_NSH}|${STARTUP_NSH}|" \ -e "s|\${DEVICE_TYPE}|${DEVICE_TYPE}|" \ -e "s|\${GIT_BRANCH}|${GIT_BRANCH}|" \ -e "s|\${GIT_COMMIT}|${GIT_COMMIT}|" \ -e "s|\${GIT_URL}|${GIT_URL}|" \ -e "s|\${IMAGE_URL}|${IMAGE_URL}|" \ -e "s|\${LAVA_SERVER}|${LAVA_SERVER}|" \ < configs/linux-leg/lava-job-definitions/${DEVICE_TYPE}/template.json \ > custom_lava_job_definition.json 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} EOF - trigger-builds: - project: 'post-build-lava' property-file: post_build_lava_parameters block: true - shell: | sed -e "s|\${BUILD_NUMBER}|${BUILD_NUMBER}|" \ -e "s|\${BUILD_URL}|${BUILD_URL}|" \ -e "s|\${BUNDLE_STREAM_NAME}|${BUNDLE_STREAM_NAME}|" \ -e "s|\${BL1_URL}|${BL1_URL}|" \ -e "s|\${FIP_URL}|${FIP_URL}|" \ -e "s|\${INITRD_URL}|${INITRD_URL}|" \ -e "s|\${STARTUP_NSH}|${STARTUP_NSH}|" \ -e "s|\${DEVICE_TYPE}|${DEVICE_TYPE}|" \ -e "s|\${GIT_BRANCH}|${GIT_BRANCH}|" \ -e "s|\${GIT_COMMIT}|${GIT_COMMIT}|" \ -e "s|\${GIT_URL}|${GIT_URL}|" \ -e "s|\${IMAGE_URL}|${IMAGE_URL}|" \ -e "s|\${LAVA_SERVER}|${LAVA_SERVER}|" \ < configs/linux-leg/lava-job-definitions/${DEVICE_TYPE}/template-grub-install.json \ > custom_lava_job_definition_grub_install.json cat << EOF > post_build_lava_parameters_grub_install DEVICE_TYPE=${DEVICE_TYPE} BUNDLE_STREAM_NAME=${BUNDLE_STREAM_NAME} CUSTOM_JSON_URL=${JOB_URL}/ws/custom_lava_job_definition_grub_install.json LAVA_SERVER=${LAVA_SERVER} EOF - trigger-builds: - project: 'post-build-lava' property-file: post_build_lava_parameters_grub_install block: true - shell: | sed -e "s|\${BUILD_NUMBER}|${BUILD_NUMBER}|" \ -e "s|\${BUILD_URL}|${BUILD_URL}|" \ -e "s|\${BUNDLE_STREAM_NAME}|${BUNDLE_STREAM_NAME}|" \ -e "s|\${BL1_URL}|${BL1_URL}|" \ -e "s|\${FIP_URL}|${FIP_URL}|" \ -e "s|\${INITRD_URL}|${INITRD_URL}|" \ -e "s|\${STARTUP_NSH}|${STARTUP_NSH}|" \ -e "s|\${DEVICE_TYPE}|${DEVICE_TYPE}|" \ -e "s|\${GIT_BRANCH}|${GIT_BRANCH}|" \ -e "s|\${GIT_COMMIT}|${GIT_COMMIT}|" \ -e "s|\${GIT_URL}|${GIT_URL}|" \ -e "s|\${IMAGE_URL}|${IMAGE_URL}|" \ -e "s|\${LAVA_SERVER}|${LAVA_SERVER}|" \ < configs/linux-leg/lava-job-definitions/${DEVICE_TYPE}/template-acpi.json \ > custom_lava_job_definition_acpi.json cat << EOF > post_build_lava_parameters_acpi DEVICE_TYPE=${DEVICE_TYPE} BUNDLE_STREAM_NAME=${BUNDLE_STREAM_NAME} CUSTOM_JSON_URL=${JOB_URL}/ws/custom_lava_job_definition_acpi.json LAVA_SERVER=${LAVA_SERVER} EOF - trigger-builds: - project: 'post-build-lava' property-file: post_build_lava_parameters_acpi block: true publishers: - email: recipients: 'graeme.gregory@linaro.org fathi.boudra@linaro.org'