aboutsummaryrefslogtreecommitdiff
path: root/ledge-arm64-debian.yaml
blob: f74c71ca029f82c8fdee291e4261a1603b405c0a (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
167
168
169
170
171
172
173
174
175
176
177
178
179
- job:
    name: ledge-arm64-debian
    project-type: freestyle
    defaults: global
    logrotate:
        daysToKeep: 30
        numToKeep: 30
    properties:
        - authorization:
            anonymous:
                - job-read
                - job-extended-read
                - job-workspace
            linaro:
                - job-build
                - job-configure
                - job-cancel
    parameters:
        - string:
            name: VENDOR
            default: 'linaro'
        - string:
            name: OS_FLAVOUR
            default: 'buster'
        - string:
            name: PLATFORM_NAME
            default: 'unknown'
        - string:
            name: ROOTFS
            default: 'raw,4G'
        - string:
            name: PUB_DEST
            default: 'components/ledge/debian/arm64/${BUILD_NUMBER}'
        - string:
            name: LAVA_SERVER
            default: 'ledge.validation.linaro.org/RPC2/'
        - string:
            name: QA_SERVER
            default: 'https://qa-reports.linaro.org'
        - string:
            name: QA_SERVER_PROJECT
            default: 'ledge'
        - string:
            name: QA_SERVER_TEAM
            default: 'ledge'
        - string:
            name: AUTH_GROUPS
            default: 'linaro'
        - string:
            name: KERNEL_ARGS
            default: 'selinux=0'
    disabled: false
    node: docker-stretch-arm64
    display-name: 'Debian based images for Ledge'
    scm:
        - git:
            url: https://git.linaro.org/ci/fai.git
            refspec: +refs/heads/master:refs/remotes/origin/master
            name: origin
            branches:
                - refs/heads/master
            skip-tag: true
            shallow-clone: true
            wipe-workspace: false
    wrappers:
        - timestamps
        - build-name:
            name: '#${BUILD_NUMBER}-${GIT_REVISION,length=8}'
        - ssh-agent-credentials:
            users:
                - 'OE_COMMIT_BOT_KEY'
        - credentials-binding:
            - text:
                credential-id: QA_REPORTS_TOKEN
                variable: QA_REPORTS_TOKEN
    builders:
        - shell:
            !include-raw: ledge-debian/builders-fai.sh

        - shell: |
            #!/bin/bash
            cat << EOF > ${WORKSPACE}/post_build_lava_parameters
            DEPLOY_DIR_IMAGE=`pwd`/out
            BASE_URL=https://snapshots.linaro.org
            BOOT_URL=
            ROOTFS_SPARSE_BUILD_URL=
            KERNEL_URL=https://snapshots.linaro.org/components/ledge/oe/ledge-synquacer/latest/rpb/Image-*-ledge-synquacer-*.bin
            DTB_URL=
            RECOVERY_IMAGE_URL=
            NFSROOTFS_URL=https://snapshots.linaro.org/${PUB_DEST}/rootfs-linaro-buster-*-unknown-*.tar.xz
            EXT4_IMAGE_URL=
            HDD_URL=
            KERNEL_COMMIT=
            KERNEL_CONFIG_URL=
            KERNEL_DEFCONFIG_URL=
            KSELFTESTS_MAINLINE_URL=
            KSELFTESTS_MAINLINE_VERSION=
            KSELFTESTS_NEXT_URL=
            KSELFTESTS_NEXT_VERSION=
            LTP_URL=
            LTP_VERSION=
            LTP_REVISION=
            LIBHUGETLBFS_URL=
            LIBHUGETLBFS_VERSION=
            LIBHUGETLBFS_REVISION=
            MAKE_KERNELVERSION=
            TOOLCHAIN=
            KERNEL_ARGS=${KERNEL_ARGS}
            INITRD_URL=http://images.validation.linaro.org/synquacer/hc/initrd.img
            EOF
        - inject:
            properties-file: post_build_lava_parameters
        - linaro-publish-token
        - shell: |
            #!/bin/bash
            # Publish to snapshots
            test -d ${HOME}/bin || mkdir ${HOME}/bin
            wget https://git.linaro.org/ci/publishing-api.git/blob_plain/HEAD:/linaro-cp.py -O ${HOME}/bin/linaro-cp.py
            time python3 ${HOME}/bin/linaro-cp.py \
                 --server ${PUBLISH_SERVER} \
                 --link-latest \
                 out ${PUB_DEST}
        - shell: |
            #!/bin/bash

            if ! sudo DEBIAN_FRONTEND=noninteractive apt-get -q=2 update; then
                 echo "INFO: apt update error - try again in a moment"
                 sleep 15
                 sudo DEBIAN_FRONTEND=noninteractive apt-get -q=2 update || true
            fi

            pkg_list="chrpath cpio diffstat gawk git expect pkg-config python-pip python-requests python-crypto libpixman-1-dev python python3"
            if ! sudo DEBIAN_FRONTEND=noninteractive apt-get -q=2 install -y ${pkg_list}; then
                 echo "INFO: apt install error - try again in a moment"
                 sleep 15
                 sudo DEBIAN_FRONTEND=noninteractive apt-get -q=2 install -y ${pkg_list}
            fi

            sudo locale-gen en_US.UTF-8 && sudo update-locale LANG=en_US.UTF-8
            export LC_ALL=en_US.UTF-8

            # install required python modules
            pip install --user --force-reinstall Jinja2 ruamel.yaml

            rm -rf configs
            git clone --depth 1 http://git.linaro.org/ci/job/configs.git
            sed -i 's/job_name: RPB OE/job_name: RPB Debian ARM64/' configs/rpb-openembedded/lava-job-definitions/*/template-boot.yaml

            #export takes more priority then argument provided with --device-type
            export DEVICE_TYPE="synquacer"
            export MACHINE="ledge-synquacer"

            [ -z "${MANIFEST_COMMIT}" ] && export MANIFEST_COMMIT="HEAD"
            [ -z "${MANIFEST_BRANCH}" ] && export MANIFEST_BRANCH="master"
            [ -z "${KSELFTEST_PATH}" ] && export KSELFTEST_PATH="/opt/kselftests/mainline/"
            [ -z "${LAVA_JOB_PRIORITY}" ] && export LAVA_JOB_PRIORITY="25"
            [ -z "${SANITY_LAVA_JOB_PRIORITY}" ] && export SANITY_LAVA_JOB_PRIORITY="30"
            [ -z "${QA_SERVER_TEAM}" ] && export QA_SERVER_TEAM=rpb
            [ -z "${TOOLCHAIN}" ] && export TOOLCHAIN="unknown"
            [ -z "${TDEFINITIONS_REVISION}" ] && export TDEFINITIONS_REVISION="kselftest-5.1"

            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 ${QA_SERVER_TEAM} \
                 --qa-server-project ${QA_SERVER_PROJECT} \
                 --git-commit ${MANIFEST_COMMIT} \
                 --template-path configs/rpb-openembedded/lava-job-definitions \
                 --template-names template-boot.yaml
    publishers:
        - groovy-postbuild:
            script:
                !include-raw: ledge/qareports.groovy
        - email:
            recipients: 'maxim.uvarov@linaro.org ilias.apalodimas@linaro.org christophe.priouzeau@linaro.org'
            always: true