aboutsummaryrefslogtreecommitdiff
path: root/linux-ltsi.yaml
blob: 337230d7a4a3cc06379c6e3f5fee0fe4ba9609c8 (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
- job:
    name: linux-ltsi
    project-type: matrix
    defaults: global
    logrotate:
        daysToKeep: 30
        numToKeep: 30
    properties:
        - authorization:
            anonymous:
                - job-read
                - job-extended-read
    parameters:
        - file:
            name: defconfig.properties
        - password:
            name: PUBLISH_KEY
            default: foo
    disabled: false
    node: build
    child-workspace: .
    display-name: 'Linux LTSI Kernel (linux-3.14.y)'
    scm:
        - git:
            url: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
            refspec: +refs/heads/linux-3.14.y:refs/remotes/origin/linux-3.14.y
            name: origin
            branches: 
                - origin/linux-3.14.y
            skip-tag: true
            shallow-clone: true
            wipe-workspace: false
    axes:
        - axis:
            type: dynamic
            name: defconfig
            values:
                - defconfig_list
        - axis:
            type: slave
            name: label
            values:
                - build
    execution-strategy:
        sequential: true
    wrappers:
        - timestamps
        - copy-to-slave:
            includes:
                - gcc-linaro-arm-linux-gnueabihf-4.9-2014.08_linux.tar.xz
        - build-name:
            name: '#${BUILD_NUMBER}-${GIT_REVISION,length=8}'
        - matrix-tie-parent:
            node: build
    builders:
        - shell: |
            #!/bin/bash

            trap cleanup_exit INT TERM EXIT

            cleanup_exit()
            {
              cd ${WORKSPACE}
              rm -rf lci-build-tools
              rm -rf builddir*
              rm -rf out
            }

            export LANG=C
            CCACHE_DIR="$HOME/ccache"
            CCACHE_UNIFY=1
            CCACHE_SLOPPINESS=file_macro,include_file_mtime,time_macros
            export CCACHE_DIR CCACHE_UNIFY CCACHE_SLOPPINESS 
            export use_ccache=true
            export silent=true
            export make_deb=false
            export kernel_flavour="${defconfig}"
            export kernel_config="${defconfig}_defconfig"
            export MAKE_DTBS=true
            export toolchain_url="http://releases.linaro.org/14.08/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.9-2014.08_linux.tar.xz"

            git rev-parse -q --verify 3.14.4-ltsi > /dev/null && git branch -D 3.14.4-ltsi
            test -d ltsi-kernel || git clone --depth 1 http://git.linuxfoundation.org/ltsi-kernel.git
            bash ltsi-kernel/scripts/generate_git

            test -d lci-build-tools || git clone https://git.linaro.org/git/ci/lci-build-tools.git lci-build-tools
            bash lci-build-tools/jenkins_kernel_build_inst

            mkdir -p out/dtb
            cp -a builddir-*-${kernel_flavour}/build.log out/build_log_${defconfig}
            cp -a builddir-*-${kernel_flavour}/.config out/kernel_config_${defconfig}
            cp -a builddir-*-${kernel_flavour}/arch/arm/boot/zImage out/zImage_${defconfig}
            cp -a builddir-*-${kernel_flavour}/arch/arm/boot/dts/*.dtb out/dtb/

            # Publish to snapshots
            ${HOME}/bin/linaro-cp out kernel-hwpack/linux-ltsi/${defconfig}/${BUILD_NUMBER}

            CCACHE_DIR=${CCACHE_DIR} ccache -M 20G
            CCACHE_DIR=${CCACHE_DIR} ccache -s