- job: name: lkft-android-common-gateway project-type: freestyle defaults: global properties: - authorization: anonymous: - job-read - job-extended-read linaro: - job-build - job-cancel - build-discarder: days-to-keep: 180 num-to-keep: 400 parameters: - string: name: CALLER_JOB_NAME - string: name: CALLER_BUILD_NUMBER - string: name: KERNEL_DESCRIBE - string: name: KERNEL_BRANCH - string: name: SRCREV_kernel - string: name: MAKE_KERNELVERSION - string: name: IGNORE_KERNELVERSION_CHECK default: "false" disabled: false node: triggers display-name: 'Gateway for changes on android common kernels' wrappers: - timestamps - build-name: name: '#${BUILD_NUMBER}-${KERNEL_DESCRIBE}-${KERNEL_BRANCH}-${PROPFILE,file="prop_triggered_or_ignored",property="TRIGGERED_OR_IGNORED"}' - ssh-agent-credentials: users: - 'CI_BOT_SSH_KEY' builders: - shell: | #!/bin/bash -ex # clean the property files for the builds that to be triggered rm -f "all-kernels.txt" "api_callbacks_properties.txt" "lkft-android12-5.4-x15.txt" "lkft-android-mainline-x15.txt" "lkft-android-mainline-hikey.txt" rm -f "prop_triggered_or_ignored" skip_build=false if [ "X${IGNORE_KERNELVERSION_CHECK}X" == "XfalseX" ]; then ssh-keyscan -p 29418 android-review.linaro.org >> ~/.ssh/known_hosts git config --global user.name "Linaro CI" git config --global user.email "ci-bot@linaro.org" rm -fr android-build-kernel-versions git clone -b lkft ssh://ci-bot@android-review.linaro.org:29418/android-build-kernel-versions android-build-kernel-versions set +e ./android-build-kernel-versions/get-update.sh "${KERNEL_BRANCH}" "${MAKE_KERNELVERSION}" lkft check_status=$? if [ ${check_status} -eq 1 ]; then skip_build=true fi set -e fi if ${skip_build}; then # create the fake file for the inject following touch api_callbacks_properties.txt echo "TRIGGERED_OR_IGNORED=ignored" > prop_triggered_or_ignored else echo "TRIGGERED_OR_IGNORED=triggered" > prop_triggered_or_ignored params="lkft-${KERNEL_BRANCH}.txt" echo "KERNEL_DESCRIBE=${KERNEL_DESCRIBE}" >> "${params}" echo "SRCREV_kernel=${SRCREV_kernel}" >> "${params}" echo "MAKE_KERNELVERSION=${MAKE_KERNELVERSION}" >> "${params}" echo "KERNEL_BRANCH=${KERNEL_BRANCH}" >> "${params}" cat "${params}" KERNEL_BRANCH_REAL="${KERNEL_BRANCH}" ANDROID_BUILD_CONFIG_TO_BE_TRIGGERED="" TEST_OTHER_PLANS_OVERRIDE="" case "X${KERNEL_BRANCH}" in "Xandroid-mainline") cp -fv "${params}" "lkft-${KERNEL_BRANCH}-x15.txt" echo "ANDROID_BUILD_CONFIG=lkft-x15-aosp-master-mainline" >> "lkft-${KERNEL_BRANCH}-x15.txt" cp -fv "${params}" "lkft-${KERNEL_BRANCH}-hikey.txt" echo "ANDROID_BUILD_CONFIG=lkft-hikey-aosp-master-mainline-gki" >> "lkft-${KERNEL_BRANCH}-hikey.txt" ;; "Xandroid11-5.4-presubmit") KERNEL_BRANCH_REAL="android11-5.4" ANDROID_BUILD_CONFIG_TO_BE_TRIGGERED="lkft-db845c-android11-android11-5.4-gki" TEST_OTHER_PLANS_OVERRIDE="CTS_PRESUBMIT" ;; "Xandroid12-5.4-presubmit") KERNEL_BRANCH_REAL="android12-5.4" ANDROID_BUILD_CONFIG_TO_BE_TRIGGERED="lkft-member-wrapper" TEST_OTHER_PLANS_OVERRIDE="CTS_PRESUBMIT" ;; "Xandroid12-5.10-presubmit") KERNEL_BRANCH_REAL="android12-5.10" ANDROID_BUILD_CONFIG_TO_BE_TRIGGERED="lkft-member-wrapper" TEST_OTHER_PLANS_OVERRIDE="CTS_PRESUBMIT" ;; "Xandroid13-5.10-presubmit") KERNEL_BRANCH_REAL="android13-5.10" ANDROID_BUILD_CONFIG_TO_BE_TRIGGERED="lkft-db845c-aosp-master-android13-5.10-gki" TEST_OTHER_PLANS_OVERRIDE="CTS_PRESUBMIT" ;; "X*") echo "No particular build for this branch: ${KERNEL_BRANCH}" ;; esac # generate files for the api callback build and gki build QA_BUILD_VERSION="${KERNEL_DESCRIBE}" f_gki_kernel="all-kernels.txt" cp -fv "${params}" "${f_gki_kernel}" echo "QA_BUILD_VERSION=${QA_BUILD_VERSION}" >> "${f_gki_kernel}" echo "ANDROID_BUILD_CONFIG=lkft-gki-${KERNEL_BRANCH_REAL}" >> "${f_gki_kernel}" if [ -n "${ANDROID_BUILD_CONFIG_TO_BE_TRIGGERED}" ]; then echo "ANDROID_BUILD_CONFIG_TO_BE_TRIGGERED=${ANDROID_BUILD_CONFIG_TO_BE_TRIGGERED}" >> "${f_gki_kernel}" fi if [ -n "${TEST_OTHER_PLANS_OVERRIDE}" ]; then echo "TEST_OTHER_PLANS_OVERRIDE=${TEST_OTHER_PLANS_OVERRIDE}" >> "${f_gki_kernel}" fi f_api_callbacks_prop="api_callbacks_properties.txt" cp -fv "${f_gki_kernel}" "${f_api_callbacks_prop}" [ -z "${CALLER_JOB_NAME}" ] && CALLER_JOB_NAME="${JOB_NAME}" [ -z "${CALLER_BUILD_NUMBER}" ] && CALLER_BUILD_NUMBER="${BUILD_NUMBER}" echo "CALLER_JOB_NAME=${CALLER_JOB_NAME}" >> "${f_api_callbacks_prop}" echo "CALLER_BUILD_NUMBER=${CALLER_BUILD_NUMBER}" >>"${f_api_callbacks_prop}" fi - inject: properties-file: api_callbacks_properties.txt - shell: !include-raw: - lkft/common/api-callbacks.sh - trigger-builds: - project: lkft-gki-kernel property-file: all-kernels.txt - project: lkft-generic-omap-build property-file: lkft-android-mainline-x15.txt - project: lkft-generic-build property-file: lkft-android-mainline-hikey.txt publishers: - email: recipients: 'yongqin.liu@linaro.org'