- job: name: linaro-edk2 project-type: freestyle defaults: global logrotate: daysToKeep: 30 numToKeep: 30 properties: - authorization: anonymous: - job-read - job-extended-read - job-workspace leif.lindholm@linaro.org: - job-read - job-extended-read - job-build - job-cancel parameters: - string: name: BUNDLE_STREAM_NAME default: '/private/team/linaro/leg-edk2/' - 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: PUB_DEST default: 'components/kernel/${JOB_NAME}/${BUILD_NUMBER}' - string: name: SCT default: '1' disabled: false node: build display-name: 'Linaro EDK II - UEFI Continuous Integration' scm: - git: url: http://git.linaro.org/git/uefi/linaro-edk2.git refspec: +refs/heads/release:refs/remotes/origin/release name: origin branches: - refs/heads/release basedir: linaro-edk2 skip-tag: true shallow-clone: true clean: true wipe-workspace: false triggers: - pollscm: 'H/5 * * * *' wrappers: - timestamps - ssh-agent-credentials: users: # PRIVATE_KEY user id - '768c1ba1-6052-4b97-a531-7e4fabda6979' - build-name: name: '#${BUILD_NUMBER}-${GIT_REVISION,length=8}' builders: - linaro-publish-token - shell: | #!/bin/bash set -ex trap cleanup_exit INT TERM EXIT cleanup_exit() { cd ${WORKSPACE} rm -rf uefi-ci uefi-tools rm -rf ${JOB_NAME}-build rm -rf out } # Use pre-installed linaro toolchain export PATH="${HOME}/srv/toolchain/arm-tc-15.02/bin:${HOME}/srv/toolchain/arm64-tc-15.02/bin:$PATH" git clone git://git.linaro.org/uefi/uefi-tools.git git clone git://git.linaro.org/ci/uefi.git uefi-ci bash -x uefi-ci/uefi.sh builddir=${WORKSPACE}/${JOB_NAME}-build outdir=${WORKSPACE}/out mkdir -p ${outdir} mv ${builddir}/* ${outdir}/ find ${outdir}/ -name '*QEMU_EFI.fd' -exec bash -c 'in=${1}; out=${in%fd}img; cat $in /dev/zero | dd iflag=fullblock bs=1M count=64 of=$out; gzip -9 $out' _ {} \; cat << EOF > out/startup-qemu-aarch64.nsh echo "The default boot selection will start in" Image console=ttyAMA0 root=/dev/vda2 rootwait rootfstype=ext4 rw verbose debug uefi_debug ignore_loglevel EOF cat > out/BUILD-INFO.txt << EOF Format-Version: 0.5 Files-Pattern: *.bin, *.fd, *.nsh, *.txt, QEMU_EFI.img.gz, edk2-*.tar.bz2 License-Type: open Files-Pattern: SctPackage* License-Type: protected Auth-Groups: uefi-maintainers EOF time python ${HOME}/bin/linaro-cp \ --api_version 3 \ --build-info out/BUILD-INFO.txt \ --link-latest \ out ${PUB_DEST} IMAGE_BUILD_NUMBER=`wget -q --no-check-certificate -O - https://ci.linaro.org/jenkins/job/linux-leg/lastSuccessfulBuild/buildNumber` cat << EOF > lava_job_definition_parameters IMAGE_URL=http://snapshots.linaro.org/kernel-hwpack/linux-leg-vexpress64/${IMAGE_BUILD_NUMBER}/vexpress64-leg-sd.img.gz STARTUP_NSH=http://snapshots.linaro.org/kernel-hwpack/linux-leg-vexpress64/${IMAGE_BUILD_NUMBER}/startup.nsh EOF - inject: properties-file: lava_job_definition_parameters - shell: | BL1_URL=https://snapshots.linaro.org/${PUB_DEST}/release/fvp-base-armbds/bl1.bin FIP_URL=https://snapshots.linaro.org/${PUB_DEST}/release/fvp-base-armbds/fip.bin 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/linaro-edk2/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: | BL1_URL=https://snapshots.linaro.org/${PUB_DEST}/release/fvp-base-armbds/bl1.bin FIP_URL=https://snapshots.linaro.org/${PUB_DEST}/release/fvp-base-armbds/fip.bin 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/linaro-edk2/lava-job-definitions/${DEVICE_TYPE}/template-startup-boot.json \ > custom_lava_job_definition_startup_boot.json cat << EOF > post_build_lava_parameters_startup_boot DEVICE_TYPE=${DEVICE_TYPE} BUNDLE_STREAM_NAME=${BUNDLE_STREAM_NAME} CUSTOM_JSON_URL=${JOB_URL}ws/custom_lava_job_definition_startup_boot.json LAVA_SERVER=${LAVA_SERVER} EOF - trigger-builds: - project: 'post-build-lava' property-file: post_build_lava_parameters_startup_boot block: true - shell: | BL1_URL=https://snapshots.linaro.org/${PUB_DEST}/release/fvp-base-armbds/bl1.bin FIP_URL=https://snapshots.linaro.org/${PUB_DEST}/release/fvp-base-armbds/fip.bin 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/linaro-edk2/lava-job-definitions/${DEVICE_TYPE}/template-menu-boot.json \ > custom_lava_job_definition_menu_boot.json cat << EOF > post_build_lava_parameters_menu_boot DEVICE_TYPE=${DEVICE_TYPE} BUNDLE_STREAM_NAME=${BUNDLE_STREAM_NAME} CUSTOM_JSON_URL=${JOB_URL}ws/custom_lava_job_definition_menu_boot.json LAVA_SERVER=${LAVA_SERVER} EOF - trigger-builds: - project: 'post-build-lava' property-file: post_build_lava_parameters_menu_boot block: true - shell: | BL1_URL=https://snapshots.linaro.org/${PUB_DEST}/release/fvp-base-armbds/bl1.bin FIP_URL=https://snapshots.linaro.org/${PUB_DEST}/release/fvp-base-armbds/fip.bin 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/linaro-edk2/lava-job-definitions/${DEVICE_TYPE}/template-menu-boot-with-initrd.json \ > custom_lava_job_definition_menu_boot_with_initrd.json cat << EOF > post_build_lava_parameters_menu_boot_with_initrd DEVICE_TYPE=${DEVICE_TYPE} BUNDLE_STREAM_NAME=${BUNDLE_STREAM_NAME} CUSTOM_JSON_URL=${JOB_URL}ws/custom_lava_job_definition_menu_boot_with_initrd.json LAVA_SERVER=${LAVA_SERVER} EOF - trigger-builds: - project: 'post-build-lava' property-file: post_build_lava_parameters_menu_boot_with_initrd block: true - shell: | DEVICE_TYPE=kvm QEMU_EFI_URL=https://snapshots.linaro.org/${PUB_DEST}/release/qemu64/QEMU_EFI.fd sed -e "s|\${BUILD_NUMBER}|${BUILD_NUMBER}|" \ -e "s|\${BUILD_URL}|${BUILD_URL}|" \ -e "s|\${BUNDLE_STREAM_NAME}|${BUNDLE_STREAM_NAME}|" \ -e "s|\${QEMU_EFI_URL}|${QEMU_EFI_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/linaro-edk2/lava-job-definitions/kvm/template-qemu-iscsi-in-kvm.json \ > custom_lava_job_definition_qemu_iscsi_in_kvm.json cat << EOF > post_build_lava_parameters_qemu_iscsi_in_kvm DEVICE_TYPE=${DEVICE_TYPE} BUNDLE_STREAM_NAME=${BUNDLE_STREAM_NAME} CUSTOM_JSON_URL=${JOB_URL}ws/custom_lava_job_definition_qemu_iscsi_in_kvm.json LAVA_SERVER=${LAVA_SERVER} EOF - trigger-builds: - project: 'post-build-lava' property-file: post_build_lava_parameters_qemu_iscsi_in_kvm block: true - shell: | DEVICE_TYPE=kvm QEMU_EFI_URL=https://snapshots.linaro.org/${PUB_DEST}/debug/qemu64/debug-QEMU_EFI.fd sed -e "s|\${BUILD_NUMBER}|${BUILD_NUMBER}|" \ -e "s|\${BUILD_URL}|${BUILD_URL}|" \ -e "s|\${BUNDLE_STREAM_NAME}|${BUNDLE_STREAM_NAME}|" \ -e "s|\${QEMU_EFI_URL}|${QEMU_EFI_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/linaro-edk2/lava-job-definitions/kvm/template-qemu-iscsi-in-kvm.json \ > custom_lava_job_definition_qemu_iscsi_in_kvm.json cat << EOF > post_build_lava_parameters_qemu_iscsi_in_kvm DEVICE_TYPE=${DEVICE_TYPE} BUNDLE_STREAM_NAME=${BUNDLE_STREAM_NAME} CUSTOM_JSON_URL=${JOB_URL}ws/custom_lava_job_definition_qemu_iscsi_in_kvm.json LAVA_SERVER=${LAVA_SERVER} EOF - trigger-builds: - project: 'post-build-lava' property-file: post_build_lava_parameters_qemu_iscsi_in_kvm block: true - shell: | DEVICE_TYPE=qemu-aarch64 QEMU_EFI_URL=https://snapshots.linaro.org/${PUB_DEST}/release/qemu64/QEMU_EFI.img.gz QEMU_PFLASH_URL=http://people.linaro.org/~fu.wei/LAVA/test/QEMU/flash1.uefishell.qemu.gz STARTUP_NSH=https://snapshots.linaro.org/${PUB_DEST}/startup-qemu-aarch64.nsh BUNDLE_STREAM_NAME=/anonymous/debug/ LAVA_SERVER=staging.validation.linaro.org/RPC2/ sed -e "s|\${BUILD_NUMBER}|${BUILD_NUMBER}|" \ -e "s|\${BUILD_URL}|${BUILD_URL}|" \ -e "s|\${BUNDLE_STREAM_NAME}|${BUNDLE_STREAM_NAME}|" \ -e "s|\${QEMU_EFI_URL}|${QEMU_EFI_URL}|" \ -e "s|\${QEMU_PFLASH_URL}|${QEMU_PFLASH_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/linaro-edk2/lava-job-definitions/qemu-aarch64/template.json \ > custom_lava_job_definition_qemu_aarch64_uefi.json cat << EOF > post_build_lava_parameters_qemu_aarch64_uefi DEVICE_TYPE=${DEVICE_TYPE} BUNDLE_STREAM_NAME=${BUNDLE_STREAM_NAME} CUSTOM_JSON_URL=${JOB_URL}ws/custom_lava_job_definition_qemu_aarch64_uefi.json LAVA_SERVER=${LAVA_SERVER} EOF - trigger-builds: - project: 'post-build-lava' property-file: post_build_lava_parameters_qemu_aarch64_uefi block: true publishers: - email: recipients: 'leif.lindholm@linaro.org fathi.boudra@linaro.org'