- job: name: openembedded-lkft-developer-ci-${DEVELOPER_JOB_NAME} project-type: matrix defaults: global properties: - authorization: anonymous: - job-read - job-extended-read - job-workspace linaro: - job-read - job-extended-read - job-build - job-cancel - build-discarder: days-to-keep: 30 num-to-keep: 30 artifact-num-to-keep: 1 parameters: - string: name: KERNEL_BRANCH default: '${KERNEL_BRANCH}' - string: name: KERNEL_VERSION default: '' - string: name: KERNEL_RECIPE default: 'linux-generic' - string: name: KERNEL_REPO default: '${KERNEL_REPO}' - string: name: KERNEL_DESCRIBE - string: name: SRCREV_kernel - string: name: MAKE_KERNELVERSION - string: name: IMAGES default: 'rpb-console-image-lkft' - string: name: MANIFEST_URL default: 'https://github.com/96boards/oe-rpb-manifest.git' - string: name: MANIFEST_BRANCH default: 'lkft/rocko' - string: name: PUB_DEST default: 'openembedded/lkft/${MANIFEST_BRANCH}/${MACHINE}/${DISTRO}/${DEVELOPER_JOB_NAME}/${BUILD_NUMBER}' - string: name: LAVA_SERVER default: 'https://lkft.validation.linaro.org/RPC2/' - string: name: QA_SERVER default: 'https://staging-qa-reports.linaro.org' - string: name: QA_SERVER_PROJECT default: '${QA_SERVER_PROJECT}' - string: name: SKIP_LAVA default: '' - string: name: LAVA_JOB_PRIORITY default: '75' - string: name: SANITY_LAVA_JOB_PRIORITY default: '80' - string: name: KSELFTEST_PATH default: '/opt/kselftests/default-in-kernel/' - matrix-combinations: name: MATRIX_COMBINATIONS disabled: false node: master display-name: 'Develepor CI setup for ${DEVELOPER_JOB_NAME} (OpenEmbedded/rocko)' axes: - axis: type: user-defined name: MACHINE values: - 'am57xx-evm' - 'dragonboard-410c' - 'hikey' - 'intel-core2-32' - 'intel-corei7-64' - 'juno' - axis: type: user-defined name: DISTRO values: - lkft - axis: type: slave name: label values: - docker-lkft execution-strategy: sequential: false wrappers: - timeout: timeout: 180 - timestamps - ssh-agent-credentials: users: - 'OE_COMMIT_BOT_KEY' - credentials-binding: - text: credential-id: QA_REPORTS_TOKEN variable: QA_REPORTS_TOKEN builders: - shell: | #!/bin/bash # Mapping for MACHINE -> DEVICE_TYPE case "${MACHINE}" in hikey) DEVICE_TYPE=hi6220-hikey [ -z "${KERNEL_CONFIG}" ] && KERNEL_CONFIG=defconfig ;; intel-core2-32) DEVICE_TYPE=i386 [ -z "${KERNEL_CONFIG}" ] && KERNEL_CONFIG=i386_defconfig ;; intel-corei7-64) DEVICE_TYPE=x86 [ -z "${KERNEL_CONFIG}" ] && KERNEL_CONFIG=x86_64_defconfig ;; juno) DEVICE_TYPE=juno-r2 [ -z "${KERNEL_CONFIG}" ] && KERNEL_CONFIG=defconfig ;; am57xx-evm) DEVICE_TYPE=x15 [ -z "${KERNEL_CONFIG}" ] && KERNEL_CONFIG=multi_v7_defconfig ;; dragonboard-410c) DEVICE_TYPE=dragonboard-410c [ -z "${KERNEL_CONFIG}" ] && KERNEL_CONFIG=defconfig ;; esac # Convert Git repo to Bitbake's Git URI format kernel_repo=$(echo ${KERNEL_REPO} | sed -e 's#\(ssh://\|https\?://\)#git://#') # Determine Git connection protocol to use kernel_protocol=$(echo ${KERNEL_REPO} | grep -o '.*://' | sed -e 's#://##') pwd cat << EOF > ${WORKSPACE}/custom-kernel-info.inc.tmp KERNEL_COMMIT = "${SRCREV_kernel}" KERNEL_REPO = "${KERNEL_REPO/http*:/git:}" KERNEL_PROTOCOL = "${kernel_protocol}" KERNEL_CONFIG_aarch64 = "${KERNEL_CONFIG}" KERNEL_CONFIG_arm = "${KERNEL_CONFIG}" KERNEL_CONFIG_x86-64 = "${KERNEL_CONFIG}" KERNEL_CONFIG_x86 = "${KERNEL_CONFIG}" EOF cat ${WORKSPACE}/custom-kernel-info.inc.tmp echo "DEVICE_TYPE=${DEVICE_TYPE}" > device_type_parameters echo "KERNEL_CONFIG=${KERNEL_CONFIG}" >> device_type_parameters echo "#${BUILD_NUMBER}-${SRCREV_kernel:0:8}" > ${WORKSPACE}/version.txt - build-name-setter: name: 'version.txt' file: true - inject: properties-file: device_type_parameters - shell: !include-raw: openembedded-lkft/builders.sh - inject: properties-file: post_build_lava_parameters - linaro-publish-token - shell: !include-raw: openembedded-lkft/publishers.sh - shell: !include-raw: openembedded-lkft/submit_for_testing.sh publishers: - groovy-postbuild: script: !include-raw: - rpb-openembedded/postbuild.groovy - openembedded-lkft/postbuild.groovy - email-ext: recipients: '${EMAIL_ADDRESS}' matrix-trigger: only-configurations aborted: true subject: '[CI] ${MACHINE}: ${KERNEL_BRANCH} {{SRCREV_kernel}} ${BUILD_STATUS}' body: | Build URL: ${PROJECT_URL}${BUILD_NUMBER}/ Full log: ${PROJECT_URL}${BUILD_NUMBER}/consoleText Parsed warnings/errors: ${PROJECT_URL}${BUILD_NUMBER}/parsed_console Git branch: ${KERNEL_BRANCH} Git URL: ${KERNEL_REPO} Git commit: ${SRCREV_kernel} Errors: ${BUILD_LOG_REGEX, regex="^ERROR:.* ", linesBefore=0, linesAfter=0, showTruncatedLines=false} presend-script: !include-raw: openembedded-lkft/presend-script.groovy