aboutsummaryrefslogtreecommitdiff
path: root/lkft-android-common-gateway.yaml
blob: 29cdea0cb9bbf1f12afdc4e58c6831eda0b7affd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
- 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: 300
    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}'
        - 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"
            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
            else
                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}"

                case "X${KERNEL_BRANCH}" in
                    "Xandroid12-5.4")
                        cp -fv "${params}" lkft-${KERNEL_BRANCH}-x15.txt
                        echo "ANDROID_BUILD_CONFIG=lkft-x15-aosp-master-5.4" >> lkft-${KERNEL_BRANCH}-x15.txt
                        ;;
                    "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
                        ;;
                    "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}" >>${f_gki_kernel}

                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-android12-5.4-x15.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'