aboutsummaryrefslogtreecommitdiff
path: root/robher-aosp.yaml
blob: f9b7592b0b676e13cce75b49251a974beecd5bfb (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
- 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
    scm:
        - git:
            url: git://anongit.freedesktop.org/mesa/mesa
            branches:
                - origin/master
                - origin/android/*
            skip-tag: true
            shallow-clone: true
            wipe-workspace: false
            subdir: external/mesa3d
    parameters:
        - string:
            name: MESA_GIT_TREE
            default:
        - string:
            name: MESA_EMAIL_RECIPIENTS
            default:
    disabled: false
    node: docker-xenial-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:
            !include-raw: android-lcr/common/builders.sh
        - shell:
            cd external/mesa3d
            echo "CI_MAIL_RECIPIENTS=$(git --no-pager log -1 --pretty='%cE,%aE')" > ${WORKSPACE}/env_var_parameters
        - inject:
            properties-file: env_var_parameters
        - shell: |
            #!/bin/bash

            set -ex

            # 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-git.linaro.org/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 -q -f --force-sync -j"$(nproc)"

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

            cd external/mesa3d

            if [ -n "${MESA_GIT_TREE}" ]; then
                git fetch ${MESA_GIT_TREE}
                git checkout FETCH_HEAD
            fi

            # Enable gpu drivers
            echo 'BOARD_GPU_DRIVERS := "i915 i965 i915g r300g r600g nouveau swrast vc4 virgl"' > Android.mk.new
            cat Android.mk >> Android.mk.new
            mv Android.mk.new Android.mk
            # Commit it so repo will throw it away
            git commit -m "Android: enable GPU drivers" -a -s

            cd ../..

            source build/envsetup.sh

            lunch linaro_arm64-userdebug
            make -k -j"$(nproc)" gallium_dri libGLES_mesa || { true; failed=1; }

            lunch linaro_x86_64-userdebug
            make -k -j"$(nproc)" gallium_dri i915_dri i965_dri libGLES_mesa || { true; failed=1; }

            ###### Don't care about artifacts for now ######
            echo "Build for mesa rev ${rev} finished - ret ${failed}"
            exit ${failed}
    publishers:
        - logparser:
            parse-rules: '/var/lib/jenkins/userContent/android.parse'
            unstable-on-warning: false
            fail-on-error: false
        - email:
            recipients: 'rob.herring@linaro.org vishal.bhoj@linaro.org'
        - email-ext:
            recipients: 'rob.herring@linaro.org, ${CI_MAIL_RECIPIENTS}, ${MESA_EMAIL_RECIPIENTS}'
            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

                branch: ${GIT_BRANCH}
                commit: ${GIT_COMMIT}

                ERRORS:
                ${BUILD_LOG_REGEX, regex="^.*? error: .*?$", linesBefore=0, linesAfter=2, showTruncatedLines=false}
            first-failure: true