gecko-dev/taskcluster/ci/source-test/mozlint-android.yml

107 lines
5.0 KiB
YAML

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
---
# Just one TC job that runs all the lints. There's no real advantage
# to running them separately, and this way we perform the expensive
# clone and somewhat expensive compilation of the Android
# intermediates just once.
lints:
always-target: true
attributes:
build_platform: android
build_type: opt
code-review: true
description: Android lints
platform: lint/opt
treeherder:
symbol: A(lints)
kind: test
tier: 1
worker-type: t-linux-xlarge-source
worker:
docker-image: {in-tree: android-build}
env:
GRADLE_USER_HOME: /builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline
MOZCONFIG: mobile/android/config/mozconfigs/android-arm/nightly-android-lints
MOZ_OBJDIR: obj-firefox
PERFHERDER_EXTRA_OPTIONS: android-lints
TINDERBOX_OUTPUT: '1'
max-run-time: 3600
artifacts:
- type: file
name: public/code-review/mozlint.json
path: /builds/worker/mozlint.json
- name: public/android/geckoview/api.txt
path: /builds/worker/checkouts/gecko/obj-firefox/gradle/build/mobile/android/geckoview/intermediates/javac/withGeckoBinariesDebug/classes/api.txt
type: file
- name: public/android/geckoview/api.txt.map
path: /builds/worker/checkouts/gecko/obj-firefox/gradle/build/mobile/android/geckoview/intermediates/javac/withGeckoBinariesDebug/classes/api.txt.map
type: file
- name: public/android/geckoview/apilint-result.json
path: /builds/worker/checkouts/gecko/obj-firefox/gradle/build/mobile/android/geckoview/intermediates/javac/withGeckoBinariesDebug/classes/apilint-result.json
type: file
- name: public/android/geckoview/javadoc-results.json
path: /builds/worker/checkouts/gecko/obj-firefox/gradle/build/mobile/android/geckoview/reports/javadoc-results-withGeckoBinariesDebug.json
type: file
- name: public/geckoview/unittest
path: /builds/worker/checkouts/gecko/obj-firefox/gradle/build/mobile/android/geckoview/reports/tests
type: directory
- name: public/android/lint/lint-results-officialWithoutGeckoBinariesDebug.html
path: /builds/worker/checkouts/gecko/obj-firefox/gradle/build/mobile/android/geckoview/reports/lint-results-withGeckoBinariesDebug.html
type: file
- name: public/android/lint/lint-results-withGeckoBinariesDebug.xml
path: /builds/worker/checkouts/gecko/obj-firefox/gradle/build/mobile/android/geckoview/reports/lint-results-withGeckoBinariesDebug.xml
type: file
- name: public/android/checkstyle/checkstyle.html
path: /builds/worker/checkouts/gecko/obj-firefox/gradle/build/mobile/android/geckoview/reports/checkstyle/withGeckoBinariesDebug.html
type: file
- name: public/android/checkstyle/checkstyle.xml
path: /builds/worker/checkouts/gecko/obj-firefox/gradle/build/mobile/android/geckoview/reports/checkstyle/withGeckoBinariesDebug.xml
type: file
run:
using: run-task
command: >
ln -s $MOZ_FETCHES_DIR/android-gradle-dependencies $GECKO_PATH &&
ln -s $MOZ_FETCHES_DIR/android-sdk-linux $GECKO_PATH &&
ln -s $MOZ_FETCHES_DIR/node $GECKO_PATH &&
cd $GECKO_PATH &&
./mach --log-no-times build pre-export export &&
./mach --log-no-times lint -f treeherder -f json:/builds/worker/mozlint.json
--linter android-api-lint
--linter android-format
--linter android-javadoc
--linter android-checkstyle
--linter android-lint
--linter android-test
*
tooltool-downloads: internal # For internal toolchains.
fetches:
toolchain:
# Aliases aren't allowed for toolchains installed by fetch.
- linux64-android-gradle-dependencies
- linux64-android-sdk-linux-repack
- linux64-jdk-repack
- linux64-node
when:
files-changed:
# Source files.
- 'mobile/android/**/*.java'
- 'mobile/android/**/*.kt'
# Resources.
- 'mobile/android/**/*.jpeg'
- 'mobile/android/**/*.jpg'
- 'mobile/android/**/*.png'
- 'mobile/android/**/*.svg'
- 'mobile/android/**/*.xml'
# Build stuff.
- 'mobile/android/**/Makefile.in'
- 'mobile/android/config/**'
- 'mobile/android/gradle.configure'
- 'mobile/android/**/moz.build'
- '**/*.gradle'
# Other misc lint related files.
- 'python/mozlint/**'
- 'tools/lint/**'