aboutsummaryrefslogtreecommitdiff
path: root/lkft-lava-staging-oe.yaml
blob: faaa21ecf4a0e1e4e95d425d7c21f5c27ff5c617 (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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
- job:
    name: lkft-lava-staging-oe
    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
    disabled: false
    node: master
    display-name: 'LKFT - LAVA staging submit OE'
    triggers:
        - timed: 'H 0 * * *'
    axes:
        - axis:
            type: user-defined
            name: BUILD_NAME
            values:
                - '4.9'
                - 'linux-next'
                - 'linux-mainline'
                - 'linux-stable-4.9'
                - 'linux-stable-rc-4.9'
        - axis:
            type: user-defined
            name: QA_SERVER
            values:
                - 'https://qa-reports.linaro.org'
                - 'https://staging-qa-reports.linaro.org'
        - axis:
            type: user-defined
            name: DEVICE_TYPE
            values:
                - 'hi6220-hikey'
                - 'x86'
    execution-strategy:
        sequential: false
    wrappers:
        - 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
            if [ ${QA_SERVER} = "https://staging-qa-reports.linaro.org" ]; then
                export LAVA_SERVER=https://staging.validation.linaro.org/RPC2/
            elif [ ${QA_SERVER} = "https://qa-reports.linaro.org" ]; then
                export LAVA_SERVER=https://lkft.validation.linaro.org/RPC2/
            fi

            # set kselftest skiplist depending on the kernel used
            # set proper variables depending on the kernel used
            case ${BUILD_NAME} in
              4.9)
                export KSELFTEST_SKIPLIST="ftracetest"
                export PUB_DEST=4.9
                ;;
              linux-next)
                export KSELFTEST_SKIPLIST=""
                export PUB_DEST=linux-next
                ;;
              linux-mainline)
                export KSELFTEST_SKIPLIST=""
                export PUB_DEST=linux-mainline
                ;;
              linux-stable-4.9)
                export KSELFTEST_SKIPLIST=""
                export PUB_DEST=linux-stable-4.9
                ;;
              linux-stable-rc-4.9)
                export KSELFTEST_SKIPLIST=""
                export PUB_DEST=linux-stable-rc-4.9
                ;;
              *)
                export KSELFTEST_SKIPLIST=""
                ;;
            esac
            case ${DEVICE_TYPE} in
              hi6220-hikey)
                MACHINE=hikey
                ;;
              x86)
                MACHINE=intel-core2-32
                ;;
              *)
                ;;
            esac
            export DISTRO=rpb
            export MANIFEST_BRANCH=morty
            export SNAPSHOTS_URL=https://snapshots.linaro.org
            export BASE_URL=openembedded/lkft/${MANIFEST_BRANCH}/${MACHINE}/${DISTRO}/${PUB_DEST}/latest

            export SNAPSHOTS_BASE_URL=${SNAPSHOTS_URL}/${BASE_URL}

            MD5_FILENAME="MD5SUMS.txt"
            wget -O "${MD5_FILENAME}" "${SNAPSHOTS_BASE_URL}/${MD5_FILENAME}"
            ROOTFS_FILENAME=$(grep -E "rpb-console-image-${MACHINE}-[0-9]{14}-[0-9]+\.rootfs\.img\.gz" "${MD5_FILENAME}" | awk '{print $2}')
            NFS_FILENAME=$(grep -E "rpb-console-image-${MACHINE}-[0-9]{14}-[0-9]+\.rootfs\.tar\.xz" "${MD5_FILENAME}" | awk '{print $2}')
            BOOT_FILENAME=$(grep -E "boot\S*uefi\.img" "${MD5_FILENAME}" | awk '{print $2}')
            KERNEL_FILENAME=$(grep -E "bzImage" "${MD5_FILENAME}" | awk '{print $2}')
            export KERNEL_URL="${SNAPSHOTS_BASE_URL}/${KERNEL_FILENAME}"
            export NFSROOTFS_URL="${SNAPSHOTS_BASE_URL}/${NFS_FILENAME}"
            export BOOT_URL="${SNAPSHOTS_BASE_URL}/${BOOT_FILENAME}"
            export SYSTEM_URL="${SNAPSHOTS_BASE_URL}/${ROOTFS_FILENAME}"
            export KERNEL_BRANCH="lkft-lava-staging-${BUILD_NAME}"
            export KERNEL_VERSION="lkft-lava-staging-${BUILD_NAME}"
            export KERNEL_REPO="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/"
            export KERNEL_COMMIT="lkft-lava-staging-${BUILD_NUMBER}"
            export KERNEL_DESCRIBE="Kernel Describe"
            export KERNEL_CONFIG_URL="${SNAPSHOTS_BASE_URL}/defconfig"
            export KSELFTESTS_MAINLINE_URL="kselftest_url"
            export KSELFTESTS_MAINLINE_VERSION="kselftest_version"
            export LTP_URL="ltp_url"
            export LTP_VERSION="ltp_version"
            export LTP_REVISION="ltp_revision"
            export LIBHUGETLBFS_URL="libhugetlbfs_url"
            export LIBHUGETLBFS_VERSION="libhugetlbfs_version"
            export LIBHUGETLBFS_REVISION="libhugetlbfs_revision"
            export MAKE_KERNELVERSION="make_kernelversion"
            export LAVA_JOB_PRIORITY="medium"

            rm -rf configs
            git clone --depth 1 http://git.linaro.org/ci/job/configs.git

            # Pre install jinja2-cli
            # Create LTP sub test suite templates
            pip install --force-reinstall --user jinja2-cli
            LTP_TESTS="syscalls"
            for ltptest in ${LTP_TESTS}; do
                ${HOME}/.local/bin/jinja2 -D testname=${ltptest} configs/openembedded-lkft/lava-job-definitions/${DEVICE_TYPE}/master-template-ltp.yaml.jinja2 > configs/openembedded-lkft/lava-job-definitions/${DEVICE_TYPE}/template-ltp-${ltptest}.yaml
                LTP_TEMPLATES="${LTP_TEMPLATES} template-ltp-${ltptest}.yaml"
            done

            python configs/openembedded-lkft/submit_for_testing.py \
                --device-type ${DEVICE_TYPE} \
                --build-number ${BUILD_NUMBER} \
                --lava-server ${LAVA_SERVER} \
                --qa-server ${QA_SERVER} \
                --qa-server-team staging-lkft \
                --qa-server-project ${BUILD_NAME} \
                --git-commit ${BUILD_NUMBER} \
                --template-names template-kselftest.yaml template-libhugetlbfs.yaml ${LTP_TEMPLATES}
    publishers:
        - groovy-postbuild:
            script:
                !include-raw: openembedded-lkft/postbuild.groovy
        - email-ext:
            recipients: 'fathi.boudra@linaro.org, milosz.wasilewski@linaro.org, naresh.kamboju@linaro.org'
            always: true
            matrix-trigger: only-parent