- job: name: openembedded-armv8-ilp32 project-type: matrix defaults: global properties: - authorization: anonymous: - job-read - job-extended-read - job-workspace linaro: - job-build - job-cancel - build-discarder: days-to-keep: 30 num-to-keep: 30 parameters: - string: name: PUB_DEST default: 'openembedded/images/${rootfs}-armv8-ilp32-gcc-${gcc_version}/${MACHINE}/${BUILD_NUMBER}' - string: name: LAVA_SERVER default: 'validation.linaro.org/RPC2/' disabled: false node: build display-name: 'OpenEmbedded ARMv8 ILP32' scm: - git: url: https://git.linaro.org/openembedded/jenkins-setup.git refspec: +refs/heads/master:refs/remotes/origin/master name: origin branches: - refs/heads/master skip-tag: true shallow-clone: true wipe-workspace: false axes: - axis: type: slave name: label values: - build - axis: type: user-defined name: gcc_version values: - 7.1 - axis: type: user-defined name: rootfs values: - minimal - minimal-initramfs - minimal-ltp - axis: type: user-defined name: MACHINE values: - 'hikey-ilp32' execution-strategy: sequential: true touchstone: expr: 'rootfs=="minimal"' wrappers: - timestamps - matrix-tie-parent: node: build builders: - shell: | #!/bin/bash set -ex export PATH="$HOME/bin:$PATH" # we clean build and populate it from cache bash -x pre-build-do-cleanup.sh if [ `date +%u` = "6" ] && [ "${rootfs}" = "minimal" ] then echo "manual hard cleanup on day 6" bash periodic-cleanup.sh hard fi # temporary clean-up for glibc find /mnt/ci_build/workspace/sstate-cache -type f -name "sstate:*:*:*:*:aarch64_ilp32:*" -exec rm -f {} + || true # verbose kernel, add resize-helper cat << EOF >> local-init-env.sh init_env echo 'CMDLINE_remove = "quiet"' >> conf/local.conf echo 'IMAGE_INSTALL_append = " 96boards-tools"' >> conf/local.conf EOF # do a build bash -x init-and-build.sh -a armv8 -g ${gcc_version} -i "source ./local-init-env.sh" linaro-image-${rootfs} cd ${WORKSPACE} bash -x post-build-create-image-manifest.sh bash -x post-build-sort-out-downloads.sh # Capture what we're building in the build output. repo manifest -r - linaro-publish-token - shell: | #!/bin/bash set -ex # Create sparse image # Only the LTP image is sent to LAVA, hence it is the only one # needing a sparse image to be published. if [ "${rootfs}" = "minimal-ltp" ]; then cd out/ rootfsext=$(ls -1 linaro-image-${rootfs}-${MACHINE}-*.rootfs.ext4.gz) gunzip -k ${rootfsext} sudo ext2simg -v ${rootfsext%.gz} ${rootfsext%.ext4.gz}.img rm -f ${rootfsext%.gz} gzip -9 ${rootfsext%.ext4.gz}.img cd - fi # Publish test -d ${HOME}/bin || mkdir ${HOME}/bin wget -q 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/ ${PUB_DEST} - conditional-step: condition-kind: strings-match condition-string1: '${ENV,var="rootfs"}' condition-string2: 'minimal-ltp' steps: - shell: | #!/bin/bash -x rm -rf configs git clone --depth 1 http://git.linaro.org/ci/job/configs.git export DEVICE_TYPE=hi6220-hikey export BOOT_URL=${PUBLISH_SERVER}/${PUB_DEST}/$(ls out/boot-0.0*.img | xargs basename) export SYSTEM_URL=${PUBLISH_SERVER}/${PUB_DEST}/$(ls out/linaro-image-${rootfs}-${MACHINE}-*.rootfs.img.gz | xargs basename) export TESTNAME=syscalls cat << EOF | python > custom_lava_job_definition.yaml import os fh = open("configs/openembedded-armv8/lava-job-definitions/${DEVICE_TYPE}/master-template-ltp.yaml", "r") print os.path.expandvars(fh.read()) fh.close() EOF cat << EOF > post_build_lava_parameters DEVICE_TYPE=${DEVICE_TYPE} CUSTOM_YAML_URL=${JOB_URL}/ws/custom_lava_job_definition.yaml LAVA_SERVER=${LAVA_SERVER} EOF - trigger-builds: - project: 'post-build-lava' property-file: post_build_lava_parameters block: true publishers: - email: recipients: 'fathi.boudra@linaro.org koen.kooi@linaro.org daniel.diaz@linaro.org'