Bug 1254605 - Create separate android "lint" task cluster task. r=nalexander
MozReview-Commit-ID: 6ivwHRUwRCs
new file mode 100644
--- /dev/null
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_lint.py
@@ -0,0 +1,11 @@
+config = {
+ 'base_name': 'Android lint %(branch)s',
+ 'stage_platform': 'android-lint',
+ 'build_type': 'api-15-opt',
+ 'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-15-frontend/nightly',
+ 'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android-frontend/releng.manifest',
+ 'multi_locale_config_platform': 'android',
+ 'postflight_build_mach_commands': [
+ ['gradle', 'app:lintAutomationDebug'],
+ ],
+}
--- a/testing/taskcluster/tasks/branches/base_jobs.yml
+++ b/testing/taskcluster/tasks/branches/base_jobs.yml
@@ -293,14 +293,26 @@ tasks:
- 'tools/lint/**'
android-api-15-gradle-dependencies:
task: tasks/builds/android_api_15_gradle_dependencies.yml
root: true
when:
file_patterns:
- 'testing/docker/android-gradle-build/**'
- '**/*.gradle'
+ android-lint:
+ task: tasks/builds/android_lint.yml
+ root: true
+ when:
+ file_patterns:
+ - 'mobile/android/**/*.java'
+ - 'mobile/android/**/*.jpeg'
+ - 'mobile/android/**/*.jpg'
+ - 'mobile/android/**/*.png'
+ - 'mobile/android/**/*.svg'
+ - 'mobile/android/**/*.xml' # Manifest & android resources
+ - 'mobile/android/**/build.gradle'
mozharness:
task: tasks/tests/mozharness-gecko.yml
root: true
when:
file_patterns:
- 'testing/mozharness/**'
new file mode 100644
--- /dev/null
+++ b/testing/taskcluster/tasks/builds/android_lint.yml
@@ -0,0 +1,80 @@
+$inherits:
+ from: 'tasks/builds/mobile_base.yml'
+ variables:
+ build_name: 'android-lint'
+ build_type: 'opt'
+task:
+ metadata:
+ name: '[TC] Android lint'
+ description: 'Android lint'
+
+ workerType: android-api-15
+
+ routes:
+ - 'index.buildbot.branches.{{project}}.android-lint'
+ - 'index.buildbot.revisions.{{head_rev}}.{{project}}.android-lint'
+
+ scopes:
+ - 'docker-worker:cache:level-{{level}}-{{project}}-build-android-lint-workspace'
+ - 'docker-worker:cache:tooltool-cache'
+ - 'docker-worker:relengapi-proxy:tooltool.download.internal'
+ - 'docker-worker:relengapi-proxy:tooltool.download.public'
+
+ payload:
+ cache:
+ level-{{level}}-{{project}}-build-android-lint-workspace: '/home/worker/workspace'
+ tooltool-cache: '/home/worker/tooltool-cache'
+
+ features:
+ relengAPIProxy: true
+
+ env:
+ # inputs to mozharness
+ MOZHARNESS_SCRIPT: 'mozharness/scripts/fx_desktop_build.py'
+ # TODO: make these additional configuration files go away
+ MOZHARNESS_CONFIG: >
+ builds/releng_base_android_64_builds.py
+ disable_signing.py
+ platform_supports_post_upload_to_latest.py
+ MOZHARNESS_ACTIONS: "get-secrets build multi-l10n update"
+ MH_CUSTOM_BUILD_VARIANT_CFG: api-15-frontend
+ MH_BRANCH: {{project}}
+ MH_BUILD_POOL: taskcluster
+ GRADLE_USER_HOME: '/home/worker/workspace/build/src/dotgradle'
+
+ maxRunTime: 36000
+
+ command: ["/bin/bash", "bin/build.sh"]
+
+ artifacts:
+ 'public/android/lint/lint-results-automationDebug.html':
+ type: file
+ path: '/home/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/outputs/lint-results-automationDebug.html'
+ expires: '{{#from_now}}1 year{{/from_now}}'
+ 'public/android/lint/lint-results-automationDebug.xml':
+ type: file
+ path: '/home/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/outputs/lint-results-automationDebug.xml'
+ expires: '{{#from_now}}1 year{{/from_now}}'
+ 'public/android/lint/lint-results-automationDebug_files':
+ type: directory
+ path: '/home/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/outputs/lint-results-automationDebug_files'
+ expires: '{{#from_now}}1 year{{/from_now}}'
+
+ extra:
+ treeherderEnv:
+ - production
+ - staging
+ treeherder:
+ machine:
+ # see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
+ platform: android-4-0-armv7-api15
+ groupSymbol: tc
+ groupName: Submitted by taskcluster
+ symbol: lint
+ tier: 2
+ # Rather then enforcing particular conventions we require that all build
+ # tasks provide the "build" extra field to specify where the build and tests
+ # files are located.
+ locations:
+ build: 'public/build/target.linux-x86_64.tar.bz2'
+ tests: 'public/build/target.tests.zip'