- 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 basedir: /home/buildslave/srv/${JOB_NAME}/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 /home/buildslave/srv/${JOB_NAME}/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 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} # 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/git/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; } # Delete sources after build to save space rm -rf art/ dalvik/ kernel/ bionic/ developers/ libcore/ sdk/ bootable/ development/ libnativehelper/ system/ build/ device/ test/ build-info/ docs/ packages/ toolchain/ .ccache/ external/ pdk/ tools/ compatibility/ frameworks/ platform_testing/ vendor/ cts/ hardware/ prebuilts/ linaro* ###### 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