aboutsummaryrefslogtreecommitdiff
path: root/openembedded-rootfs-external-toolchain.yaml
blob: cf5d7b95fac0a83a709b01d9132a73e209a18b39 (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
- job:
    name: openembedded-rootfs-external-toolchain
    project-type: matrix
    defaults: global
    logrotate:
        daysToKeep: 30
        numToKeep: 30
    properties:
        - authorization:
            anonymous:
                - job-read
                - job-extended-read
            linaro:
                - job-build
                - job-cancel
    parameters:
        - string:
            name: toolchain_url
            default: 'http://releases.linaro.org/components/toolchain/binaries/5.3-2016.02/aarch64-linux-gnu/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu.tar.xz'
    disabled: false
    node: build
    display-name: 'OpenEmbedded rootfs with external toolchain'
    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: rootfs
            values:
                - lamp
                - minimal
    execution-strategy:
        sequential: true
        touchstone:
            expr: 'rootfs=="minimal"'
    wrappers:
        - timestamps
        - matrix-tie-parent:
            node: build
    builders:
        - linaro-publish-token
        - shell: |
            #!/bin/bash

            set -ex

            case "$(echo ${toolchain_url} | sed -e 's|^.*x86_64_||')" in
              armeb*)
                arch=armv7ab
                ;;
              arm*)
                arch=armv7a
                ;;
              aarch64_be*)
                arch=armv8b
                ;;
              aarch64*)
                arch=armv8
                ;;
              *)
                arch=x86
                ;;
            esac

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

            # do a build
            bash -x init-and-build.sh -a ${arch} -u ${toolchain_url} 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.
            echo "Build configuration: ${PWD}"
            git log --format="%H %s" -1
            $HOME/bin/repo forall -p -c 'git log --format="%H %s" -1'

            # 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/ openembedded/images/${rootfs}-${arch}-external-toolchain/${BUILD_NUMBER}
    publishers:
        - email:
            recipients: 'fathi.boudra@linaro.org koen.kooi@linaro.org'