diff options
Diffstat (limited to 'taskcluster/ci')
28 files changed, 2492 insertions, 0 deletions
diff --git a/taskcluster/ci/artifact-build/kind.yml b/taskcluster/ci/artifact-build/kind.yml new file mode 100644 index 000000000..46e522ff5 --- /dev/null +++ b/taskcluster/ci/artifact-build/kind.yml @@ -0,0 +1,39 @@ +# 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/. + +implementation: taskgraph.task.transform:TransformTask + +transforms: + - taskgraph.transforms.build_attrs:transforms + - taskgraph.transforms.job:transforms + - taskgraph.transforms.task:transforms + +jobs: + linux64-artifact/opt: + description: "Linux64 Opt Artifact Build" + index: + product: firefox + job-name: linux64-artifact-opt + treeherder: + platform: linux64/opt + kind: build + symbol: AB + tier: 2 + worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + implementation: docker-worker + docker-image: {in-tree: desktop-build} + max-run-time: 36000 + run: + using: mozharness + actions: [get-secrets build generate-build-stats] + config: + - builds/releng_sub_linux_configs/64_artifact.py + - balrog/production.py + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + tooltool-downloads: public + need-xvfb: true + keep-artifacts: false + diff --git a/taskcluster/ci/build-signing/kind.yml b/taskcluster/ci/build-signing/kind.yml new file mode 100644 index 000000000..89d6e0220 --- /dev/null +++ b/taskcluster/ci/build-signing/kind.yml @@ -0,0 +1,8 @@ +# 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/. + +implementation: 'taskgraph.task.signing:SigningTask' + +kind-dependencies: + - build diff --git a/taskcluster/ci/build/android.yml b/taskcluster/ci/build/android.yml new file mode 100644 index 000000000..74088e3d3 --- /dev/null +++ b/taskcluster/ci/build/android.yml @@ -0,0 +1,137 @@ +android-api-15/debug: + description: "Android 4.0 API15+ Debug" + index: + product: mobile + job-name: + buildbot: android-api-15-debug + gecko-v2: android-api-15-debug + treeherder: + platform: android-4-0-armv7-api15/debug + symbol: tc(B) + worker-type: aws-provisioner-v1/gecko-{level}-b-android + worker: + implementation: docker-worker + max-run-time: 7200 + run: + using: mozharness + actions: [get-secrets build multi-l10n update] + config: + - builds/releng_base_android_64_builds.py + - disable_signing.py + - platform_supports_post_upload_to_latest.py + script: "mozharness/scripts/fx_desktop_build.py" + custom-build-variant-cfg: api-15-debug + tooltool-downloads: internal + +android-x86/opt: + description: "Android 4.2 x86 Opt" + index: + product: mobile + job-name: android-x86-opt + treeherder: + platform: android-4-2-x86/opt + symbol: tc(B) + tier: 1 + worker-type: aws-provisioner-v1/gecko-{level}-b-android + worker: + implementation: docker-worker + max-run-time: 7200 + run: + using: mozharness + actions: [get-secrets build multi-l10n update] + config: + - builds/releng_base_android_64_builds.py + - disable_signing.py + - platform_supports_post_upload_to_latest.py + script: "mozharness/scripts/fx_desktop_build.py" + custom-build-variant-cfg: x86 + tooltool-downloads: internal + +android-api-15/opt: + description: "Android 4.0 API15+ Opt" + index: + product: mobile + job-name: android-api-15-opt + treeherder: + platform: android-4-0-armv7-api15/opt + symbol: tc(B) + tier: 2 + worker-type: aws-provisioner-v1/gecko-{level}-b-android + worker: + implementation: docker-worker + max-run-time: 7200 + run: + using: mozharness + actions: [get-secrets build multi-l10n update] + config: + - builds/releng_base_android_64_builds.py + - disable_signing.py + - platform_supports_post_upload_to_latest.py + script: "mozharness/scripts/fx_desktop_build.py" + custom-build-variant-cfg: api-15 + tooltool-downloads: internal + +android-api-15-nightly/opt: + description: "Android 4.0 API15+ Nightly" + attributes: + nightly: true + index: + product: mobile + job-name: android-api-15-nightly-opt + treeherder: + platform: android-4-0-armv7-api15/opt + symbol: tc(N) + tier: 2 + worker-type: aws-provisioner-v1/gecko-{level}-b-android + worker: + implementation: docker-worker + max-run-time: 7200 + run: + using: mozharness + actions: [get-secrets build multi-l10n update] + config: + - builds/releng_base_android_64_builds.py + - disable_signing.py + - platform_supports_post_upload_to_latest.py + - taskcluster_nightly.py + script: "mozharness/scripts/fx_desktop_build.py" + custom-build-variant-cfg: api-15 + tooltool-downloads: internal + run-on-projects: [] + +android-api-15-gradle/opt: + description: "Android 4.0 API15+ (Gradle) Opt" + index: + product: mobile + job-name: android-api-15-gradle-opt + treeherder: + platform: android-4-0-armv7-api15/opt + symbol: tc(Bg) + tier: 2 + worker-type: aws-provisioner-v1/gecko-{level}-b-android + worker: + implementation: docker-worker + max-run-time: 7200 + env: + # Bug 1292762 - Set GRADLE_USER_HOME to avoid sdk-manager-plugin intermittent + GRADLE_USER_HOME: /home/worker/workspace/build/src/dotgradle + artifacts: + - name: public/android/maven + path: /home/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/ + type: directory + - name: public/android/geckoview_example.apk + path: /home/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk + type: file + - name: public/build + path: /home/worker/artifacts/ + type: directory + run: + using: mozharness + actions: [get-secrets build multi-l10n update] + config: + - builds/releng_base_android_64_builds.py + - disable_signing.py + - platform_supports_post_upload_to_latest.py + script: "mozharness/scripts/fx_desktop_build.py" + custom-build-variant-cfg: api-15-gradle + tooltool-downloads: internal diff --git a/taskcluster/ci/build/kind.yml b/taskcluster/ci/build/kind.yml new file mode 100644 index 000000000..acb8548c9 --- /dev/null +++ b/taskcluster/ci/build/kind.yml @@ -0,0 +1,16 @@ +# 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/. + +implementation: taskgraph.task.transform:TransformTask + +transforms: + - taskgraph.transforms.build:transforms + - taskgraph.transforms.build_attrs:transforms + - taskgraph.transforms.job:transforms + - taskgraph.transforms.task:transforms + +jobs-from: + - linux.yml + - macosx.yml + - windows.yml diff --git a/taskcluster/ci/build/linux.yml b/taskcluster/ci/build/linux.yml new file mode 100644 index 000000000..7143522c8 --- /dev/null +++ b/taskcluster/ci/build/linux.yml @@ -0,0 +1,254 @@ +linux64/opt: + description: "Linux64 Opt" + index: + product: firefox + job-name: linux64-opt + treeherder: + platform: linux64/opt + symbol: tc(B) + tier: 2 + worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + implementation: docker-worker + max-run-time: 36000 + run: + using: mozharness + actions: [get-secrets build check-test generate-build-stats update] + config: + - builds/releng_base_linux_64_builds.py + - balrog/production.py + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + tooltool-downloads: public + need-xvfb: true + +linux64/pgo: + description: "Linux64 PGO" + index: + product: firefox + job-name: + buildbot: linux64-pgo + gecko-v2: linux64-pgo + treeherder: + platform: linux64/pgo + symbol: tc(B) + tier: 2 + worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + implementation: docker-worker + max-run-time: 36000 + coalesce-name: linux64-pgo + run: + using: mozharness + actions: [get-secrets build check-test generate-build-stats update] + options: [enable-pgo] + config: + - builds/releng_base_linux_64_builds.py + - balrog/production.py + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + tooltool-downloads: public + need-xvfb: true + +linux64/debug: + description: "Linux64 Debug" + index: + product: firefox + job-name: + buildbot: linux64-debug + gecko-v2: linux64-debug + treeherder: + platform: linux64/debug + symbol: tc(B) + worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + implementation: docker-worker + max-run-time: 36000 + run: + using: mozharness + actions: [get-secrets build check-test generate-build-stats update] + config: + - builds/releng_base_linux_64_builds.py + - balrog/production.py + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + custom-build-variant-cfg: debug + tooltool-downloads: public + need-xvfb: true + +linux/opt: + description: "Linux32 Opt" + index: + product: firefox + job-name: linux-opt + treeherder: + platform: linux32/opt + symbol: tc(B) + tier: 2 + worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + implementation: docker-worker + max-run-time: 36000 + coalesce-name: opt_linux32 + run: + using: mozharness + actions: [get-secrets build check-test generate-build-stats update] + config: + - builds/releng_base_linux_32_builds.py + - balrog/production.py + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + tooltool-downloads: public + need-xvfb: true + +linux/debug: + description: "Linux32 Debug" + index: + product: firefox + job-name: linux-debug + treeherder: + platform: linux32/debug + symbol: tc(B) + tier: 2 + worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + implementation: docker-worker + max-run-time: 36000 + coalesce-name: dbg_linux32 + run: + using: mozharness + actions: [get-secrets build check-test generate-build-stats update] + config: + - builds/releng_base_linux_32_builds.py + - balrog/production.py + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + custom-build-variant-cfg: debug + tooltool-downloads: public + need-xvfb: true + +linux/pgo: + description: "Linux32 PGO" + index: + product: firefox + job-name: + gecko-v2: linux-pgo + treeherder: + platform: linux32/pgo + symbol: tc(B) + tier: 2 + worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + implementation: docker-worker + max-run-time: 36000 + coalesce-name: linux32-pgo + run: + using: mozharness + actions: [get-secrets build check-test generate-build-stats update] + options: [enable-pgo] + config: + - builds/releng_base_linux_32_builds.py + - balrog/production.py + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + tooltool-downloads: public + need-xvfb: true + +linux64-asan/opt: + description: "Linux64 Opt ASAN" + index: + product: firefox + job-name: linux64-asan-opt + treeherder: + platform: linux64/asan + symbol: tc(Bo) + worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + implementation: docker-worker + max-run-time: 36000 + run: + using: mozharness + actions: [get-secrets build check-test generate-build-stats update] + config: + - builds/releng_base_linux_64_builds.py + - balrog/production.py + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + custom-build-variant-cfg: asan-tc + tooltool-downloads: public + need-xvfb: true + +linux64-asan/debug: + description: "Linux64 Debug ASAN" + index: + product: firefox + job-name: linux64-asan-debug + treeherder: + platform: linux64/asan + symbol: tc(Bd) + worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + implementation: docker-worker + max-run-time: 36000 + run: + using: mozharness + actions: [get-secrets build check-test generate-build-stats update] + config: + - builds/releng_base_linux_64_builds.py + - balrog/production.py + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + custom-build-variant-cfg: asan-tc-and-debug + tooltool-downloads: public + need-xvfb: true + +linux64-jsdcov/opt: + description: "Linux64-JSDCov Opt" + index: + product: firefox + job-name: linux64-jsdcov-opt + treeherder: + platform: linux64/jsdcov + symbol: tc(B) + tier: 2 + run-on-projects: [ ] + worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + implementation: docker-worker + max-run-time: 36000 + run: + using: mozharness + actions: [get-secrets build check-test generate-build-stats update] + config: + - builds/releng_base_linux_64_builds.py + - balrog/production.py + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + tooltool-downloads: public + need-xvfb: true + +linux64-ccov/opt: + description: "Linux64-CCov Opt" + index: + product: firefox + job-name: linux64-ccov-opt + treeherder: + platform: linux64/ccov + symbol: tc(B) + tier: 2 + run-on-projects: [ ] + worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + implementation: docker-worker + max-run-time: 36000 + run: + using: mozharness + actions: [get-secrets build check-test generate-build-stats update] + config: + - builds/releng_base_linux_64_builds.py + - balrog/production.py + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + custom-build-variant-cfg: code-coverage + tooltool-downloads: public + need-xvfb: true diff --git a/taskcluster/ci/build/macosx.yml b/taskcluster/ci/build/macosx.yml new file mode 100644 index 000000000..b8d03669c --- /dev/null +++ b/taskcluster/ci/build/macosx.yml @@ -0,0 +1,71 @@ +macosx64/debug: + description: "MacOS X x64 Cross-compile" + index: + product: firefox + job-name: macosx64-debug + treeherder: + platform: osx-10-7/debug + symbol: tc(B) + tier: 2 + worker-type: aws-provisioner-v1/gecko-{level}-b-macosx64 + worker: + implementation: docker-worker + max-run-time: 36000 + run: + using: mozharness + actions: [get-secrets build generate-build-stats update] + config: + - builds/releng_base_mac_64_cross_builds.py + - balrog/production.py + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + custom-build-variant-cfg: cross-debug + tooltool-downloads: internal + +macosx64/opt: + description: "MacOS X x64 Cross-compile" + index: + product: firefox + job-name: macosx64-opt + treeherder: + platform: osx-10-7/opt + symbol: tc(B) + tier: 2 + run-on-projects: [ ] + worker-type: aws-provisioner-v1/gecko-{level}-b-macosx64 + worker: + implementation: docker-worker + max-run-time: 36000 + run: + using: mozharness + actions: [get-secrets build generate-build-stats update] + config: + - builds/releng_base_mac_64_cross_builds.py + - balrog/production.py + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + tooltool-downloads: internal + +macosx64-universal/opt: + description: "MacOS X Universal Cross-compile" + index: + product: firefox + job-name: macosx64-opt + treeherder: + platform: osx-10-7/opt + symbol: tc(Bu) + tier: 2 + worker-type: aws-provisioner-v1/gecko-{level}-b-macosx64 + worker: + implementation: docker-worker + max-run-time: 36000 + run: + using: mozharness + actions: [get-secrets build generate-build-stats update] + config: + - builds/releng_base_mac_64_cross_builds.py + - balrog/production.py + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + custom-build-variant-cfg: cross-universal + tooltool-downloads: internal diff --git a/taskcluster/ci/build/windows.yml b/taskcluster/ci/build/windows.yml new file mode 100644 index 000000000..a3211219c --- /dev/null +++ b/taskcluster/ci/build/windows.yml @@ -0,0 +1,122 @@ +win32/debug: + description: "Win32 Debug" + index: + product: firefox + job-name: + gecko-v2: win32-debug + treeherder: + platform: windows2012-32/debug + symbol: tc(B) + tier: 2 + worker-type: aws-provisioner-v1/gecko-{level}-b-win2012 + worker: + implementation: generic-worker + max-run-time: 7200 + run: + using: mozharness + script: mozharness/scripts/fx_desktop_build.py + config: + - builds/taskcluster_firefox_win32_debug.py + +win32/opt: + description: "Win32 Opt" + index: + product: firefox + job-name: + gecko-v2: win32-opt + treeherder: + platform: windows2012-32/opt + symbol: tc(B) + tier: 2 + worker-type: aws-provisioner-v1/gecko-{level}-b-win2012 + worker: + implementation: generic-worker + max-run-time: 7200 + run: + using: mozharness + script: mozharness/scripts/fx_desktop_build.py + config: + - builds/taskcluster_firefox_win32_opt.py + +win32/pgo: + description: "Win32 Opt PGO" + index: + product: firefox + job-name: + gecko-v2: win32-pgo + treeherder: + platform: windows2012-32/pgo + symbol: tc(B) + tier: 2 + worker-type: aws-provisioner-v1/gecko-{level}-b-win2012 + worker: + implementation: generic-worker + max-run-time: 9000 + run: + using: mozharness + options: [enable-pgo] + script: mozharness/scripts/fx_desktop_build.py + config: + - builds/taskcluster_firefox_win32_opt.py + +win64/debug: + description: "Win64 Debug" + index: + product: firefox + job-name: + gecko-v2: win64-debug + treeherder: + platform: windows2012-64/debug + symbol: tc(B) + tier: 2 + worker-type: aws-provisioner-v1/gecko-{level}-b-win2012 + worker: + implementation: generic-worker + max-run-time: 7200 + run: + using: mozharness + script: mozharness/scripts/fx_desktop_build.py + config: + - builds/taskcluster_firefox_win64_debug.py + +win64/opt: + description: "Win64 Opt" + index: + product: firefox + job-name: + gecko-v2: win64-opt + treeherder: + platform: windows2012-64/opt + symbol: tc(B) + tier: 2 + worker-type: aws-provisioner-v1/gecko-{level}-b-win2012 + worker: + implementation: generic-worker + max-run-time: 7200 + run: + using: mozharness + script: mozharness/scripts/fx_desktop_build.py + config: + - builds/taskcluster_firefox_win64_opt.py + +win64/pgo: + description: "Win64 Opt PGO" + index: + product: firefox + job-name: + gecko-v2: win64-pgo + treeherder: + platform: windows2012-64/pgo + symbol: tc(B) + tier: 2 + worker-type: aws-provisioner-v1/gecko-{level}-b-win2012 + worker: + implementation: generic-worker + max-run-time: 10800 + run: + using: mozharness + options: [enable-pgo] + script: mozharness/scripts/fx_desktop_build.py + config: + - builds/taskcluster_firefox_win64_opt.py + diff --git a/taskcluster/ci/desktop-test/kind.yml b/taskcluster/ci/desktop-test/kind.yml new file mode 100644 index 000000000..31e305cbe --- /dev/null +++ b/taskcluster/ci/desktop-test/kind.yml @@ -0,0 +1,12 @@ +implementation: taskgraph.task.test:TestTask + +kind-dependencies: + - build + +transforms: + - taskgraph.transforms.tests.test_description:validate + - taskgraph.transforms.tests.desktop_test:transforms + - taskgraph.transforms.tests.all_kinds:transforms + - taskgraph.transforms.tests.test_description:validate + - taskgraph.transforms.tests.make_task_description:transforms + - taskgraph.transforms.task:transforms diff --git a/taskcluster/ci/desktop-test/test-platforms.yml b/taskcluster/ci/desktop-test/test-platforms.yml new file mode 100644 index 000000000..b03d3c41d --- /dev/null +++ b/taskcluster/ci/desktop-test/test-platforms.yml @@ -0,0 +1,73 @@ +# This file maps build platforms to test platforms. In some cases, a +# single build may be tested on multiple test platforms, but a single test +# platform can only link to one build platform. Both build and test platforms +# are represented as <platform>/<type>, where <type> is what Treeherder calls a +# collection. +# +# Each test platform further specifies the set of tests that will be scheduled +# for the platform, referring to tests defined in test-sets.yml. +# +# Note that set does not depend on the tree; tree-dependent job selection +# should be performed in the target task selection phase of task-graph +# generation. + +linux64/debug: + build-platform: linux64/debug + test-set: all-tests +linux64/opt: + build-platform: linux64/opt + test-set: all-tests + +# TODO: use 'pgo' and 'asan' labels here, instead of -pgo/opt +linux64-pgo/opt: + build-platform: linux64-pgo/opt + test-set: all-tests +linux64-asan/opt: + build-platform: linux64-asan/opt + test-set: asan-tests + +linux64-ccov/opt: + build-platform: linux64-ccov/opt + test-set: ccov-code-coverage-tests +linux64-jsdcov/opt: + build-platform: linux64-jsdcov/opt + test-set: jsdcov-code-coverage-tests + +# win32 vm +windows7-32-vm/debug: + build-platform: win32/debug + test-set: windows-vm-tests +windows7-32-vm/opt: + build-platform: win32/opt + test-set: windows-vm-tests + +# win32 gpu +#windows7-32/debug: +# build-platform: win32/debug +# test-set: windows-gpu-tests +#windows7-32/opt: +# build-platform: win32/opt +# test-set: windows-gpu-tests + +# win64 vm +windows10-64-vm/debug: + build-platform: win64/debug + test-set: windows-vm-tests +windows10-64-vm/opt: + build-platform: win64/opt + test-set: windows-vm-tests + +# win64 gpu +#windows10-64/debug: +# build-platform: win64/debug +# test-set: windows-gpu-tests +#windows10-64/opt: +# build-platform: win64/opt +# test-set: windows-gpu-tests + +# macosx64/debug: +# build-platform: macosx64/debug +# test-set: macosx64-tests +# macosx64/opt: +# build-platform: macosx64/opt +# test-set: macosx64-tests diff --git a/taskcluster/ci/desktop-test/test-sets.yml b/taskcluster/ci/desktop-test/test-sets.yml new file mode 100644 index 000000000..da1ea6263 --- /dev/null +++ b/taskcluster/ci/desktop-test/test-sets.yml @@ -0,0 +1,118 @@ +# Each key in this file specifies a set of tests to run. Different test sets +# may, for example, be bound to different test platforms. +# +# Note that set does not depend on the tree; tree-dependent job selection +# should be performed in the target task selection phase of task-graph +# generation. +# +# A test set has a name, and a list of tests that it contains. +# +# Test names given here reference tests.yml. + +all-tests: + - cppunit + - crashtest + - firefox-ui-functional-local + - firefox-ui-functional-remote + - gtest + - jittest + - jsreftest + - marionette + - mochitest + - mochitest-a11y + - mochitest-browser-chrome + - mochitest-chrome + - mochitest-clipboard + - mochitest-devtools-chrome + - mochitest-gpu + - mochitest-jetpack + - mochitest-media + - mochitest-webgl + - reftest + - reftest-no-accel + - web-platform-tests + - web-platform-tests-reftests + - web-platform-tests-wdspec + - xpcshell + +asan-tests: + - cppunit + - crashtest + - firefox-ui-functional-local + - firefox-ui-functional-remote + - gtest + - jittest + - jsreftest + - marionette + - mochitest + - mochitest-a11y + - mochitest-browser-chrome + - mochitest-chrome + - mochitest-clipboard + - mochitest-devtools-chrome + - mochitest-gpu + - mochitest-jetpack + - mochitest-media + - mochitest-webgl + - reftest + - reftest-no-accel + - xpcshell + +windows-vm-tests: + - cppunit + #- crashtest + - external-media-tests + #- gtest + #- jittest + #- jsreftest + #- marionette + #- mochitest + #- mochitest-browser-chrome + #- mochitest-devtools-chrome + #- mochitest-jetpack + #- mochitest-media + #- web-platform-tests + #- web-platform-tests-reftests + #- xpcshell + +# windows-gpu-tests: +# - reftest +# - reftest-no-accel +# - mochitest-webgl + +# these tests currently run on hardware, but may migrate above when validated +# note: on win, mochitest-a11y and mochitest-chrome come under mochitest-other +# windows-hw-tests: +# - mochitest-clipboard +# - mochitest-gpu +# - mochitest-other + +ccov-code-coverage-tests: + - mochitest + - mochitest-browser-chrome + - mochitest-devtools-chrome + - xpcshell + +jsdcov-code-coverage-tests: + - mochitest-browser-chrome + - mochitest-devtools-chrome + +macosx64-tests: + - cppunit + - crashtest + # - gtest + - jsreftest + # - marionette + # - mochitest + # - mochitest-browser-chrome + # - mochitest-clipboard + # - mochitest-devtools-chrome + # - mochitest-gpu + # - mochitest-jetpack + # - mochitest-media + # - mochitest-other + - mochitest-webgl + # - reftest + # - web-platform-tests + # - web-platform-tests-reftests + # - xpcshell diff --git a/taskcluster/ci/desktop-test/tests.yml b/taskcluster/ci/desktop-test/tests.yml new file mode 100644 index 000000000..edfb30909 --- /dev/null +++ b/taskcluster/ci/desktop-test/tests.yml @@ -0,0 +1,721 @@ +# Each stanza here describes a particular test suite or sub-suite. These are +# processed through the transformations described in kind.yml to produce a +# bunch of tasks. See the schema in `test-descriptions.py` for a description +# of the fields used here. + +# Note that these are in lexical order + +cppunit: + description: "CPP Unit Tests" + suite: cppunittest + treeherder-symbol: tc(Cpp) + e10s: false + run-on-projects: + by-test-platform: + windows.*: ['mozilla-central', 'try'] + default: ['all'] + mozharness: + script: desktop_unittest.py + no-read-buildbot-config: true + config: + by-test-platform: + win.*: + - unittests/win_taskcluster_unittest.py + macosx.*: + - remove_executables.py + - unittests/mac_unittest.py + default: + - unittests/linux_unittest.py + - remove_executables.py + extra-options: + - --cppunittest-suite=cppunittest + +crashtest: + description: "Crashtest run" + suite: reftest/crashtest + treeherder-symbol: tc-R(C) + docker-image: {"in-tree": "desktop1604-test"} + e10s: + by-test-platform: + # Bug 1304435 + win.*: false + default: both + mozharness: + script: desktop_unittest.py + chunked: true + no-read-buildbot-config: true + config: + by-test-platform: + win.*: + - unittests/win_taskcluster_unittest.py + macosx.*: + - remove_executables.py + - unittests/mac_unittest.py + default: + - unittests/linux_unittest.py + - remove_executables.py + extra-options: + - --reftest-suite=crashtest + +external-media-tests: + description: "External Media Test run" + suite: external-media-tests + treeherder-symbol: tc-VP(b-m) + e10s: false + tier: 2 + max-run-time: 5400 + run-on-projects: + by-test-platform: + windows.*: ['mozilla-central', 'try'] + default: ['all'] + mozharness: + script: firefox_media_tests_taskcluster.py + config: + by-test-platform: + win.*: + - mediatests/taskcluster_windows_config.py + default: + - mediatests/taskcluster_posix_config.py + - remove_executables.py + +firefox-ui-functional-local: + description: "Firefox-ui-tests functional run" + suite: "firefox-ui/functional local" + treeherder-symbol: tc-Fxfn-l(en-US) + max-run-time: 5400 + tier: 1 + docker-image: {"in-tree": "desktop1604-test"} + mozharness: + script: firefox_ui_tests/functional.py + config: + - firefox_ui_tests/taskcluster.py + - remove_executables.py + extra-options: + - "--tag" + - "local" + +firefox-ui-functional-remote: + description: "Firefox-ui-tests functional run" + suite: "firefox-ui/functional remote" + treeherder-symbol: tc-Fxfn-r(en-US) + max-run-time: 5400 + tier: 2 + docker-image: {"in-tree": "desktop1604-test"} + mozharness: + script: firefox_ui_tests/functional.py + config: + - firefox_ui_tests/taskcluster.py + - remove_executables.py + extra-options: + - "--tag" + - "remote" + +gtest: + description: "GTests run" + suite: gtest + treeherder-symbol: tc(GTest) + e10s: false + instance-size: xlarge + mozharness: + script: desktop_unittest.py + no-read-buildbot-config: true + config: + by-test-platform: + win.*: + - unittests/win_taskcluster_unittest.py + macosx.*: + - remove_executables.py + - unittests/mac_unittest.py + default: + - unittests/linux_unittest.py + - remove_executables.py + extra-options: + - --gtest-suite=gtest + +jittest: + description: "JIT Test run" + suite: jittest/jittest-chunked + treeherder-symbol: tc(Jit) + e10s: false + chunks: + by-test-platform: + win.*: 1 + default: 6 + mozharness: + script: desktop_unittest.py + no-read-buildbot-config: true + config: + by-test-platform: + win.*: + - unittests/win_taskcluster_unittest.py + macosx.*: + - remove_executables.py + - unittests/mac_unittest.py + default: + - unittests/linux_unittest.py + - remove_executables.py + extra-options: + - --jittest-suite=jittest-chunked + +jsreftest: + description: "JS Reftest run" + suite: reftest/jsreftest + treeherder-symbol: tc-R(J) + chunks: + by-test-platform: + win.*: 1 + default: 2 + mozharness: + script: desktop_unittest.py + no-read-buildbot-config: true + config: + by-test-platform: + win.*: + - unittests/win_taskcluster_unittest.py + macosx.*: + - remove_executables.py + - unittests/mac_unittest.py + default: + - unittests/linux_unittest.py + - remove_executables.py + extra-options: + - --reftest-suite=jsreftest + +marionette: + description: "Marionette unittest run" + suite: marionette + treeherder-symbol: tc(Mn) + max-run-time: 5400 + docker-image: {"in-tree": "desktop1604-test"} + mozharness: + script: marionette.py + no-read-buildbot-config: true + config: + by-test-platform: + win.*: + - marionette/windows_taskcluster_config.py + default: + - marionette/prod_config.py + - remove_executables.py + +mochitest: + description: "Mochitest plain run" + suite: mochitest/plain-chunked + treeherder-symbol: tc-M() + loopback-video: true + run-on-projects: + by-test-platform: + linux64-ccov/opt: [] + default: ['all'] + chunks: + by-test-platform: + macosx.*: 5 + win.*: 5 + default: 10 + e10s: + by-test-platform: + linux64-ccov/opt: false + default: both + max-run-time: 5400 + mozharness: + script: desktop_unittest.py + no-read-buildbot-config: true + chunked: true + config: + by-test-platform: + win.*: + - unittests/win_taskcluster_unittest.py + macosx.*: + - remove_executables.py + - unittests/mac_unittest.py + default: + - unittests/linux_unittest.py + - remove_executables.py + extra-options: + by-test-platform: + linux64-ccov/opt: + - --mochitest-suite=plain-chunked + - --code-coverage + default: + - --mochitest-suite=plain-chunked + # Bug 1281241: migrating to m3.large instances + instance-size: legacy + allow-software-gl-layers: false + +mochitest-a11y: + description: "Mochitest a11y run" + suite: mochitest/a11y + treeherder-symbol: tc-M(a11y) + loopback-video: true + e10s: false + mozharness: + script: desktop_unittest.py + no-read-buildbot-config: true + chunked: true + config: + by-test-platform: + win.*: + - unittests/win_taskcluster_unittest.py + macosx.*: + - remove_executables.py + - unittests/mac_unittest.py + default: + - unittests/linux_unittest.py + - remove_executables.py + extra-options: + - --mochitest-suite=a11y + +mochitest-browser-chrome: + description: "Mochitest browser-chrome run" + suite: + by-test-platform: + linux64-jsdcov/opt: mochitest/browser-chrome-coverage + default: mochitest/browser-chrome-chunked + treeherder-symbol: tc-M(bc) + loopback-video: true + run-on-projects: + by-test-platform: + linux64-jsdcov/opt: [] + linux64-ccov/opt: [] + default: ['all'] + chunks: + by-test-platform: + linux64-jsdcov/opt: 35 + default: 10 + e10s: + by-test-platform: + linux64-jsdcov/opt: false + linux64-ccov/opt: false + default: both + max-run-time: + by-test-platform: + linux64-jsdcov/opt: 7200 + linux64-ccov/opt: 7200 + linux64/debug: 5400 + default: 3600 + mozharness: + script: desktop_unittest.py + no-read-buildbot-config: true + config: + by-test-platform: + win.*: + - unittests/win_taskcluster_unittest.py + macosx.*: + - remove_executables.py + - unittests/mac_unittest.py + default: + - unittests/linux_unittest.py + - remove_executables.py + extra-options: + by-test-platform: + linux64-jsdcov/opt: + - --mochitest-suite=browser-chrome-coverage + linux64-ccov/opt: + - --mochitest-suite=browser-chrome-chunked + - --code-coverage + default: + - --mochitest-suite=browser-chrome-chunked + # Bug 1281241: migrating to m3.large instances + instance-size: + by-test-platform: + linux64-jsdcov/opt: xlarge + linux64-ccov/opt: xlarge + default: legacy + allow-software-gl-layers: false + +mochitest-chrome: + description: "Mochitest chrome run" + suite: mochitest/chrome + treeherder-symbol: tc-M(c) + loopback-video: true + chunks: + by-test-platform: + macosx.*: 1 + default: 3 + e10s: false + mozharness: + script: desktop_unittest.py + no-read-buildbot-config: true + config: + by-test-platform: + win.*: + - unittests/win_taskcluster_unittest.py + macosx.*: + - remove_executables.py + - unittests/mac_unittest.py + default: + - unittests/linux_unittest.py + - remove_executables.py + extra-options: + - --mochitest-suite=chrome + +mochitest-clipboard: + description: "Mochitest clipboard run" + suite: mochitest/plain-clipboard,chrome-clipboard,browser-chrome-clipboard,jetpack-package-clipboard + treeherder-symbol: tc-M(cl) + loopback-video: true + instance-size: xlarge + mozharness: + script: desktop_unittest.py + no-read-buildbot-config: true + chunked: true + config: + by-test-platform: + win.*: + - unittests/win_taskcluster_unittest.py + macosx.*: + - remove_executables.py + - unittests/mac_unittest.py + default: + - unittests/linux_unittest.py + - remove_executables.py + extra-options: + - --mochitest-suite=plain-clipboard,chrome-clipboard,browser-chrome-clipboard,jetpack-package-clipboard + +mochitest-devtools-chrome: + description: "Mochitest devtools-chrome run" + suite: + by-test-platform: + linux64-jsdcov/opt: mochitest/mochitest-devtools-chrome-coverage + default: mochitest/mochitest-devtools-chrome-chunked + treeherder-symbol: tc-M(dt) + loopback-video: true + max-run-time: 5400 + chunks: + by-test-platform: + win.*: 8 + default: 10 + run-on-projects: + by-test-platform: + linux64-ccov/opt: [] + linux64-jsdcov/opt: [] + windows.*: ['mozilla-central', 'try'] + default: ['all'] + e10s: + by-test-platform: + # Bug 1242986: linux64/debug mochitest-devtools-chrome e10s is not greened up yet + linux64/debug: false + linux64-ccov/opt: false + linux64-jsdcov/opt: false + default: both + mozharness: + script: desktop_unittest.py + no-read-buildbot-config: true + config: + by-test-platform: + win.*: + - unittests/win_taskcluster_unittest.py + macosx.*: + - remove_executables.py + - unittests/mac_unittest.py + default: + - unittests/linux_unittest.py + - remove_executables.py + extra-options: + by-test-platform: + linux64-ccov/opt: + - --mochitest-suite=mochitest-devtools-chrome-chunked + - --code-coverage + linux64-jsdcov: + - --mochitest-suite=mochitest-devtools-chrome-coverage + default: + - --mochitest-suite=mochitest-devtools-chrome-chunked + instance-size: + by-test-platform: + # Bug 1281241: migrating to m3.large instances + linux64-asan/opt: legacy + default: default + # Bug 1296086: high number of intermittents observed with software GL and large instances + allow-software-gl-layers: false + +mochitest-gpu: + description: "Mochitest GPU run" + suite: mochitest/plain-gpu,chrome-gpu,browser-chrome-gpu + treeherder-symbol: tc-M(gpu) + loopback-video: true + e10s: + by-test-platform: + win.*: both + default: true + mozharness: + script: desktop_unittest.py + no-read-buildbot-config: true + chunked: true + config: + by-test-platform: + win.*: + - unittests/win_taskcluster_unittest.py + macosx.*: + - remove_executables.py + - unittests/mac_unittest.py + default: + - unittests/linux_unittest.py + - remove_executables.py + extra-options: + - --mochitest-suite=plain-gpu,chrome-gpu,browser-chrome-gpu + +mochitest-jetpack: + description: "Mochitest jetpack run" + suite: mochitest/jetpack-package + treeherder-symbol: tc-M(JP) + loopback-video: true + e10s: false + max-run-time: 5400 + run-on-projects: + by-test-platform: + windows.*: ['mozilla-central', 'try'] + default: ['all'] + mozharness: + script: desktop_unittest.py + no-read-buildbot-config: true + chunked: true + config: + by-test-platform: + win.*: + - unittests/win_taskcluster_unittest.py + macosx.*: + - remove_executables.py + - unittests/mac_unittest.py + default: + - unittests/linux_unittest.py + - remove_executables.py + extra-options: + - --mochitest-suite=jetpack-package + - --mochitest-suite=jetpack-addon + +mochitest-media: + description: "Mochitest media run" + suite: mochitest/mochitest-media + treeherder-symbol: tc-M(mda) + max-run-time: 5400 + loopback-video: true + instance-size: large + docker-image: {"in-tree": "desktop1604-test"} + mozharness: + script: desktop_unittest.py + no-read-buildbot-config: true + chunked: true + config: + by-test-platform: + win.*: + - unittests/win_taskcluster_unittest.py + macosx.*: + - remove_executables.py + - unittests/mac_unittest.py + default: + - unittests/linux_unittest.py + - remove_executables.py + extra-options: + - --mochitest-suite=mochitest-media + +mochitest-other: + description: "Mochitest other" + suite: mochitest/other + treeherder-symbol: tc-M(oth) + e10s: false + max-run-time: 5400 + mozharness: + script: mozharness/scripts/desktop_unittest.py + no-read-buildbot-config: true + include-blob-upload-branch: true + chunked: true + config: + by-test-platform: + macosx.*: + - remove_executables.py + - unittests/mac_unittest.py + default: + - unittests/linux_unittest.py + - remove_executables.py + extra-options: + - --mochitest-suite=chrome,a11y + +mochitest-webgl: + description: "Mochitest webgl run" + suite: mochitest/mochitest-gl + treeherder-symbol: tc-M(gl) + chunks: 3 + loopback-video: true + mozharness: + script: desktop_unittest.py + no-read-buildbot-config: true + chunked: true + config: + by-test-platform: + win.*: + - unittests/win_taskcluster_unittest.py + macosx.*: + - remove_executables.py + - unittests/mac_unittest.py + default: + - unittests/linux_unittest.py + - remove_executables.py + extra-options: + - --mochitest-suite=mochitest-gl + # Bug 1296733: llvmpipe with mesa 9.2.1 lacks thread safety + allow-software-gl-layers: false + +reftest: + description: "Reftest run" + suite: reftest/reftest + treeherder-symbol: tc-R(R) + docker-image: {"in-tree": "desktop1604-test"} + chunks: + by-test-platform: + macosx.*: 1 + default: 8 + mozharness: + script: desktop_unittest.py + no-read-buildbot-config: true + config: + by-test-platform: + win.*: + - unittests/win_taskcluster_unittest.py + macosx.*: + - remove_executables.py + - unittests/mac_unittest.py + default: + - unittests/linux_unittest.py + - remove_executables.py + extra-options: + - --reftest-suite=reftest + +reftest-no-accel: + description: "Reftest not accelerated run" + suite: reftest/reftest-no-accel + treeherder-symbol: tc-R(Ru) + docker-image: {"in-tree": "desktop1604-test"} + chunks: + by-test-platform: + macosx.*: 1 + default: 8 + mozharness: + script: desktop_unittest.py + no-read-buildbot-config: true + config: + by-test-platform: + win.*: + - unittests/win_taskcluster_unittest.py + macosx.*: + - remove_executables.py + - unittests/mac_unittest.py + default: + - unittests/linux_unittest.py + - remove_executables.py + extra-options: + - --reftest-suite=reftest-no-accel + +web-platform-tests: + description: "Web platform test run" + suite: web-platform-tests + treeherder-symbol: tc-W() + chunks: + by-test-platform: + macosx.*: 5 + default: 12 + max-run-time: 7200 + instance-size: xlarge + docker-image: {"in-tree": "desktop1604-test"} + checkout: true + run-on-projects: + by-test-platform: + windows.*: ['mozilla-central', 'try'] + default: ['all'] + mozharness: + script: web_platform_tests.py + no-read-buildbot-config: true + config: + by-test-platform: + win.*: + - web_platform_tests/prod_config_windows_taskcluster.py + default: + - web_platform_tests/prod_config.py + - remove_executables.py + extra-options: + - --test-type=testharness + +web-platform-tests-reftests: + description: "Web platform reftest run" + suite: web-platform-tests-reftests + treeherder-symbol: tc-W(Wr) + max-run-time: 5400 + instance-size: xlarge + docker-image: {"in-tree": "desktop1604-test"} + checkout: true + run-on-projects: + by-test-platform: + windows.*: ['mozilla-central', 'try'] + default: ['all'] + mozharness: + script: web_platform_tests.py + no-read-buildbot-config: true + config: + by-test-platform: + win.*: + - web_platform_tests/prod_config_windows_taskcluster.py + default: + - web_platform_tests/prod_config.py + - remove_executables.py + extra-options: + - --test-type=reftest + +web-platform-tests-wdspec: + description: "Web platform webdriver-spec run" + suite: web-platform-tests-wdspec + treeherder-symbol: tc-W(Wd) + max-run-time: 5400 + instance-size: xlarge + docker-image: {"in-tree": "desktop1604-test"} + checkout: true + mozharness: + script: web_platform_tests.py + no-read-buildbot-config: true + config: + by-test-platform: + win.*: + - web_platform_tests/prod_config_windows_taskcluster.py + default: + - web_platform_tests/prod_config.py + - remove_executables.py + extra-options: + - --test-type=wdspec + +xpcshell: + description: "xpcshell test run" + suite: xpcshell + treeherder-symbol: tc-X() + run-on-projects: + by-test-platform: + linux64-ccov/opt: [] + default: ['all'] + chunks: + by-test-platform: + # win.*: 1 + macosx.*: 1 + linux64/debug: 10 + default: 8 + max-run-time: 5400 + e10s: false + mozharness: + script: desktop_unittest.py + no-read-buildbot-config: true + config: + by-test-platform: + win.*: + - unittests/win_taskcluster_unittest.py + macosx.*: + - remove_executables.py + - unittests/mac_unittest.py + default: + - unittests/linux_unittest.py + - remove_executables.py + extra-options: + by-test-platform: + linux64-ccov/opt: + - --xpcshell-suite=xpcshell + - --code-coverage + default: + - --xpcshell-suite=xpcshell + # Bug 1281241: migrating to m3.large instances + instance-size: legacy + allow-software-gl-layers: false diff --git a/taskcluster/ci/docker-image/image.yml b/taskcluster/ci/docker-image/image.yml new file mode 100644 index 000000000..f9a1113f0 --- /dev/null +++ b/taskcluster/ci/docker-image/image.yml @@ -0,0 +1,68 @@ +--- +task: + created: + relative-datestamp: "0 seconds" + deadline: + relative-datestamp: "24 hours" + metadata: + name: 'Docker Image Build: {{image_name}}' + description: 'Build the docker image {{image_name}} for use by dependent tasks' + source: '{{source}}' + owner: mozilla-taskcluster-maintenance@mozilla.com + tags: + createdForUser: '{{owner}}' + + workerType: taskcluster-images + provisionerId: aws-provisioner-v1 + schedulerId: task-graph-scheduler + + routes: + # Indexing routes to avoid building the same image twice + - index.{{index_image_prefix}}.level-{{level}}.{{image_name}}.latest + - index.{{index_image_prefix}}.level-{{level}}.{{image_name}}.pushdate.{{year}}.{{month}}-{{day}}-{{pushtime}} + - index.{{index_image_prefix}}.level-{{level}}.{{image_name}}.hash.{{context_hash}} + # Treeherder routes + - tc-treeherder.v2.{{project}}.{{head_rev}}.{{pushlog_id}} + - tc-treeherder-stage.v2.{{project}}.{{head_rev}}.{{pushlog_id}} + + scopes: + - secrets:get:project/taskcluster/gecko/hgfingerprint + - docker-worker:cache:level-{{level}}-imagebuilder-v1 + + payload: + env: + HASH: '{{context_hash}}' + PROJECT: '{{project}}' + CONTEXT_URL: '{{context_url}}' + IMAGE_NAME: '{{image_name}}' + GECKO_BASE_REPOSITORY: '{{base_repository}}' + GECKO_HEAD_REPOSITORY: '{{head_repository}}' + GECKO_HEAD_REV: '{{head_rev}}' + HG_STORE_PATH: '/home/worker/checkouts/hg-store' + cache: + 'level-{{level}}-imagebuilder-v1': '/home/worker/checkouts' + features: + dind: true + chainOfTrust: true + taskclusterProxy: true + image: '{{#docker_image}}image_builder{{/docker_image}}' + maxRunTime: 3600 + artifacts: + '{{artifact_path}}': + type: 'file' + path: '/home/worker/workspace/artifacts/image.tar.zst' + expires: + relative-datestamp: "1 year" + extra: + imageMeta: # Useful when converting back from JSON in action tasks + level: '{{level}}' + contextHash: '{{context_hash}}' + imageName: '{{image_name}}' + treeherderEnv: + - staging + - production + treeherder: + jobKind: other + build: + platform: 'taskcluster-images' + groupSymbol: 'I' diff --git a/taskcluster/ci/docker-image/kind.yml b/taskcluster/ci/docker-image/kind.yml new file mode 100644 index 000000000..d1c118c8e --- /dev/null +++ b/taskcluster/ci/docker-image/kind.yml @@ -0,0 +1,19 @@ +# 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/. + +implementation: 'taskgraph.task.docker_image:DockerImageTask' +images_path: '../../../testing/docker' + +# make a task for each docker-image we might want. For the moment, since we +# write artifacts for each, these are whitelisted, but ideally that will change +# (to use subdirectory clones of the proper directory), at which point we can +# generate tasks for every docker image in the directory, secure in the +# knowledge that unnecessary images will be omitted from the target task graph +images: + desktop-test: dt + desktop1604-test: dt16t + desktop-build: db + tester: tst + lint: lnt + android-gradle-build: agb diff --git a/taskcluster/ci/hazard/kind.yml b/taskcluster/ci/hazard/kind.yml new file mode 100644 index 000000000..4849cdbd6 --- /dev/null +++ b/taskcluster/ci/hazard/kind.yml @@ -0,0 +1,58 @@ +# 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/. + +implementation: taskgraph.task.transform:TransformTask + +transforms: + - taskgraph.transforms.build_attrs:transforms + - taskgraph.transforms.job:transforms + - taskgraph.transforms.task:transforms + +job-defaults: + treeherder: + kind: build + tier: 1 + worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + implementation: docker-worker + max-run-time: 36000 + docker-image: {in-tree: desktop-build} + +jobs: + linux64-shell-haz/debug: + description: "JS Shell Hazard Analysis Linux" + index: + product: firefox + job-name: + gecko-v2: shell-haz-debug + treeherder: + platform: linux64/debug + symbol: SM-tc(H) + run: + using: hazard + tooltool-manifest: "browser/config/tooltool-manifests/linux64/hazard.manifest" + command: > + cd /home/worker/checkouts/gecko/taskcluster/scripts/builder + && ./build-haz-linux.sh --project shell $HOME/workspace + when: + files-changed: + - js/public/** + - js/src/** + + linux64-haz/debug: + description: "Browser Hazard Analysis Linux" + index: + product: firefox + job-name: + gecko-v2: browser-haz-debug + treeherder: + platform: linux64/debug + symbol: tc(H) + run: + using: hazard + tooltool-manifest: "browser/config/tooltool-manifests/linux64/hazard.manifest" + mozconfig: "browser/config/mozconfigs/linux64/hazards" + command: > + cd /home/worker/checkouts/gecko/taskcluster/scripts/builder + && ./build-haz-linux.sh --project browser $HOME/workspace diff --git a/taskcluster/ci/l10n/kind.yml b/taskcluster/ci/l10n/kind.yml new file mode 100644 index 000000000..dfd011e9a --- /dev/null +++ b/taskcluster/ci/l10n/kind.yml @@ -0,0 +1,89 @@ +# 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/. + +# NOTE: please write a description of this kind in taskcluster/docs/kinds.rst + +implementation: taskgraph.task.transform:TransformTask + +transforms: + - taskgraph.transforms.l10n:transforms + - taskgraph.transforms.build_attrs:transforms + - taskgraph.transforms.job:transforms + - taskgraph.transforms.task:transforms + +job-defaults: + index: + product: firefox + treeherder: + kind: build + tier: 2 + worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + implementation: docker-worker + docker-image: {in-tree: desktop-build} + max-run-time: 36000 + + # don't run anywhere by default, but still available via try + run-on-projects: [] + run: + # NOTE: this should really be a different "using" since it's using + # build-l10n.sh instead of build-linux.sh. Preferably, build-linux.sh + # and the mozharness run implementation should be modified to support + # the functionality that l10n needs + using: mozharness + job-script: taskcluster/scripts/builder/build-l10n.sh + when: + files-changed: + - browser/locales/all-locales + - python/compare-locales/** + - testing/mozharness/configs/single_locale/** + - testing/mozharness/mozharness/mozilla/l10n/locales.py + - testing/mozharness/scripts/desktop_l10n.py + - toolkit/locales/** + - toolkit/mozapps/installer/** + +jobs: + linux-l10n/opt: + description: "Localization" + index: + job-name: + gecko-v2: linux32-l10n-opt + treeherder: + platform: linux32/opt + symbol: tc(L10n) + run: + script: mozharness/scripts/desktop_l10n.py + actions: [clone-locales list-locales setup repack summary] + config: + - single_locale/tc_linux32.py + options: + - environment-config=single_locale/production.py + - branch-config=single_locale/{project}.py + - platform-config=single_locale/linux32.py + - total-chunks=1 + - this-chunk=1 + tooltool-downloads: public + need-xvfb: true + + linux64-l10n/opt: + description: "Localization" + index: + job-name: + gecko-v2: linux64-l10n-opt + treeherder: + platform: linux64/opt + symbol: tc(L10n) + run: + script: mozharness/scripts/desktop_l10n.py + actions: [clone-locales list-locales setup repack summary] + config: + - single_locale/tc_linux64.py + options: + - environment-config=single_locale/production.py + - branch-config=single_locale/{project}.py + - platform-config=single_locale/linux64.py + - total-chunks=1 + - this-chunk=1 + tooltool-downloads: public + need-xvfb: true diff --git a/taskcluster/ci/marionette-harness/kind.yml b/taskcluster/ci/marionette-harness/kind.yml new file mode 100644 index 000000000..8ec8189b9 --- /dev/null +++ b/taskcluster/ci/marionette-harness/kind.yml @@ -0,0 +1,51 @@ +# 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/. + +# NOTE: please write a description of this kind in taskcluster/docs/kinds.rst + +implementation: taskgraph.task.transform:TransformTask + +transforms: + - taskgraph.transforms.marionette_harness:transforms + - taskgraph.transforms.task:transforms + +# NOTE: this task should be refactored so that it is invoked as a job either +# with a run.using of "mozharness", and combined with the source-check kind. + +jobs: + marionette-harness/opt: + description: "Marionette harness unit test" + attributes: + build_platform: marionette-harness + build_type: opt + treeherder: + platform: linux64/opt + kind: test + tier: 2 + symbol: tc(Mn-h) + worker-type: aws-provisioner-v1/gecko-t-linux-xlarge + worker: + implementation: docker-worker + docker-image: {in-tree: desktop-build} # NOTE: better to use the lint image + env: + JOB_SCRIPT: "taskcluster/scripts/tester/harness-test-linux.sh" + MOZHARNESS_SCRIPT: "testing/mozharness/scripts/marionette_harness_tests.py" + TOOLS_DISABLE: "true" + TOOLTOOL_REPO: "https://github.com/mozilla/build-tooltool" + TOOLTOOL_REV: "master" + artifacts: + - name: public/logs/ + path: /home/worker/workspace/mozharness_workspace/upload/logs/ + type: directory + command: + - "bash" + - "/home/worker/bin/build.sh" + - "--tests=testing/marionette/harness/marionette_harness/tests/harness_unit" + - "--work-dir=mozharness_workspace" + max-run-time: 1800 + when: + files-changed: + - "testing/marionette/harness/**" + - "testing/mozharness/scripts/marionette_harness_tests.py" + - "testing/config/marionette_harness_test_requirements.txt" diff --git a/taskcluster/ci/source-check/doc.yml b/taskcluster/ci/source-check/doc.yml new file mode 100644 index 000000000..0ab91c518 --- /dev/null +++ b/taskcluster/ci/source-check/doc.yml @@ -0,0 +1,32 @@ +sphinx/opt: + description: Generate the Sphinx documentation + treeherder: + symbol: tc(Doc) + kind: test + tier: 1 + platform: lint/opt + worker-type: aws-provisioner-v1/b2gtest + worker: + implementation: docker-worker + docker-image: {in-tree: "lint"} + max-run-time: 1800 + artifacts: + - type: file + name: public/docs.tar.gz + path: /home/worker/checkouts/gecko/docs.tar.gz + run: + using: run-task + command: > + cd /home/worker/checkouts/gecko && + ./mach doc --outdir docs-out --no-open && + rm -rf docs-out/html/Mozilla_Source_Tree_Docs/_venv && + mv docs-out/html/Mozilla_Source_Tree_Docs docs && + tar -czf docs.tar.gz docs + run-on-projects: + - integration + - release + when: + files-changed: + - '**/*.py' + - '**/*.rst' + - 'tools/docs/**' diff --git a/taskcluster/ci/source-check/kind.yml b/taskcluster/ci/source-check/kind.yml new file mode 100644 index 000000000..6bc2b4b83 --- /dev/null +++ b/taskcluster/ci/source-check/kind.yml @@ -0,0 +1,15 @@ +# 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/. + +implementation: taskgraph.task.transform:TransformTask + +transforms: + - taskgraph.transforms.build_attrs:transforms + - taskgraph.transforms.job:transforms + - taskgraph.transforms.task:transforms + +jobs-from: + - python-tests.yml + - mozlint.yml + - doc.yml diff --git a/taskcluster/ci/source-check/mozlint.yml b/taskcluster/ci/source-check/mozlint.yml new file mode 100644 index 000000000..fd22a9f8f --- /dev/null +++ b/taskcluster/ci/source-check/mozlint.yml @@ -0,0 +1,97 @@ +mozlint-eslint/opt: + description: JS lint check + treeherder: + symbol: ES + kind: test + tier: 1 + platform: lint/opt + worker-type: aws-provisioner-v1/b2gtest + worker: + implementation: docker-worker + docker-image: {in-tree: "lint"} + max-run-time: 1800 + run: + using: run-task + command: > + cd /home/worker/checkouts/gecko/tools/lint/eslint && + /build/tooltool.py fetch -m manifest.tt && + tar xvfz eslint.tar.gz && + rm eslint.tar.gz && + ln -s ../eslint-plugin-mozilla node_modules && + cd ../../.. && + ./mach lint -l eslint -f treeherder --quiet + run-on-projects: + - integration + - release + when: + files-changed: + # Files that are likely audited. + - '**/*.js' + - '**/*.jsm' + - '**/*.jsx' + - '**/*.html' + - '**/*.xhtml' + - '**/*.xml' + # Run when eslint policies change. + - '**/.eslintignore' + - '**/*eslintrc*' + # The plugin implementing custom checks. + - 'tools/lint/eslint/eslint-plugin-mozilla/**' + # Other misc lint related files. + - 'python/mozlint/**' + - 'tools/lint/**' + - 'testing/docker/lint/**' + +mozlint-flake8/opt: + description: flake8 run over the gecko codebase + treeherder: + symbol: f8 + kind: test + tier: 1 + platform: lint/opt + worker-type: aws-provisioner-v1/b2gtest + worker: + implementation: docker-worker + docker-image: {in-tree: "lint"} + max-run-time: 1800 + run: + using: mach + mach: lint -l flake8 -f treeherder + run-on-projects: + - integration + - release + when: + files-changed: + - '**/*.py' + - '**/.flake8' + - 'python/mozlint/**' + - 'tools/lint/**' + - 'testing/docker/lint/**' + +wptlint-gecko/opt: + description: web-platform-tests linter + treeherder: + symbol: W + kind: test + tier: 1 + platform: lint/opt + worker-type: aws-provisioner-v1/b2gtest + worker: + implementation: docker-worker + docker-image: {in-tree: "lint"} + max-run-time: 1800 + run: + using: mach + mach: lint -l wpt -l wpt_manifest -f treeherder + run-on-projects: + - integration + - release + when: + files-changed: + - 'testing/web-platform/tests/**' + - 'testing/web-platform/mozilla/tests/**' + - 'testing/web-platform/meta/MANIFEST.json' + - 'testing/web-platform/mozilla/meta/MANIFEST.json' + - 'python/mozlint/**' + - 'tools/lint/**' + - 'testing/docker/lint/**' diff --git a/taskcluster/ci/source-check/python-tests.yml b/taskcluster/ci/source-check/python-tests.yml new file mode 100644 index 000000000..2f580f251 --- /dev/null +++ b/taskcluster/ci/source-check/python-tests.yml @@ -0,0 +1,49 @@ +taskgraph-tests/opt: + description: taskcluster/taskgraph unit tests + treeherder: + symbol: tg + kind: test + tier: 2 + platform: linux64/opt + worker-type: aws-provisioner-v1/b2gtest + worker: + implementation: docker-worker + docker-image: {in-tree: "lint"} + max-run-time: 1800 + run: + using: mach + mach: taskgraph python-tests + run-on-projects: + - integration + - release + when: + files-changed: + - 'taskcluster/**/*.py' + - 'config/mozunit.py' + - 'python/mach/**/*.py' + +mozharness/opt: + description: mozharness integration tests + treeherder: + symbol: MH + kind: test + tier: 2 + platform: lint/opt + worker-type: aws-provisioner-v1/b2gtest + worker: + implementation: docker-worker + docker-image: {in-tree: "lint"} + max-run-time: 1800 + run: + using: run-task + cache-dotcache: true + command: > + cd /home/worker/checkouts/gecko/testing/mozharness && + /usr/bin/pip2 install tox && + /home/worker/.local/bin/tox -e py27-hg3.7 + run-on-projects: + - integration + - release + when: + files-changed: + - 'testing/mozharness/**' diff --git a/taskcluster/ci/spidermonkey/kind.yml b/taskcluster/ci/spidermonkey/kind.yml new file mode 100644 index 000000000..9e8f9a682 --- /dev/null +++ b/taskcluster/ci/spidermonkey/kind.yml @@ -0,0 +1,199 @@ +# 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/. + +implementation: taskgraph.task.transform:TransformTask + +transforms: + - taskgraph.transforms.build_attrs:transforms + - taskgraph.transforms.job:transforms + - taskgraph.transforms.task:transforms + +job-defaults: + treeherder: + platform: linux64/opt + kind: build + tier: 1 + index: + product: firefox + worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + implementation: docker-worker + max-run-time: 36000 + docker-image: {in-tree: desktop-build} + run: + using: spidermonkey + when: + files-changed: + # any when.files-changed specified below in a job will be + # appended to this list + - js/public/** + - js/src/** + +jobs: + sm-package/opt: + description: "Spidermonkey source package and test" + index: + job-name: + buildbot: sm-plain + gecko-v2: sm-package-opt + treeherder: + symbol: SM-tc(pkg) + run: + using: spidermonkey-package + spidermonkey-variant: plain + when: + files-changed: + - build/** + - config/** + - configure.py + - dom/bindings/** + - intl/icu/** + - js/moz.configure + - layout/tools/reftest/reftest/** + - Makefile.in + - media/webrtc/trunk/tools/gyp/** + - memory/** + - mfbt/** + - modules/fdlibm/** + - modules/zlib/src/** + - mozglue/** + - moz.build + - moz.configure + - nsprpub/** + - python/** + - taskcluster/moz.build + - testing/mozbase/** + - test.mozbuild + - toolkit/mozapps/installer/package-name.mk + - toolkit/mozapps/installer/upload-files.mk + + sm-mozjs-sys/debug: + description: "Build js/src as the mozjs_sys Rust crate" + index: + job-name: + gecko-v2: sm-mozjs-sys-debug + treeherder: + symbol: SM-tc(mozjs-crate) + run: + using: spidermonkey-mozjs-crate + spidermonkey-variant: plain + run-on-projects: + - integration + - release + - try + + sm-plain/debug: + description: "Spidermonkey Plain" + index: + job-name: + buildbot: sm-plain + gecko-v2: sm-plaindebug-debug + treeherder: + platform: linux64/debug + symbol: SM-tc(p) + run: + spidermonkey-variant: plaindebug + + sm-plain/opt: + description: "Spidermonkey Plain" + index: + job-name: sm-plain-opt + treeherder: + symbol: SM-tc(p) + run: + spidermonkey-variant: plain + + sm-arm-sim/debug: + description: "Spidermonkey ARM sim" + index: + job-name: + buildbot: sm-plain + gecko-v2: sm-arm-sim-debug + treeherder: + symbol: SM-tc(arm) + run: + spidermonkey-variant: arm-sim + + sm-arm64-sim/debug: + description: "Spidermonkey ARM64 sim" + index: + job-name: + buildbot: sm-plain + gecko-v2: sm-arm64-sim-debug + treeherder: + symbol: SM-tc(arm64) + run: + spidermonkey-variant: arm64-sim + + sm-asan/opt: + description: "Spidermonkey Address Sanitizer" + index: + job-name: + buildbot: sm-plain + gecko-v2: sm-asan-opt + treeherder: + symbol: SM-tc(asan) + run: + spidermonkey-variant: asan + tooltool-manifest: browser/config/tooltool-manifests/linux64/asan.manifest + + sm-compacting/debug: + description: "Spidermonkey Compacting" + index: + job-name: + buildbot: sm-plain + gecko-v2: sm-compacting-debug + treeherder: + symbol: SM-tc(cgc) + run: + spidermonkey-variant: compacting + + sm-msan/opt: + description: "Spidermonkey Memory Sanitizer" + index: + job-name: + buildbot: sm-plain + gecko-v2: sm-msan-opt + treeherder: + symbol: SM-tc(msan) + run: + spidermonkey-variant: msan + tooltool-manifest: browser/config/tooltool-manifests/linux64/msan.manifest + + sm-tsan/opt: + description: "Spidermonkey Thread Sanitizer" + index: + job-name: + buildbot: sm-plain + gecko-v2: sm-tsan-opt + treeherder: + symbol: SM-tc(tsan) + tier: 3 + run-on-projects: [] + run: + spidermonkey-variant: tsan + tooltool-manifest: browser/config/tooltool-manifests/linux64/tsan.manifest + + sm-rootanalysis/debug: + description: "Spidermonkey Root Analysis" + index: + job-name: + buildbot: sm-plain + gecko-v2: sm-rootanalysis-debug + treeherder: + symbol: SM-tc(r) + run: + spidermonkey-variant: rootanalysis + + sm-nonunified/debug: + description: "Spidermonkey Non-Unified Debug" + index: + job-name: + buildbot: sm-plain + gecko-v2: sm-nonunified-debug + treeherder: + platform: linux64/debug + symbol: SM-tc(nu) + run: + spidermonkey-variant: nonunified diff --git a/taskcluster/ci/static-analysis/kind.yml b/taskcluster/ci/static-analysis/kind.yml new file mode 100644 index 000000000..ddd312e70 --- /dev/null +++ b/taskcluster/ci/static-analysis/kind.yml @@ -0,0 +1,63 @@ +# 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/. + +implementation: taskgraph.task.transform:TransformTask + +transforms: + - taskgraph.transforms.build_attrs:transforms + - taskgraph.transforms.job:transforms + - taskgraph.transforms.task:transforms + +job-defaults: + index: + product: firefox + treeherder: + symbol: S + kind: build + tier: 1 + worker: + implementation: docker-worker + docker-image: {in-tree: desktop-build} + max-run-time: 36000 + +jobs: + macosx64-st-an/opt: + description: "MacOS X x64 Cross-compile Static Analysis" + index: + job-name: macosx64-st-an-opt + treeherder: + platform: osx-10-7/opt + worker-type: aws-provisioner-v1/gecko-{level}-b-macosx64 + run: + using: mozharness + actions: [get-secrets build generate-build-stats update] + config: + - builds/releng_base_mac_64_cross_builds.py + - balrog/production.py + # Note that, despite the name "cross-opt", this config variant + # enables static analysis. + custom-build-variant-cfg: cross-opt + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + tooltool-downloads: internal + keep-artifacts: false + + linux64-st-an/opt: + description: "Linux64 Opt Static Analysis" + index: + job-name: linux64-st-an-opt + treeherder: + platform: linux64/opt + worker-type: aws-provisioner-v1/gecko-{level}-b-linux + run: + using: mozharness + actions: [get-secrets build generate-build-stats] + config: + - builds/releng_sub_linux_configs/64_stat_and_opt.py + - balrog/production.py + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + tooltool-downloads: public + need-xvfb: true + keep-artifacts: false diff --git a/taskcluster/ci/toolchain/kind.yml b/taskcluster/ci/toolchain/kind.yml new file mode 100644 index 000000000..acc67a57f --- /dev/null +++ b/taskcluster/ci/toolchain/kind.yml @@ -0,0 +1,14 @@ +# 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/. + +implementation: taskgraph.task.transform:TransformTask + +transforms: + - taskgraph.transforms.build_attrs:transforms + - taskgraph.transforms.job:transforms + - taskgraph.transforms.task:transforms + +jobs-from: + - linux.yml + - windows.yml diff --git a/taskcluster/ci/toolchain/linux.yml b/taskcluster/ci/toolchain/linux.yml new file mode 100644 index 000000000..9eeadf3ef --- /dev/null +++ b/taskcluster/ci/toolchain/linux.yml @@ -0,0 +1,66 @@ +# 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/. + +linux64-clang/opt: + description: "Clang toolchain build" + treeherder: + kind: build + platform: linux64/opt + symbol: Cc(Clang) + tier: 1 + run: + using: toolchain-script + script: build-clang-linux.sh + worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + implementation: docker-worker + docker-image: {in-tree: desktop-build} + max-run-time: 36000 + when: + files-changed: + - 'build/build-clang/**' + - 'taskcluster/scripts/misc/build-clang-linux.sh' + - 'taskcluster/taskgraph/transforms/job/toolchain.py' + +linux64-gcc/opt: + description: "GCC toolchain build" + treeherder: + kind: build + platform: linux64/opt + symbol: Cc(GCC) + tier: 1 + run: + using: toolchain-script + script: build-gcc-linux.sh + worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + implementation: docker-worker + docker-image: {in-tree: desktop-build} + max-run-time: 36000 + when: + files-changed: + - 'build/unix/build-gcc/**' + - 'taskcluster/scripts/misc/build-gcc-linux.sh' + - 'taskcluster/taskgraph/transforms/job/toolchain.py' + +linux64-binutils/opt: + description: "Binutils toolchain build" + treeherder: + kind: build + platform: linux64/opt + symbol: Cc(binutils) + tier: 1 + run: + using: toolchain-script + script: build-binutils-linux.sh + worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + implementation: docker-worker + docker-image: {in-tree: desktop-build} + max-run-time: 36000 + when: + files-changed: + - 'build/unix/build-binutils/**' + - 'taskcluster/scripts/misc/build-binutils-linux.sh' + - 'taskcluster/taskgraph/transforms/job/toolchain.py' diff --git a/taskcluster/ci/toolchain/windows.yml b/taskcluster/ci/toolchain/windows.yml new file mode 100644 index 000000000..b5b950616 --- /dev/null +++ b/taskcluster/ci/toolchain/windows.yml @@ -0,0 +1,23 @@ +# 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/. + +win32-clang-cl/opt: + description: "Clang-cl toolchain build" + treeherder: + kind: build + platform: windows-2012-32/opt + symbol: Cc(ClangCL) + tier: 2 + worker-type: aws-provisioner-v1/gecko-{level}-b-win2012 + worker: + implementation: generic-worker + max-run-time: 36000 + run: + using: toolchain-script + script: build-clang-windows.sh + when: + files-changed: + - 'build/build-clang/**' + - 'taskcluster/scripts/misc/build-clang-windows.sh' + - 'taskcluster/taskgraph/transforms/job/toolchain.py' diff --git a/taskcluster/ci/upload-symbols/job-template.yml b/taskcluster/ci/upload-symbols/job-template.yml new file mode 100644 index 000000000..43d6736a0 --- /dev/null +++ b/taskcluster/ci/upload-symbols/job-template.yml @@ -0,0 +1,19 @@ +label: # see transforms +description: Upload Symbols +dependencies: # see transforms +expires-after: 7 days +deadline-after: 24 hours +run-on-projects: + - try +worker-type: aws-provisioner-v1/symbol-upload +worker: + implementation: docker-worker + max-run-time: 600 + command: ["/bin/bash", "bin/upload.sh"] + docker-image: taskclusterprivate/upload_symbols:0.0.4 + env: + GECKO_HEAD_REPOSITORY: # see transforms + GECKO_HEAD_REV: # see transforms + ARTIFACT_TASKID: {"task-reference": "<build>"} +scopes: + - docker-worker:image:taskclusterprivate/upload_symbols:0.0.4 diff --git a/taskcluster/ci/upload-symbols/kind.yml b/taskcluster/ci/upload-symbols/kind.yml new file mode 100644 index 000000000..b3e2ba5d8 --- /dev/null +++ b/taskcluster/ci/upload-symbols/kind.yml @@ -0,0 +1,19 @@ +# 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/. + +implementation: taskgraph.task.post_build:PostBuildTask + +transforms: + - taskgraph.transforms.upload_symbols:transforms + - taskgraph.transforms.task:transforms + +kind-dependencies: + - build + +job-template: job-template.yml + +only-for-build-platforms: + - linux64/opt + - linux64/debug + - android-api-15/opt diff --git a/taskcluster/ci/valgrind/kind.yml b/taskcluster/ci/valgrind/kind.yml new file mode 100644 index 000000000..77e37e89b --- /dev/null +++ b/taskcluster/ci/valgrind/kind.yml @@ -0,0 +1,40 @@ +# 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/. + +implementation: taskgraph.task.transform:TransformTask + +transforms: + - taskgraph.transforms.build_attrs:transforms + - taskgraph.transforms.job:transforms + - taskgraph.transforms.task:transforms + +jobs: + linux64-valgrind/opt: + description: "Linux64 Valgrind Opt" + index: + product: firefox + job-name: linux64-valgrind-opt + treeherder: + platform: linux64/opt + symbol: tc(V) + kind: build + tier: 1 + worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + implementation: docker-worker + docker-image: {in-tree: desktop-build} + max-run-time: 72000 + run: + using: mozharness + actions: [get-secrets build valgrind-test generate-build-stats] + custom-build-variant-cfg: valgrind + config: + - builds/releng_base_linux_64_builds.py + - balrog/production.py + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + tooltool-downloads: public + need-xvfb: true + + |