summaryrefslogtreecommitdiffstats
path: root/taskcluster/ci/source-test/mozlint-android.yml
diff options
context:
space:
mode:
Diffstat (limited to 'taskcluster/ci/source-test/mozlint-android.yml')
-rw-r--r--taskcluster/ci/source-test/mozlint-android.yml106
1 files changed, 106 insertions, 0 deletions
diff --git a/taskcluster/ci/source-test/mozlint-android.yml b/taskcluster/ci/source-test/mozlint-android.yml
new file mode 100644
index 0000000000..6602d8c818
--- /dev/null
+++ b/taskcluster/ci/source-test/mozlint-android.yml
@@ -0,0 +1,106 @@
+# 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/**'