aboutsummaryrefslogtreecommitdiff
path: root/package-and-publish-linux-linaro-stable.yaml
blob: c3446eaff13acac82539e752c7edc3729ec677aa (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
- job:
    name: package-and-publish-linux-linaro-stable
    project-type: matrix
    defaults: global
    properties:
        - authorization:
            anonymous:
                - job-read
                - job-extended-read
            linaro:
                - job-read
                - job-extended-read
                - job-build
                - job-cancel
        - build-discarder:
            days-to-keep: 60
            num-to-keep: 100
            artifact-num-to-keep: 1
    disabled: false
    node: build
    child-workspace: .
    display-name: 'Package and publish Linaro Stable Kernel (LSK)'
    scm:
        - git:
            url: https://git.linaro.org/kernel/linux-linaro-stable.git
            refspec: +refs/heads/linux-linaro-lsk:refs/remotes/origin/linux-linaro-lsk
            name: origin
            branches:
                - refs/heads/linux-linaro-lsk
            basedir: reference-git
            skip-tag: true
            shallow-clone: false
            wipe-workspace: false
    axes:
        - axis:
            type: user-defined
            name: hwpack
            values:
                - lsk-arndale-be
                - lsk-vexpress
                - lsk-vexpress-be
                - lsk-vexpress64
                - lsk-vexpress64-be
                - lt-vexpress64
        - axis:
            type: slave
            name: label
            values:
                - build
    execution-strategy:
        sequential: true
    wrappers:
        - timestamps
        - copy-to-slave:
            includes:
                - .gnupg/
                - default_git_publish_keyfile
                - gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz
                - gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux.tar.xz
                - gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux.tar.bz2
            relative-to: 'somewhereElse'
        - build-name:
            name: '#${BUILD_NUMBER}-${GIT_REVISION,length=8}'
        - matrix-tie-parent:
            node: build
    builders:
        - shell: |
            # this step ensures we have gpg configured
            # requires "Copy files into the job's workspace before building" above
            # with "Files to copy" of .gnupg/
            cp -a .gnupg ~
            gpg --list-keys
            rm -rf .gnupg

            exit 0
        - linaro-publish-token
        - shell: |
            #!/bin/bash

            set -ex

            trap cleanup_exit INT TERM EXIT

            cleanup_exit()
            {
              cd ${WORKSPACE}
              sudo umount kernel_build
            }

            dpkg -s dpkg |grep '^Version'

            test -d kernel_build || mkdir kernel_build
            sudo mount -t tmpfs -o size=6G tmpfs kernel_build

            rm -rf ubuntu-kernel-ci
            git clone git://git.linaro.org/ci/ubuntu-kernel-ci.git ubuntu-kernel-ci

            # export parent_workspace="/mnt/ci_build/workspace/package-and-publish-linux-linaro-stable"
            # export reference_git="${parent_workspace}/reference-git"
            # export nearby_git="${reference_git}/.git"

            export nearby_git="${WORKSPACE}/reference-git/.git"

            # test -d ${reference_git} || git clone -b linux-linaro-lsk git://git.linaro.org/kernel/linux-linaro-stable.git ${reference_git}

            case "${hwpack}" in
              lsk-arndale-be|lsk-omap-be|lsk-vexpress-be)
                export TCBINDIR=${WORKSPACE}/tc/armeb/bin
                export toolchain_url=file://${WORKSPACE}/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux.tar.bz2
                export conf_options="do_publish_source_pkg=false do_create_artifact_dir=false do_publish_release_tag=false"
                ;;
              lsk-vexpress)
                export TCBINDIR=${WORKSPACE}/tc/armhf/bin
                export toolchain_url=file://${WORKSPACE}/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz
                export conf_options="do_publish_release_tag=false"
                export conf_options="-k B86C70FE do_publish_release_tag=false"
                ;;
              lsk-vexpress64|lsk-vexpress64-be|lt-vexpress64)
                export TCBINDIR=${WORKSPACE}/tc/arm64/bin
                export toolchain_url=file://${WORKSPACE}/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux.tar.xz
                export conf_options="do_publish_source_pkg=false do_create_artifact_dir=false do_publish_release_tag=false"
                ;;
            esac

            ./ubuntu-kernel-ci/scripts/package_kernel --cfg ${hwpack}.cfg nearby_git=${nearby_git} ${conf_options}

            # Display changelog
            cat ${WORKSPACE}/kernel_build/linux/debian/changelog

            # 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 kernel-hwpack/package-and-publish-linux-linaro-stable-${hwpack}/${BUILD_NUMBER}
    publishers:
        - archive:
            artifacts: 'out/*.deb'
            excludes: 'out/*dbgsym*.deb'
        - email:
            recipients: 'fathi.boudra@linaro.org'