aboutsummaryrefslogtreecommitdiff
path: root/96boards-dragonboard410c-android.yaml
blob: 2d629e2be863f8fd3b86f7d32369fada60524678 (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: 96boards-dragonboard410c-android
    project-type: freestyle
    defaults: global
    logrotate:
        daysToKeep: 90
        numToKeep: 90
    properties:
        - authorization:
            anonymous:
                - job-read
            linaro:
                - job-build
                - job-cancel
    parameters:
        - string:
            name: OVERLAY_URL
            default: http://builds.96boards.org/snapshots/dragonboard410c/binaries/20150427/proprietary_HY22.tar.bz2
        - string:
            name: PATCHSET_URL
            default: http://builds.96boards.org/snapshots/dragonboard410c/binaries/20150427/LA.BR.1.2.4-00310-8x16.0_410c_DragonBoard_patches.tar.bz2
        - string:
            name: SYSTEM_OVERLAY_URL
            default: http://builds.96boards.org/snapshots/dragonboard410c/binaries/20150427/system_overlay.tar.bz2
        - string:
            name: MANIFEST_FILENAME
            default: LA.BR.1.2.4-00310-8x16.0.xml
    disabled: false
    node: docker-utopic-aosp
    display-name: '96boards - DragonBoard 410c (Android)'
    concurrent: true
    wrappers:
        - timestamps
        - timeout:
            timeout: 500
    builders:
        - linaro-publish-token:
            host: builds.96boards.org
        - shell: |
            #!/bin/bash

            java -version

            sudo apt-get update
            sudo apt-get install -y gcc-4.9-multilib bison git gperf libxml2-utils python-mako zip time python-pycurl genisoimage

            mkdir -p ${HOME}/bin ${WORKSPACE}/build/out
            curl https://storage.googleapis.com/git-repo-downloads/repo > ${HOME}/bin/repo
            wget https://git.linaro.org/ci/publishing-api.git/blob_plain/HEAD:/linaro-cp.py -O ${HOME}/bin/linaro-cp.py
            chmod a+x ${HOME}/bin/*
            export PATH=${HOME}/bin:${PATH}

            sudo mkdir -p /home/buildslave/srv/${JOB_NAME}
            sudo chmod 777 /home/buildslave/srv/${JOB_NAME}
            cd /home/buildslave/srv/${JOB_NAME}

            git config --global user.email "ci_notify@linaro.org"
            git config --global user.name "Linaro CI"

            # Clean any artifacts related to previous build
            rm -rf vendor/qcom/proprietary
            rm -rf out/target/product/msm8916_64/system/ out/target/product/msm8916_64/data/

            # Runs as ubuntu
            repo init -u git://codeaurora.org/platform/manifest.git -b release -m ${MANIFEST_FILENAME} --repo-url=git://codeaurora.org/tools/repo.git
            repo sync -j16
            mkdir -p out
            cp .repo/manifest.xml out/source-manifest.xml
            repo manifest -r -o out/pinned-manifest.xml

            OVERLAY=$(basename ${OVERLAY_URL})
            wget --progress=dot -e dotbytes=2M ${OVERLAY_URL} -O ${OVERLAY}
            tar -jxf ${OVERLAY} -C vendor/qcom/

            PATCHSET=$(basename ${PATCHSET_URL})
            wget --progress=dot -e dotbytes=2M ${PATCHSET_URL} -O ${PATCHSET}
            tar -jxf ${PATCHSET}
            cd $(basename "${PATCHSET}" .tar.bz2)
            pw=${PWD}
            export patches=$(find . -iname *.patch | sort)
            for patch in ${patches}; do echo "applying $patch"; project=$(dirname ${patch}); cd ../${project}; git am ${pw}/${patch}; cd -; done
            cd ..
            rm -rf ${pw}

            source build/envsetup.sh
            lunch msm8916_64-userdebug
            make -j8

            wget https://git.linaro.org/landing-teams/working/qualcomm/lt-docs.git/blob_plain/HEAD:/license/license.txt  -O out/target/product/msm8916_64/system/etc/license.txt

            SYSTEM_OVERLAY=(basename ${SYSTEM_OVERLAY_URL})
            wget ${SYSTEM_OVERLAY_URL} -O ${SYSTEM_OVERLAY}
            tar -xvjf ${SYSTEM_OVERLAY} -C out/target/product/msm8916_64/
            rm -rf out/target/product/msm8916_64/userdata.img out/target/product/msm8916_64/obj/PACKAGING/userdata_intermediates/
            make -j8 snod userdataimage

            cd out/target/product/msm8916_64/
            for image in "boot.img" "system.img" "userdata.img" "cache.img" "persist.img" "recovery.img"; do
                echo "Compressing $image"
                tar -Jcf ${image}.tar.xz ${image}
                rm -f ${image}
            done
            cd -

            cp -a /home/buildslave/srv/${JOB_NAME}/out/*.xml /home/buildslave/srv/${JOB_NAME}/out/target/product/msm8916_64/
            cp -a /home/buildslave/srv/${JOB_NAME}/out/*.xml ${WORKSPACE}/

            # Publish
            PUB_DEST=/snapshots/dragonboard410c/qualcomm/android/${BUILD_NUMBER}

            cat > out/target/product/msm8916_64/BUILD-INFO.txt << EOF
            Format-Version: 0.5

            Files-Pattern: *
            License-Type: open
            EOF

            time linaro-cp.py \
              --manifest \
              --no-build-info \
              --link-latest \
              --split-job-owner \
              --server ${PUBLISH_SERVER} \
              out/target/product/msm8916_64/ \
              $PUB_DEST \
              --include "^[^/]+[._](img[^/]*|tar[^/]*|xml|sh|config)$" \
              --include "^[BHi][^/]+txt$" \
              --include "^(MANIFEST|MD5SUMS)$"

            echo "Build finished"
    publishers:
        - archive:
            artifacts: '*.xml'
            latest-only: true
        - logparser:
            parse-rules: 'Android Build'
            unstable-on-warning: false
            fail-on-error: false
        - fingerprint:
            files: 'build/fingerprints/*'
        - email:
            recipients: 'nicolas.dechesne@linaro.org vishal.bhoj@linaro.org fathi.boudra@linaro.org'