Bug 1320079 - Add configuration for running findbugs in automation. r=dustin,maliu
authorSebastian Kaspari <s.kaspari@gmail.com>
Thu, 24 Nov 2016 14:38:11 +0100
changeset 324609 6c23e6d1cd60cb911ecd7673276a65e9b9505f54
parent 324608 e14bd02536e9615f0284b81d3a90a7388eb7ebd1
child 324610 0459bc465abc1a9acdb5906b1eb3d57cc8ba685e
push id24
push usermaklebus@msu.edu
push dateTue, 20 Dec 2016 03:11:33 +0000
reviewersdustin, maliu
bugs1320079
milestone53.0a1
Bug 1320079 - Add configuration for running findbugs in automation. r=dustin,maliu MozReview-Commit-ID: FINUdlHCntT
taskcluster/ci/android-stuff/kind.yml
testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle_dependencies.py
testing/mozharness/configs/builds/releng_sub_android_configs/64_findbugs.py
testing/mozharness/mozharness/mozilla/building/buildbase.py
--- a/taskcluster/ci/android-stuff/kind.yml
+++ b/taskcluster/ci/android-stuff/kind.yml
@@ -226,8 +226,59 @@ jobs:
         scopes:
           - docker-worker:relengapi-proxy:tooltool.download.internal
           - docker-worker:relengapi-proxy:tooltool.download.public
         when:
             files-changed:
               - "mobile/android/**/checkstyle.xml"
               - "mobile/android/**/*.gradle"
               - "mobile/android/**/*.java"
+
+    android-findbugs:
+        description: "Android findbugs"
+        attributes:
+            build_platform: android-findbugs
+            build_type: opt
+        treeherder:
+            platform: android-4-0-armv7-api15/opt
+            kind: build
+            tier: 2
+            symbol: tc(findbugs)
+        worker-type: aws-provisioner-v1/gecko-{level}-b-android
+        worker:
+            implementation: docker-worker
+            docker-image: {in-tree: desktop-build}
+            env:
+                GRADLE_USER_HOME: "/home/worker/workspace/build/src/dotgradle"
+                MH_BUILD_POOL: "taskcluster"
+                MH_CUSTOM_BUILD_VARIANT_CFG: "android-findbugs"
+                MOZHARNESS_ACTIONS: "get-secrets build multi-l10n update"
+                MOZHARNESS_CONFIG: >
+                    builds/releng_base_android_64_builds.py
+                    disable_signing.py
+                    platform_supports_post_upload_to_latest.py
+                MOZHARNESS_SCRIPT: "mozharness/scripts/fx_desktop_build.py"
+                TOOLTOOL_REPO: "https://github.com/mozilla/build-tooltool"
+                TOOLTOOL_REV: "master"
+            artifacts:
+              - name: public/android/findbugs/findbugs-report.html
+                path: /home/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/outputs/findbugs/findbugs-automationDebug-output.html
+                type: file
+              - name: public/build
+                path: /home/worker/artifacts/
+                type: directory
+            caches:
+              - name: tooltool-cache
+                mount-point: /home/worker/tooltool-cache
+                type: persistent
+            relengapi-proxy: true
+            command:
+              # NOTE: this could probably be a job description with run.using = 'mozharness'
+              - "/bin/bash"
+              - "bin/build.sh"
+            max-run-time: 36000
+        scopes:
+          - docker-worker:relengapi-proxy:tooltool.download.internal
+          - docker-worker:relengapi-proxy:tooltool.download.public
+        when:
+            files-changed:
+              - "mobile/android/**/*.gradle"
+              - "mobile/android/**/*.java"
--- a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle_dependencies.py
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle_dependencies.py
@@ -6,16 +6,17 @@ config = {
     'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android-gradle-dependencies/releng.manifest',
     'multi_locale_config_platform': 'android',
     'postflight_build_mach_commands': [
         ['gradle',
          'assembleAutomationRelease',
          'assembleAutomationDebug',
          'assembleAutomationDebugAndroidTest',
          'checkstyle',
+         'findbugsAutomationDebug',
          # Does not include Gecko binaries -- see mobile/android/gradle/with_gecko_binaries.gradle.
          'geckoview:assembleWithoutGeckoBinaries',
          # So that we pick up the test dependencies for the builders.
          'geckoview_example:assembleWithoutGeckoBinaries',
          'geckoview_example:assembleWithoutGeckoBinariesAndroidTest',
         ],
     ],
 }
new file mode 100644
--- /dev/null
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_findbugs.py
@@ -0,0 +1,11 @@
+config = {
+    'base_name': 'Android findbugs %(branch)s',
+    'stage_platform': 'android-findbugs',
+    '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:findbugsAutomationDebug'],
+    ],
+}
--- a/testing/mozharness/mozharness/mozilla/building/buildbase.py
+++ b/testing/mozharness/mozharness/mozilla/building/buildbase.py
@@ -362,16 +362,17 @@ class BuildOptionParser(object):
         'api-15': 'builds/releng_sub_%s_configs/%s_api_15.py',
         'api-15-debug': 'builds/releng_sub_%s_configs/%s_api_15_debug.py',
         'api-15-gradle': 'builds/releng_sub_%s_configs/%s_api_15_gradle.py',
         'x86': 'builds/releng_sub_%s_configs/%s_x86.py',
         'api-15-partner-sample1': 'builds/releng_sub_%s_configs/%s_api_15_partner_sample1.py',
         'android-test': 'builds/releng_sub_%s_configs/%s_test.py',
         'android-checkstyle': 'builds/releng_sub_%s_configs/%s_checkstyle.py',
         'android-lint': 'builds/releng_sub_%s_configs/%s_lint.py',
+        'android-findbugs': 'builds/releng_sub_%s_configs/%s_findbugs.py',
         'valgrind' : 'builds/releng_sub_%s_configs/%s_valgrind.py',
         'artifact': 'builds/releng_sub_%s_configs/%s_artifact.py',
         'debug-artifact': 'builds/releng_sub_%s_configs/%s_debug_artifact.py',
     }
     build_pool_cfg_file = 'builds/build_pool_specifics.py'
     branch_cfg_file = 'builds/branch_specifics.py'
 
     @classmethod