aboutsummaryrefslogtreecommitdiff
path: root/robher-aosp.yaml
blob: ef417ae0dd765d8f6f5723e593af21810c9dd6eb (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
- job:
    name: robher-aosp
    project-type: freestyle
    defaults: global
    logrotate:
        daysToKeep: 60
        numToKeep: 60
    properties:
        - authorization:
            anonymous:
                - job-read
            vishal.bhoj@linaro.org:
                - job-build
                - job-read
                - job-extended-read
                - job-configure
                - job-cancel
            rob.herring@linaro.org:
                - job-build
                - job-read
                - job-extended-read
                - job-configure
                - job-cancel
    disabled: false
    node: docker-utopic-aosp
    display-name: 'AOSP build playground for Rob Herring'
    concurrent: true
    wrappers:
        - timestamps
        - timeout:
            timeout: 500
    builders:
        - linaro-publish-token:
            host: snapshots.linaro.org
        - shell: |
            #!/bin/bash

            set -ex

            java -version

            sudo sed -i -e 's/archive.ubuntu.com\|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
            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 patch mtools libfdt-dev python-mako gettext openjdk-8-jdk

            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}

            if [ ! -d "/home/buildslave/srv/${JOB_NAME}" ]; then
              sudo mkdir -p /home/buildslave/srv/${JOB_NAME}
              sudo chmod 777 /home/buildslave/srv/${JOB_NAME}
            fi
            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 out/target/product/*/system/ out/target/product/*/data/ out/target/product/*/*.xml out/target/product/*/obj/kernel/
            rm -rf out/target/product/*/*.zip out/target/product/*/*.img out/target/product/*/*.xz

            # Runs as ubuntu
            repo init -u https://android.googlesource.com/platform/manifest -b master
            cd .repo
            rm -rf local_manifests
            git clone https://github.com/robherring/android_manifest -b mesa-master-test local_manifests
            cd ..
            repo sync -f --force-sync -j16

            mkdir -p out
            cp .repo/manifest.xml out/source-manifest.xml
            repo manifest -r -o out/pinned-manifest.xml

            cd external/mesa3d
            rev=$(git rev-parse freedesktop/master)

            # temporary until upstream can build
            #git reset --hard ${rev}
            git pull --no-edit https://github.com/robherring/mesa.git android-m

            # Enable gpu drivers
            sed -i -e 's/\(^MESA_GPU_DRIVERS.*\)/MESA_GPU_DRIVERS := $(strip $(BOARD_GPU_DRIVERS)) i915 i965 r300g r600g i915g swrast vc4/' Android.mk
            # Commit it so repo will throw it away
            git commit -m "Android: enable GPU drivers" -a -s

            cd ../..


            source build/envsetup.sh
            for arch in arm64 x86_64; do
                    lunch linaro_${arch}-userdebug
                    make -k -j8 gallium_dri i915_dri i965_dri libGLES_mesa gralloc.drm || (true; failed=1)
            done

            ###### Don't care about artifacts for now ######
            echo "Build for mesa rev ${rev} finished."
            exit $failed
    publishers:
        - archive:
            artifacts: '*.xml'
            latest-only: true
        - logparser:
            parse-rules: '/var/lib/jenkins/userContent/android.parse'
            unstable-on-warning: false
            fail-on-error: false
        - fingerprint:
            files: 'build/fingerprints/*'
        - email:
            recipients: 'rob.herring@linaro.org vishal.bhoj@linaro.org'
        - email-ext:
            recipients: 'rob.herring@linaro.org'
            content-type: text
            subject: 'errors for mesa master Android build ${BUILD_NUMBER}'
            body: |
                Build URL: ${PROJECT_URL}${BUILD_NUMBER}/
                Full log: ${PROJECT_URL}${BUILD_NUMBER}/consoleText
                Parsed warnings/errors: ${PROJECT_URL}${BUILD_NUMBER}/parsed_console

                ERRORS:
                ${BUILD_LOG_REGEX, regex="^.*? error: .*?$", linesBefore=3, linesAfter=2, showTruncatedLines=false}
            unstable: true