blob: 83f3e1b063a580efe26b44640a5fd8adc9dba923 [file] [log] [blame]
- job:
name: openembedded-armv8-ilp32
project-type: matrix
defaults: global
properties:
- authorization:
anonymous:
- job-read
- job-extended-read
- job-workspace
everyone-flat:
- 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 python3 ${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 daniel.diaz@linaro.org'