aboutsummaryrefslogtreecommitdiff
path: root/openembedded-armv8-ilp32.yaml
blob: 6fadc1a2f9cbff3bb53ac5d269a39a0d9495df71 (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
- job:
    name: openembedded-armv8-ilp32
    project-type: matrix
    defaults: global
    properties:
        - authorization:
            anonymous:
                - job-read
                - job-extended-read
                - job-workspace
            linaro:
                - job-build
                - job-cancel
        - build-discarder:
            days-to-keep: 30
            num-to-keep: 30
    parameters:
        - string:
            name: PUB_DEST
            default: 'openembedded/images/${rootfs}-armv8-ilp32-gcc-${gcc_version}/${MACHINE}/${BUILD_NUMBER}'
        - string:
            name: LAVA_SERVER
            default: 'validation.linaro.org/RPC2/'
    disabled: false
    node: build
    display-name: 'OpenEmbedded ARMv8 ILP32'
    scm:
        - git:
            url: https://git.linaro.org/openembedded/jenkins-setup.git
            refspec: +refs/heads/master:refs/remotes/origin/master
            name: origin
            branches:
                - refs/heads/master
            skip-tag: true
            shallow-clone: true
            wipe-workspace: false
    axes:
        - axis:
            type: slave
            name: label
            values:
                - build
        - axis:
            type: user-defined
            name: gcc_version
            values:
                - 7.1
        - axis:
            type: user-defined
            name: rootfs
            values:
                - minimal
                - minimal-initramfs
                - minimal-ltp
        - axis:
            type: user-defined
            name: MACHINE
            values:
                - 'hikey-ilp32'
    execution-strategy:
        sequential: true
        touchstone:
            expr: 'rootfs=="minimal"'
    wrappers:
        - timestamps
        - matrix-tie-parent:
            node: build
    builders:
        - shell: |
            #!/bin/bash

            set -ex

            export PATH="$HOME/bin:$PATH"

            # we clean build and populate it from cache
            bash -x pre-build-do-cleanup.sh

            if [ `date +%u` = "6" ] && [ "${rootfs}" = "minimal" ]
            then
              echo "manual hard cleanup on day 6"
              bash periodic-cleanup.sh hard
            fi

            # temporary clean-up for glibc
            find /mnt/ci_build/workspace/sstate-cache -type f -name "sstate:*:*:*:*:aarch64_ilp32:*" -exec rm -f {} + || true

            # verbose kernel, add resize-helper
            cat << EOF >> local-init-env.sh
            init_env
            echo 'CMDLINE_remove = "quiet"' >> conf/local.conf
            echo 'IMAGE_INSTALL_append = " 96boards-tools"' >> conf/local.conf
            EOF

            # do a build
            bash -x init-and-build.sh -a armv8 -g ${gcc_version} -i "source ./local-init-env.sh" linaro-image-${rootfs}

            cd ${WORKSPACE}

            bash -x post-build-create-image-manifest.sh
            bash -x post-build-sort-out-downloads.sh

            # Capture what we're building in the build output.
            repo manifest -r
        - linaro-publish-token
        - shell: |
            #!/bin/bash

            # Create sparse image
            # Only the LTP image is sent to LAVA, hence it is the only one
            # needing a sparse image to be published.
            if [ "${rootfs}" = "minimal-ltp" ]; then
              cd out/
              rootfsext=$(ls -1 linaro-image-${rootfs}-${MACHINE}-*.rootfs.ext4.gz
              gunzip -k ${rootfsext}
              sudo ext2simg -v ${rootfsext%.gz} ${rootfsext%.ext4.gz}.img
              rm -f ${rootfsext%.gz}
              gzip -9 ${rootfsext%.ext4.gz}.img
              cd -
            fi

            # Publish
            test -d ${HOME}/bin || mkdir ${HOME}/bin
            wget -q https://git.linaro.org/ci/publishing-api.git/blob_plain/HEAD:/linaro-cp.py -O ${HOME}/bin/linaro-cp.py
            time python ${HOME}/bin/linaro-cp.py \
              --api_version 3 \
              --link-latest \
              out/ ${PUB_DEST}
        - conditional-step:
            condition-kind: strings-match
            condition-string1: '${ENV,var="rootfs"}'
            condition-string2: 'minimal-ltp'
            steps:
                - shell: |
                    #!/bin/bash -x

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

                    export DEVICE_TYPE=hi6220-hikey
                    export BOOT_URL=${PUBLISH_SERVER}/${PUB_DEST}/$(ls out/boot-0.0*.img | xargs basename)
                    export SYSTEM_URL=${PUBLISH_SERVER}/${PUB_DEST}/$(ls out/linaro-image-${rootfs}-${MACHINE}-*.rootfs.img.gz | xargs basename)

                    pip install --force-reinstall --user jinja2-cli
                    ${HOME}/.local/bin/jinja2 -D testname=syscalls \
                        configs/openembedded-armv8/lava-job-definitions/${DEVICE_TYPE}/master-template-ltp.yaml.jinja2 \
                        > custom_lava_job_definition.yaml

                    cat << EOF > post_build_lava_parameters
                    DEVICE_TYPE=${DEVICE_TYPE}
                    CUSTOM_YAML_URL=${JOB_URL}/ws/custom_lava_job_definition.yaml
                    LAVA_SERVER=${LAVA_SERVER}
                    EOF
                - trigger-builds:
                    - project: 'post-build-lava'
                      property-file: post_build_lava_parameters
                      block: true
    publishers:
        - email:
            recipients: 'fathi.boudra@linaro.org koen.kooi@linaro.org daniel.diaz@linaro.org'