aboutsummaryrefslogtreecommitdiff
path: root/lkft-member-build-gitlab.yaml
blob: dab747126a341952ef734884dc957238f6457263 (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
- job:
    name: lkft-member-build-gitlab
    project-type: freestyle
    defaults: global
    properties:
        - authorization:
            anonymous:
                - job-discover
            android-internal:
                - job-read
                - job-extended-read
                - job-build
                - job-cancel
        - build-discarder:
            days-to-keep: 180
            num-to-keep: 450
            artifact-num-to-keep: 1
    parameters:
        - string:
            name: ANDROID_BUILD_CONFIG_REPO_URL
            default: ssh://git@dev-private-git.linaro.org/android-internal/android-build-configs.git
        - string:
            name: SNAPSHOT_SITE_BUILD_INFO_URL
            default: "https://git.linaro.org/ci/job/configs.git/blob_plain/HEAD:/lkft/common/build-info/member.txt"
        - string:
            name: SNAPAHOT_SITE_ROOT
            default: "android/lkft/protected"
        - string:
            name: BUILD_DIR
            default: lkft
        - string:
            name: ANDROID_BUILD_CONFIG
            default: ''
        - string:
            name: KERNEL_DESCRIBE
        - string:
            name: KERNEL_BRANCH
        - string:
            name: SRCREV_kernel
        - string:
            name: BUILD_REFERENCE_IMAGE_GZ_URL
        - string:
            name: MAKE_KERNELVERSION
        - string:
            name: TEST_OTHER_PLANS_OVERRIDE
            default: ""
        - string:
            name: GITLAB_CALLBACK_URL
            default: ""
    disabled: false
    node: docker-bionic-android-lkft
    display-name: 'Generic CI Job for member lkft builds with the gitlab setup'
    concurrent: true
    wrappers:
        - timestamps
        - build-name:
            name: '#${BUILD_NUMBER}-${KERNEL_DESCRIBE}-${KERNEL_BRANCH}-${ANDROID_BUILD_CONFIG}'
        - timeout:
            timeout: 500
        - credentials-binding:
            - text:
                credential-id: ARTIFACTORIAL_TOKEN
                variable: ARTIFACTORIAL_TOKEN
            - text:
                credential-id: GITLAB_API_LKFT_TOKEN
                variable: GITLAB_API_TOKEN
        - ssh-agent-credentials:
            users:
               - '768c1ba1-6052-4b97-a531-7e4fabda6979'
    builders:
        - shell:
            !include-raw: lkft/common/builders-v2.sh
        - linaro-publish-token
        - shell:
            !include-raw: lkft/common/publisher-v2.sh
        - shell: |
            #!/bin/bash -ex
            env

            PUB_DEST="${SNAPAHOT_SITE_ROOT}/${JOB_NAME}/${BUILD_NUMBER}"
            DOWNLOAD_URL="http://snapshots.linaro.org/${PUB_DEST}"

            f_build_json="build.json"
            cat >"${f_build_json}" <<__EOF__
            {
                "BUILD_URL": "${BUILD_URL}",
                "BUILD_NUMBER": "${BUILD_NUMBER}",
                "JOB_URL": "${JOB_URL}",
                "DOWNLOAD_URL": "${DOWNLOAD_URL}",
                "ANDROID_BUILD_CONFIG_TO_BE_TRIGGERED": "${ANDROID_BUILD_CONFIG_TO_BE_TRIGGERED}",
                "ANDROID_BUILD_CONFIG": "${ANDROID_BUILD_CONFIG}",
                "TEST_OTHER_PLANS_OVERRIDE": "${TEST_OTHER_PLANS_OVERRIDE}",
                "BUILD_REFERENCE_IMAGE_GZ_URL": "${BUILD_REFERENCE_IMAGE_GZ_URL}",
                "KERNEL_DESCRIBE": "${KERNEL_DESCRIBE}",
                "KERNEL_BRANCH": "${KERNEL_BRANCH}",
                "SRCREV_kernel": "${SRCREV_kernel}",
                "MAKE_KERNELVERSION": "${MAKE_KERNELVERSION}"
            }
            __EOF__

    publishers:
        - postbuildscript:
           builders:
             - role: SLAVE
               build-on:
                 - SUCCESS
                 - UNSTABLE
                 - FAILURE
                 - NOT_BUILT
                 - ABORTED
               build-steps:
                 - shell: |
                    #!/bin/bash -ex
                    # call gitlab api to notify the gitlab pipeline side that the build is finished successfully or not
                    # only when the GITLAB_API_TOKEN and GITLAB_CALLBACK_URL are available
                    if [ -n "${GITLAB_API_TOKEN}" ] && [ -n "${GITLAB_CALLBACK_URL}" ]; then
                        curl --request POST --header "PRIVATE-TOKEN: ${GITLAB_API_TOKEN}" "${GITLAB_CALLBACK_URL}"
                    fi
        - archive:
            artifacts: '*.xml,*.json,*.txt'
            latest-only: true
        - email:
            recipients: 'lkft-maintainers@linaro.org'