summaryrefslogtreecommitdiffstats
path: root/taskcluster
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-12 05:43:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-12 05:43:14 +0000
commit8dd16259287f58f9273002717ec4d27e97127719 (patch)
tree3863e62a53829a84037444beab3abd4ed9dfc7d0 /taskcluster
parentReleasing progress-linux version 126.0.1-1~progress7.99u1. (diff)
downloadfirefox-8dd16259287f58f9273002717ec4d27e97127719.tar.xz
firefox-8dd16259287f58f9273002717ec4d27e97127719.zip
Merging upstream version 127.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--taskcluster/android_taskgraph/target_tasks.py12
-rw-r--r--taskcluster/android_taskgraph/transforms/build_android_app.py1
-rw-r--r--taskcluster/ci/android-l10n/kind.yml55
-rw-r--r--taskcluster/ci/artifact-build/kind.yml105
-rw-r--r--taskcluster/ci/beetmover-apt/kind.yml29
-rw-r--r--taskcluster/ci/beetmover-repackage/kind.yml65
-rw-r--r--taskcluster/ci/build-apk/kind.yml518
-rw-r--r--taskcluster/ci/build-bundle/kind.yml213
-rw-r--r--taskcluster/ci/build-components/kind.yml134
-rw-r--r--taskcluster/ci/build-fat-aar/kind.yml204
-rw-r--r--taskcluster/ci/build-mac-notarization/kind.yml34
-rw-r--r--taskcluster/ci/build-samples-browser/kind.yml64
-rw-r--r--taskcluster/ci/build/android.yml645
-rw-r--r--taskcluster/ci/config.yml1072
-rw-r--r--taskcluster/ci/docker-image/kind.yml253
-rw-r--r--taskcluster/ci/fetch/chromium-fetch.yml38
-rw-r--r--taskcluster/ci/generate-profile/kind.yml364
-rw-r--r--taskcluster/ci/github-sync/kind.yml53
-rw-r--r--taskcluster/ci/hazard/kind.yml83
-rw-r--r--taskcluster/ci/instrumented-build/kind.yml493
-rw-r--r--taskcluster/ci/mar-signing-l10n/kind.yml39
-rw-r--r--taskcluster/ci/release-beetmover-signed-langpacks/kind.yml40
-rw-r--r--taskcluster/ci/release-flatpak-push/kind.yml42
-rw-r--r--taskcluster/ci/release-msix-push/kind.yml45
-rw-r--r--taskcluster/ci/release-secondary-flatpak-push/kind.yml38
-rw-r--r--taskcluster/ci/release-source/kind.yml54
-rw-r--r--taskcluster/ci/repackage-deb/kind.yml53
-rw-r--r--taskcluster/ci/repackage-l10n/kind.yml86
-rw-r--r--taskcluster/ci/searchfox/kind.yml224
-rw-r--r--taskcluster/ci/shippable-l10n/kind.yml199
-rw-r--r--taskcluster/ci/spidermonkey/kind.yml74
-rw-r--r--taskcluster/ci/static-analysis-autotest/kind.yml101
-rw-r--r--taskcluster/ci/system-symbols-reprocess/kind.yml46
-rw-r--r--taskcluster/ci/system-symbols-upload/kind.yml34
-rw-r--r--taskcluster/ci/test-apk/kind.yml157
-rw-r--r--taskcluster/ci/test-components/kind.yml89
-rw-r--r--taskcluster/ci/toolchain/android.yml264
-rw-r--r--taskcluster/ci/ui-test-apk/kind.yml353
-rw-r--r--taskcluster/ci/updatebot/kind.yml92
-rw-r--r--taskcluster/ci/upload-generated-sources/kind.yml42
-rw-r--r--taskcluster/ci/valgrind/kind.yml65
-rw-r--r--taskcluster/config.yml1092
-rw-r--r--taskcluster/docker/debian-repackage/Dockerfile36
-rw-r--r--taskcluster/docker/github-sync/Dockerfile14
-rwxr-xr-xtaskcluster/docker/github-sync/prepare.sh31
-rw-r--r--taskcluster/docker/github-sync/requirements.txt3
-rw-r--r--taskcluster/docker/sentry/Dockerfile2
-rw-r--r--taskcluster/docker/snap-coreXX-build/snap-tests/README.md4
-rw-r--r--taskcluster/docker/snap-coreXX-build/snap-tests/record.py24
-rwxr-xr-xtaskcluster/docker/snap-coreXX-build/snap-tests/tests.sh10
-rw-r--r--taskcluster/docker/system-symbols-linux-scraper/Dockerfile2
-rw-r--r--taskcluster/docker/system-symbols-linux-scraper/README64
-rw-r--r--taskcluster/docker/updatebot/updatebot-version.sh2
-rw-r--r--taskcluster/docker/updatebot/windows-setup.sh4
-rw-r--r--taskcluster/docs/howto/index.rst4
-rw-r--r--taskcluster/docs/kinds.rst7
-rw-r--r--taskcluster/docs/kinds/test.rst2
-rw-r--r--taskcluster/docs/partner-attribution.rst2
-rw-r--r--taskcluster/docs/partner-repacks.rst2
-rw-r--r--taskcluster/docs/taskgraph.rst6
-rw-r--r--taskcluster/docs/versioncontrol.rst2
-rw-r--r--taskcluster/gecko_taskgraph/config.py3
-rw-r--r--taskcluster/gecko_taskgraph/files_changed.py16
-rw-r--r--taskcluster/gecko_taskgraph/main.py10
-rw-r--r--taskcluster/gecko_taskgraph/manifests/firefox_candidates.yml6
-rw-r--r--taskcluster/gecko_taskgraph/manifests/firefox_candidates_checksums.yml2
-rw-r--r--taskcluster/gecko_taskgraph/manifests/firefox_nightly.yml56
-rw-r--r--taskcluster/gecko_taskgraph/manifests/firefox_nightly_checksums.yml2
-rw-r--r--taskcluster/gecko_taskgraph/optimize/mozlint.py96
-rw-r--r--taskcluster/gecko_taskgraph/optimize/schema.py2
-rw-r--r--taskcluster/gecko_taskgraph/optimize/strategies.py5
-rw-r--r--taskcluster/gecko_taskgraph/target_tasks.py120
-rw-r--r--taskcluster/gecko_taskgraph/test/automationrelevance.json358
-rw-r--r--taskcluster/gecko_taskgraph/test/conftest.py2
-rw-r--r--taskcluster/gecko_taskgraph/test/test_actions_util.py1
-rw-r--r--taskcluster/gecko_taskgraph/test/test_files_changed.py46
-rw-r--r--taskcluster/gecko_taskgraph/test/test_optimize_strategies.py75
-rw-r--r--taskcluster/gecko_taskgraph/test/test_transforms_job.py2
-rw-r--r--taskcluster/gecko_taskgraph/transforms/bouncer_submission.py1
-rw-r--r--taskcluster/gecko_taskgraph/transforms/build.py4
-rw-r--r--taskcluster/gecko_taskgraph/transforms/build_schedules.py18
-rw-r--r--taskcluster/gecko_taskgraph/transforms/diffoscope.py2
-rw-r--r--taskcluster/gecko_taskgraph/transforms/github_sync.py23
-rw-r--r--taskcluster/gecko_taskgraph/transforms/perftest.py1
-rw-r--r--taskcluster/gecko_taskgraph/transforms/reprocess_symbols.py2
-rw-r--r--taskcluster/gecko_taskgraph/transforms/signing.py23
-rw-r--r--taskcluster/gecko_taskgraph/transforms/source_checksums_signing.py1
-rw-r--r--taskcluster/gecko_taskgraph/transforms/source_test.py9
-rw-r--r--taskcluster/gecko_taskgraph/transforms/task.py7
-rw-r--r--taskcluster/gecko_taskgraph/transforms/test/other.py26
-rw-r--r--taskcluster/gecko_taskgraph/transforms/test/variant.py12
-rw-r--r--taskcluster/gecko_taskgraph/transforms/upload_generated_sources.py2
-rw-r--r--taskcluster/gecko_taskgraph/transforms/upload_symbols.py2
-rw-r--r--taskcluster/gecko_taskgraph/util/chunking.py4
-rw-r--r--taskcluster/gecko_taskgraph/util/docker.py2
-rw-r--r--taskcluster/gecko_taskgraph/util/hg.py8
-rw-r--r--taskcluster/gecko_taskgraph/util/partners.py2
-rw-r--r--taskcluster/gecko_taskgraph/util/platforms.py3
-rw-r--r--taskcluster/gecko_taskgraph/util/signed_artifacts.py2
-rw-r--r--taskcluster/gecko_taskgraph/util/taskcluster.py2
-rw-r--r--taskcluster/kinds/addon/kind.yml (renamed from taskcluster/ci/addon/kind.yml)0
-rw-r--r--taskcluster/kinds/android-l10n/kind.yml56
-rw-r--r--taskcluster/kinds/android-startup-test/kind.yml (renamed from taskcluster/ci/android-startup-test/kind.yml)0
-rw-r--r--taskcluster/kinds/artifact-build/kind.yml106
-rw-r--r--taskcluster/kinds/attribution-l10n/kind.yml (renamed from taskcluster/ci/attribution-l10n/kind.yml)0
-rw-r--r--taskcluster/kinds/attribution/kind.yml (renamed from taskcluster/ci/attribution/kind.yml)0
-rw-r--r--taskcluster/kinds/balrog/kind.yml (renamed from taskcluster/ci/balrog/kind.yml)0
-rw-r--r--taskcluster/kinds/beetmover-android-app/kind.yml (renamed from taskcluster/ci/beetmover-android-app/kind.yml)0
-rw-r--r--taskcluster/kinds/beetmover-apt/kind.yml30
-rw-r--r--taskcluster/kinds/beetmover-checksums/kind.yml (renamed from taskcluster/ci/beetmover-checksums/kind.yml)0
-rw-r--r--taskcluster/kinds/beetmover-components/kind.yml (renamed from taskcluster/ci/beetmover-components/kind.yml)0
-rw-r--r--taskcluster/kinds/beetmover-geckoview/kind.yml (renamed from taskcluster/ci/beetmover-geckoview/kind.yml)0
-rw-r--r--taskcluster/kinds/beetmover-repackage/kind.yml66
-rw-r--r--taskcluster/kinds/beetmover-source/kind.yml (renamed from taskcluster/ci/beetmover-source/kind.yml)0
-rw-r--r--taskcluster/kinds/bootstrap/kind.yml (renamed from taskcluster/ci/bootstrap/kind.yml)0
-rw-r--r--taskcluster/kinds/bouncer-locations/kind.yml (renamed from taskcluster/ci/bouncer-locations/kind.yml)0
-rw-r--r--taskcluster/kinds/build-apk/kind.yml520
-rw-r--r--taskcluster/kinds/build-bundle/kind.yml215
-rw-r--r--taskcluster/kinds/build-components/kind.yml135
-rw-r--r--taskcluster/kinds/build-fat-aar/kind.yml204
-rw-r--r--taskcluster/kinds/build-mac-notarization/kind.yml34
-rw-r--r--taskcluster/kinds/build-mac-signing/kind.yml (renamed from taskcluster/ci/build-mac-signing/kind.yml)0
-rw-r--r--taskcluster/kinds/build-samples-browser/kind.yml64
-rw-r--r--taskcluster/kinds/build-signing/kind.yml (renamed from taskcluster/ci/build-signing/kind.yml)0
-rw-r--r--taskcluster/kinds/build/android-asan.yml (renamed from taskcluster/ci/build/android-asan.yml)1
-rw-r--r--taskcluster/kinds/build/android-stuff.yml (renamed from taskcluster/ci/build/android-stuff.yml)1
-rw-r--r--taskcluster/kinds/build/android.yml644
-rw-r--r--taskcluster/kinds/build/ios.yml (renamed from taskcluster/ci/build/ios.yml)0
-rw-r--r--taskcluster/kinds/build/kind.yml (renamed from taskcluster/ci/build/kind.yml)0
-rw-r--r--taskcluster/kinds/build/linux-base-toolchains.yml (renamed from taskcluster/ci/build/linux-base-toolchains.yml)0
-rw-r--r--taskcluster/kinds/build/linux.yml (renamed from taskcluster/ci/build/linux.yml)50
-rw-r--r--taskcluster/kinds/build/macosx-native.yml (renamed from taskcluster/ci/build/macosx-native.yml)0
-rw-r--r--taskcluster/kinds/build/macosx.yml (renamed from taskcluster/ci/build/macosx.yml)6
-rw-r--r--taskcluster/kinds/build/windows-mingw.yml (renamed from taskcluster/ci/build/windows-mingw.yml)0
-rw-r--r--taskcluster/kinds/build/windows.yml (renamed from taskcluster/ci/build/windows.yml)0
-rw-r--r--taskcluster/kinds/code-review/kind.yml (renamed from taskcluster/ci/code-review/kind.yml)0
-rw-r--r--taskcluster/kinds/condprof/kind.yml (renamed from taskcluster/ci/condprof/kind.yml)0
-rw-r--r--taskcluster/kinds/cron-bouncer-check/kind.yml (renamed from taskcluster/ci/cron-bouncer-check/kind.yml)0
-rw-r--r--taskcluster/kinds/diffoscope/artifacts.yml (renamed from taskcluster/ci/diffoscope/artifacts.yml)6
-rw-r--r--taskcluster/kinds/diffoscope/kind.yml (renamed from taskcluster/ci/diffoscope/kind.yml)0
-rw-r--r--taskcluster/kinds/diffoscope/reproducible.yml (renamed from taskcluster/ci/diffoscope/reproducible.yml)0
-rw-r--r--taskcluster/kinds/docker-image/kind.yml250
-rw-r--r--taskcluster/kinds/fetch/benchmarks.yml (renamed from taskcluster/ci/fetch/benchmarks.yml)0
-rw-r--r--taskcluster/kinds/fetch/browsertime.yml (renamed from taskcluster/ci/fetch/browsertime.yml)22
-rw-r--r--taskcluster/kinds/fetch/chromium-fetch.yml48
-rw-r--r--taskcluster/kinds/fetch/kind.yml (renamed from taskcluster/ci/fetch/kind.yml)0
-rw-r--r--taskcluster/kinds/fetch/moz.build (renamed from taskcluster/ci/fetch/moz.build)0
-rw-r--r--taskcluster/kinds/fetch/resource-monitor.yml (renamed from taskcluster/ci/fetch/resource-monitor.yml)0
-rw-r--r--taskcluster/kinds/fetch/toolchain-clang-tidy-external.yml (renamed from taskcluster/ci/fetch/toolchain-clang-tidy-external.yml)0
-rw-r--r--taskcluster/kinds/fetch/toolchains.yml (renamed from taskcluster/ci/fetch/toolchains.yml)12
-rw-r--r--taskcluster/kinds/fetch/updatebot.yml (renamed from taskcluster/ci/fetch/updatebot.yml)0
-rw-r--r--taskcluster/kinds/fuzzing/kind.yml (renamed from taskcluster/ci/fuzzing/kind.yml)0
-rw-r--r--taskcluster/kinds/fxrecord/kind.yml (renamed from taskcluster/ci/fxrecord/kind.yml)0
-rw-r--r--taskcluster/kinds/geckodriver-mac-notarization/kind.yml (renamed from taskcluster/ci/geckodriver-mac-notarization/kind.yml)0
-rw-r--r--taskcluster/kinds/geckodriver-signing/kind.yml (renamed from taskcluster/ci/geckodriver-signing/kind.yml)0
-rw-r--r--taskcluster/kinds/generate-profile/kind.yml365
-rw-r--r--taskcluster/kinds/hazard/kind.yml84
-rw-r--r--taskcluster/kinds/instrumented-build/kind.yml491
-rw-r--r--taskcluster/kinds/l10n-bump/kind.yml (renamed from taskcluster/ci/l10n-bump/kind.yml)0
-rw-r--r--taskcluster/kinds/l10n-cross-channel/kind.yml (renamed from taskcluster/ci/l10n-cross-channel/kind.yml)0
-rw-r--r--taskcluster/kinds/l10n/kind.yml (renamed from taskcluster/ci/l10n/kind.yml)0
-rw-r--r--taskcluster/kinds/mar-signing-autograph-stage/kind.yml (renamed from taskcluster/ci/mar-signing-autograph-stage/kind.yml)0
-rw-r--r--taskcluster/kinds/mar-signing-l10n/kind.yml40
-rw-r--r--taskcluster/kinds/mar-signing/kind.yml (renamed from taskcluster/ci/mar-signing/kind.yml)0
-rw-r--r--taskcluster/kinds/maybe-release/kind.yml (renamed from taskcluster/ci/maybe-release/kind.yml)0
-rw-r--r--taskcluster/kinds/merge-automation/kind.yml (renamed from taskcluster/ci/merge-automation/kind.yml)0
-rw-r--r--taskcluster/kinds/openh264-plugin/kind.yml (renamed from taskcluster/ci/openh264-plugin/kind.yml)0
-rw-r--r--taskcluster/kinds/openh264-signing/kind.yml (renamed from taskcluster/ci/openh264-signing/kind.yml)0
-rw-r--r--taskcluster/kinds/packages/debian.yml (renamed from taskcluster/ci/packages/debian.yml)0
-rw-r--r--taskcluster/kinds/packages/kind.yml (renamed from taskcluster/ci/packages/kind.yml)0
-rw-r--r--taskcluster/kinds/packages/ubuntu.yml (renamed from taskcluster/ci/packages/ubuntu.yml)0
-rw-r--r--taskcluster/kinds/partials-signing/kind.yml (renamed from taskcluster/ci/partials-signing/kind.yml)0
-rw-r--r--taskcluster/kinds/partials/kind.yml (renamed from taskcluster/ci/partials/kind.yml)0
-rw-r--r--taskcluster/kinds/perftest/android.yml (renamed from taskcluster/ci/perftest/android.yml)0
-rw-r--r--taskcluster/kinds/perftest/kind.yml (renamed from taskcluster/ci/perftest/kind.yml)0
-rw-r--r--taskcluster/kinds/perftest/linux.yml (renamed from taskcluster/ci/perftest/linux.yml)0
-rw-r--r--taskcluster/kinds/perftest/macosx.yml (renamed from taskcluster/ci/perftest/macosx.yml)0
-rw-r--r--taskcluster/kinds/perftest/windows.yml (renamed from taskcluster/ci/perftest/windows.yml)0
-rw-r--r--taskcluster/kinds/post-balrog-dummy/kind.yml (renamed from taskcluster/ci/post-balrog-dummy/kind.yml)0
-rw-r--r--taskcluster/kinds/post-beetmover-checksums-dummy/kind.yml (renamed from taskcluster/ci/post-beetmover-checksums-dummy/kind.yml)0
-rw-r--r--taskcluster/kinds/post-beetmover-components-dummy/kind.yml (renamed from taskcluster/ci/post-beetmover-components-dummy/kind.yml)0
-rw-r--r--taskcluster/kinds/post-beetmover-dummy/kind.yml (renamed from taskcluster/ci/post-beetmover-dummy/kind.yml)0
-rw-r--r--taskcluster/kinds/post-langpack-dummy/kind.yml (renamed from taskcluster/ci/post-langpack-dummy/kind.yml)0
-rw-r--r--taskcluster/kinds/post-signing/kind.yml (renamed from taskcluster/ci/post-signing/kind.yml)0
-rw-r--r--taskcluster/kinds/post-update-verify-dummy/kind.yml (renamed from taskcluster/ci/post-update-verify-dummy/kind.yml)0
-rw-r--r--taskcluster/kinds/push-bundle/kind.yml (renamed from taskcluster/ci/push-bundle/kind.yml)0
-rw-r--r--taskcluster/kinds/release-balrog-scheduling/kind.yml (renamed from taskcluster/ci/release-balrog-scheduling/kind.yml)0
-rw-r--r--taskcluster/kinds/release-balrog-submit-toplevel/kind.yml (renamed from taskcluster/ci/release-balrog-submit-toplevel/kind.yml)0
-rw-r--r--taskcluster/kinds/release-beetmover-push-to-release/kind.yml (renamed from taskcluster/ci/release-beetmover-push-to-release/kind.yml)0
-rw-r--r--taskcluster/kinds/release-beetmover-signed-langpacks-checksums/kind.yml (renamed from taskcluster/ci/release-beetmover-signed-langpacks-checksums/kind.yml)0
-rw-r--r--taskcluster/kinds/release-beetmover-signed-langpacks/kind.yml37
-rw-r--r--taskcluster/kinds/release-beetmover-source-checksums/kind.yml (renamed from taskcluster/ci/release-beetmover-source-checksums/kind.yml)0
-rw-r--r--taskcluster/kinds/release-bouncer-aliases/kind.yml (renamed from taskcluster/ci/release-bouncer-aliases/kind.yml)0
-rw-r--r--taskcluster/kinds/release-bouncer-check/kind.yml (renamed from taskcluster/ci/release-bouncer-check/kind.yml)0
-rw-r--r--taskcluster/kinds/release-bouncer-sub/kind.yml (renamed from taskcluster/ci/release-bouncer-sub/kind.yml)0
-rw-r--r--taskcluster/kinds/release-early-tagging/kind.yml (renamed from taskcluster/ci/release-early-tagging/kind.yml)0
-rw-r--r--taskcluster/kinds/release-eme-free-repack-beetmover-checksums/kind.yml (renamed from taskcluster/ci/release-eme-free-repack-beetmover-checksums/kind.yml)0
-rw-r--r--taskcluster/kinds/release-eme-free-repack-beetmover/kind.yml (renamed from taskcluster/ci/release-eme-free-repack-beetmover/kind.yml)0
-rw-r--r--taskcluster/kinds/release-eme-free-repack-mac-notarization/kind.yml (renamed from taskcluster/ci/release-eme-free-repack-mac-notarization/kind.yml)0
-rw-r--r--taskcluster/kinds/release-eme-free-repack-mac-signing/kind.yml (renamed from taskcluster/ci/release-eme-free-repack-mac-signing/kind.yml)0
-rw-r--r--taskcluster/kinds/release-eme-free-repack-repackage-signing/kind.yml (renamed from taskcluster/ci/release-eme-free-repack-repackage-signing/kind.yml)0
-rw-r--r--taskcluster/kinds/release-eme-free-repack-repackage/kind.yml (renamed from taskcluster/ci/release-eme-free-repack-repackage/kind.yml)0
-rw-r--r--taskcluster/kinds/release-eme-free-repack/kind.yml (renamed from taskcluster/ci/release-eme-free-repack/kind.yml)0
-rw-r--r--taskcluster/kinds/release-final-verify/kind.yml (renamed from taskcluster/ci/release-final-verify/kind.yml)0
-rw-r--r--taskcluster/kinds/release-flatpak-push/kind.yml39
-rw-r--r--taskcluster/kinds/release-flatpak-repackage/kind.yml (renamed from taskcluster/ci/release-flatpak-repackage/kind.yml)0
-rw-r--r--taskcluster/kinds/release-generate-checksums-beetmover/kind.yml (renamed from taskcluster/ci/release-generate-checksums-beetmover/kind.yml)0
-rw-r--r--taskcluster/kinds/release-generate-checksums-signing/kind.yml (renamed from taskcluster/ci/release-generate-checksums-signing/kind.yml)0
-rw-r--r--taskcluster/kinds/release-generate-checksums/kind.yml (renamed from taskcluster/ci/release-generate-checksums/kind.yml)0
-rw-r--r--taskcluster/kinds/release-mark-as-shipped/kind.yml (renamed from taskcluster/ci/release-mark-as-shipped/kind.yml)0
-rw-r--r--taskcluster/kinds/release-msix-push/kind.yml42
-rw-r--r--taskcluster/kinds/release-notify-av-announce/kind.yml (renamed from taskcluster/ci/release-notify-av-announce/kind.yml)0
-rw-r--r--taskcluster/kinds/release-notify-promote/kind.yml (renamed from taskcluster/ci/release-notify-promote/kind.yml)0
-rw-r--r--taskcluster/kinds/release-notify-push/kind.yml (renamed from taskcluster/ci/release-notify-push/kind.yml)0
-rw-r--r--taskcluster/kinds/release-notify-ship/kind.yml (renamed from taskcluster/ci/release-notify-ship/kind.yml)0
-rw-r--r--taskcluster/kinds/release-notify-started/kind.yml (renamed from taskcluster/ci/release-notify-started/kind.yml)0
-rw-r--r--taskcluster/kinds/release-notify-testrail/kind.yml (renamed from taskcluster/ci/release-notify-testrail/kind.yml)0
-rw-r--r--taskcluster/kinds/release-partner-attribution-beetmover/kind.yml (renamed from taskcluster/ci/release-partner-attribution-beetmover/kind.yml)0
-rw-r--r--taskcluster/kinds/release-partner-attribution/kind.yml (renamed from taskcluster/ci/release-partner-attribution/kind.yml)0
-rw-r--r--taskcluster/kinds/release-partner-repack-beetmover/kind.yml (renamed from taskcluster/ci/release-partner-repack-beetmover/kind.yml)0
-rw-r--r--taskcluster/kinds/release-partner-repack-bouncer-sub/kind.yml (renamed from taskcluster/ci/release-partner-repack-bouncer-sub/kind.yml)0
-rw-r--r--taskcluster/kinds/release-partner-repack-chunking-dummy/kind.yml (renamed from taskcluster/ci/release-partner-repack-chunking-dummy/kind.yml)0
-rw-r--r--taskcluster/kinds/release-partner-repack-mac-notarization/kind.yml (renamed from taskcluster/ci/release-partner-repack-mac-notarization/kind.yml)0
-rw-r--r--taskcluster/kinds/release-partner-repack-mac-signing/kind.yml (renamed from taskcluster/ci/release-partner-repack-mac-signing/kind.yml)0
-rw-r--r--taskcluster/kinds/release-partner-repack-repackage-signing/kind.yml (renamed from taskcluster/ci/release-partner-repack-repackage-signing/kind.yml)0
-rw-r--r--taskcluster/kinds/release-partner-repack-repackage/kind.yml (renamed from taskcluster/ci/release-partner-repack-repackage/kind.yml)0
-rw-r--r--taskcluster/kinds/release-partner-repack/kind.yml (renamed from taskcluster/ci/release-partner-repack/kind.yml)0
-rw-r--r--taskcluster/kinds/release-push-langpacks/kind.yml (renamed from taskcluster/ci/release-push-langpacks/kind.yml)0
-rw-r--r--taskcluster/kinds/release-secondary-balrog-scheduling/kind.yml (renamed from taskcluster/ci/release-secondary-balrog-scheduling/kind.yml)0
-rw-r--r--taskcluster/kinds/release-secondary-balrog-submit-toplevel/kind.yml (renamed from taskcluster/ci/release-secondary-balrog-submit-toplevel/kind.yml)0
-rw-r--r--taskcluster/kinds/release-secondary-final-verify/kind.yml (renamed from taskcluster/ci/release-secondary-final-verify/kind.yml)0
-rw-r--r--taskcluster/kinds/release-secondary-flatpak-push/kind.yml35
-rw-r--r--taskcluster/kinds/release-secondary-notify-ship/kind.yml (renamed from taskcluster/ci/release-secondary-notify-ship/kind.yml)0
-rw-r--r--taskcluster/kinds/release-secondary-update-verify-config/kind.yml (renamed from taskcluster/ci/release-secondary-update-verify-config/kind.yml)0
-rw-r--r--taskcluster/kinds/release-secondary-update-verify/kind.yml (renamed from taskcluster/ci/release-secondary-update-verify/kind.yml)0
-rw-r--r--taskcluster/kinds/release-snap-repackage/kind.yml (renamed from taskcluster/ci/release-snap-repackage/kind.yml)0
-rw-r--r--taskcluster/kinds/release-source-checksums-signing/kind.yml (renamed from taskcluster/ci/release-source-checksums-signing/kind.yml)0
-rw-r--r--taskcluster/kinds/release-source-signing/kind.yml (renamed from taskcluster/ci/release-source-signing/kind.yml)0
-rw-r--r--taskcluster/kinds/release-source/kind.yml51
-rw-r--r--taskcluster/kinds/release-update-verify-config-next/kind.yml (renamed from taskcluster/ci/release-update-verify-config-next/kind.yml)0
-rw-r--r--taskcluster/kinds/release-update-verify-config/kind.yml (renamed from taskcluster/ci/release-update-verify-config/kind.yml)0
-rw-r--r--taskcluster/kinds/release-update-verify-next/kind.yml (renamed from taskcluster/ci/release-update-verify-next/kind.yml)0
-rw-r--r--taskcluster/kinds/release-update-verify/kind.yml (renamed from taskcluster/ci/release-update-verify/kind.yml)0
-rw-r--r--taskcluster/kinds/release-version-bump/kind.yml (renamed from taskcluster/ci/release-version-bump/kind.yml)0
-rw-r--r--taskcluster/kinds/repackage-deb-l10n/kind.yml (renamed from taskcluster/ci/repackage-deb-l10n/kind.yml)0
-rw-r--r--taskcluster/kinds/repackage-deb/kind.yml54
-rw-r--r--taskcluster/kinds/repackage-l10n/kind.yml87
-rw-r--r--taskcluster/kinds/repackage-msi/kind.yml (renamed from taskcluster/ci/repackage-msi/kind.yml)0
-rw-r--r--taskcluster/kinds/repackage-msix/kind.yml (renamed from taskcluster/ci/repackage-msix/kind.yml)0
-rw-r--r--taskcluster/kinds/repackage-shippable-l10n-msix/kind.yml (renamed from taskcluster/ci/repackage-shippable-l10n-msix/kind.yml)0
-rw-r--r--taskcluster/kinds/repackage-signing-l10n/kind.yml (renamed from taskcluster/ci/repackage-signing-l10n/kind.yml)0
-rw-r--r--taskcluster/kinds/repackage-signing-msi/kind.yml (renamed from taskcluster/ci/repackage-signing-msi/kind.yml)0
-rw-r--r--taskcluster/kinds/repackage-signing-msix/kind.yml (renamed from taskcluster/ci/repackage-signing-msix/kind.yml)0
-rw-r--r--taskcluster/kinds/repackage-signing-shippable-l10n-msix/kind.yml (renamed from taskcluster/ci/repackage-signing-shippable-l10n-msix/kind.yml)0
-rw-r--r--taskcluster/kinds/repackage-signing/kind.yml (renamed from taskcluster/ci/repackage-signing/kind.yml)0
-rw-r--r--taskcluster/kinds/repackage/kind.yml (renamed from taskcluster/ci/repackage/kind.yml)0
-rw-r--r--taskcluster/kinds/repo-update/kind.yml (renamed from taskcluster/ci/repo-update/kind.yml)0
-rw-r--r--taskcluster/kinds/scriptworker-canary/kind.yml (renamed from taskcluster/ci/scriptworker-canary/kind.yml)0
-rw-r--r--taskcluster/kinds/searchfox/kind.yml223
-rw-r--r--taskcluster/kinds/sentry/kind.yml (renamed from taskcluster/ci/sentry/kind.yml)0
-rw-r--r--taskcluster/kinds/shippable-l10n-mac-notarization/kind.yml (renamed from taskcluster/ci/shippable-l10n-mac-notarization/kind.yml)0
-rw-r--r--taskcluster/kinds/shippable-l10n-mac-signing/kind.yml (renamed from taskcluster/ci/shippable-l10n-mac-signing/kind.yml)0
-rw-r--r--taskcluster/kinds/shippable-l10n-signing/kind.yml (renamed from taskcluster/ci/shippable-l10n-signing/kind.yml)0
-rw-r--r--taskcluster/kinds/shippable-l10n/kind.yml208
-rw-r--r--taskcluster/kinds/signing-apk/kind.yml (renamed from taskcluster/ci/signing-apk/kind.yml)0
-rw-r--r--taskcluster/kinds/signing-bundle/kind.yml (renamed from taskcluster/ci/signing-bundle/kind.yml)0
-rw-r--r--taskcluster/kinds/signing/kind.yml (renamed from taskcluster/ci/signing/kind.yml)0
-rw-r--r--taskcluster/kinds/snap-upstream-build/kind.yml (renamed from taskcluster/ci/snap-upstream-build/kind.yml)0
-rw-r--r--taskcluster/kinds/snap-upstream-test/kind.yml (renamed from taskcluster/ci/snap-upstream-test/kind.yml)0
-rw-r--r--taskcluster/kinds/source-test/android-compare-locales.yml (renamed from taskcluster/ci/source-test/android-compare-locales.yml)0
-rw-r--r--taskcluster/kinds/source-test/android-detekt.yml (renamed from taskcluster/ci/source-test/android-detekt.yml)3
-rw-r--r--taskcluster/kinds/source-test/android-lint.yml (renamed from taskcluster/ci/source-test/android-lint.yml)4
-rw-r--r--taskcluster/kinds/source-test/buildconfig.yml (renamed from taskcluster/ci/source-test/buildconfig.yml)3
-rw-r--r--taskcluster/kinds/source-test/clang.yml (renamed from taskcluster/ci/source-test/clang.yml)0
-rw-r--r--taskcluster/kinds/source-test/cram.yml (renamed from taskcluster/ci/source-test/cram.yml)0
-rw-r--r--taskcluster/kinds/source-test/doc.yml (renamed from taskcluster/ci/source-test/doc.yml)6
-rw-r--r--taskcluster/kinds/source-test/file-metadata.yml (renamed from taskcluster/ci/source-test/file-metadata.yml)0
-rw-r--r--taskcluster/kinds/source-test/jsshell.yml (renamed from taskcluster/ci/source-test/jsshell.yml)0
-rw-r--r--taskcluster/kinds/source-test/kind.yml (renamed from taskcluster/ci/source-test/kind.yml)0
-rw-r--r--taskcluster/kinds/source-test/ktlint.yml (renamed from taskcluster/ci/source-test/ktlint.yml)3
-rw-r--r--taskcluster/kinds/source-test/mozlint-android.yml (renamed from taskcluster/ci/source-test/mozlint-android.yml)1
-rw-r--r--taskcluster/kinds/source-test/mozlint.yml (renamed from taskcluster/ci/source-test/mozlint.yml)0
-rw-r--r--taskcluster/kinds/source-test/node.yml (renamed from taskcluster/ci/source-test/node.yml)0
-rw-r--r--taskcluster/kinds/source-test/puppeteer.yml (renamed from taskcluster/ci/source-test/puppeteer.yml)0
-rw-r--r--taskcluster/kinds/source-test/python.yml (renamed from taskcluster/ci/source-test/python.yml)6
-rw-r--r--taskcluster/kinds/source-test/shadow-scheduler.yml (renamed from taskcluster/ci/source-test/shadow-scheduler.yml)0
-rw-r--r--taskcluster/kinds/source-test/taskgraph.yml (renamed from taskcluster/ci/source-test/taskgraph.yml)2
-rw-r--r--taskcluster/kinds/source-test/vendor.yml (renamed from taskcluster/ci/source-test/vendor.yml)0
-rw-r--r--taskcluster/kinds/source-test/webcompat.yml (renamed from taskcluster/ci/source-test/webcompat.yml)0
-rw-r--r--taskcluster/kinds/source-test/webidl.yml (renamed from taskcluster/ci/source-test/webidl.yml)0
-rw-r--r--taskcluster/kinds/source-test/wpt-manifest.yml (renamed from taskcluster/ci/source-test/wpt-manifest.yml)0
-rw-r--r--taskcluster/kinds/source-test/wpt-metadata.yml (renamed from taskcluster/ci/source-test/wpt-metadata.yml)0
-rw-r--r--taskcluster/kinds/spidermonkey/kind.yml75
-rw-r--r--taskcluster/kinds/spidermonkey/linux.yml (renamed from taskcluster/ci/spidermonkey/linux.yml)0
-rw-r--r--taskcluster/kinds/spidermonkey/windows.yml (renamed from taskcluster/ci/spidermonkey/windows.yml)0
-rw-r--r--taskcluster/kinds/startup-test/kind.yml (renamed from taskcluster/ci/startup-test/kind.yml)0
-rw-r--r--taskcluster/kinds/static-analysis-autotest/kind.yml102
-rw-r--r--taskcluster/kinds/system-symbols-reprocess/kind.yml46
-rw-r--r--taskcluster/kinds/system-symbols-upload/kind.yml34
-rw-r--r--taskcluster/kinds/system-symbols/kind.yml (renamed from taskcluster/ci/system-symbols/kind.yml)0
-rw-r--r--taskcluster/kinds/test-apk/kind.yml157
-rw-r--r--taskcluster/kinds/test-components/kind.yml89
-rw-r--r--taskcluster/kinds/test/awsy.yml (renamed from taskcluster/ci/test/awsy.yml)0
-rw-r--r--taskcluster/kinds/test/browsertime-desktop.yml (renamed from taskcluster/ci/test/browsertime-desktop.yml)2
-rw-r--r--taskcluster/kinds/test/browsertime-mobile.yml (renamed from taskcluster/ci/test/browsertime-mobile.yml)0
-rw-r--r--taskcluster/kinds/test/compiled.yml (renamed from taskcluster/ci/test/compiled.yml)4
-rw-r--r--taskcluster/kinds/test/firefox-ui.yml (renamed from taskcluster/ci/test/firefox-ui.yml)0
-rw-r--r--taskcluster/kinds/test/kind.yml (renamed from taskcluster/ci/test/kind.yml)0
-rw-r--r--taskcluster/kinds/test/marionette.yml (renamed from taskcluster/ci/test/marionette.yml)0
-rw-r--r--taskcluster/kinds/test/misc.yml (renamed from taskcluster/ci/test/misc.yml)0
-rw-r--r--taskcluster/kinds/test/mochitest.yml (renamed from taskcluster/ci/test/mochitest.yml)8
-rw-r--r--taskcluster/kinds/test/reftest.yml (renamed from taskcluster/ci/test/reftest.yml)20
-rw-r--r--taskcluster/kinds/test/talos.yml (renamed from taskcluster/ci/test/talos.yml)2
-rw-r--r--taskcluster/kinds/test/test-platforms.yml (renamed from taskcluster/ci/test/test-platforms.yml)0
-rw-r--r--taskcluster/kinds/test/test-sets.yml (renamed from taskcluster/ci/test/test-sets.yml)3
-rw-r--r--taskcluster/kinds/test/variants.yml (renamed from taskcluster/ci/test/variants.yml)22
-rw-r--r--taskcluster/kinds/test/web-platform.yml (renamed from taskcluster/ci/test/web-platform.yml)53
-rw-r--r--taskcluster/kinds/test/xpcshell.yml (renamed from taskcluster/ci/test/xpcshell.yml)5
-rw-r--r--taskcluster/kinds/toolchain/android.yml252
-rw-r--r--taskcluster/kinds/toolchain/cargo-vet.yml (renamed from taskcluster/ci/toolchain/cargo-vet.yml)0
-rw-r--r--taskcluster/kinds/toolchain/cbindgen.yml (renamed from taskcluster/ci/toolchain/cbindgen.yml)0
-rw-r--r--taskcluster/kinds/toolchain/clang-tidy.yml (renamed from taskcluster/ci/toolchain/clang-tidy.yml)0
-rw-r--r--taskcluster/kinds/toolchain/clang.yml (renamed from taskcluster/ci/toolchain/clang.yml)0
-rw-r--r--taskcluster/kinds/toolchain/compiler-rt.yml (renamed from taskcluster/ci/toolchain/compiler-rt.yml)0
-rw-r--r--taskcluster/kinds/toolchain/dist-toolchains.yml (renamed from taskcluster/ci/toolchain/dist-toolchains.yml)0
-rw-r--r--taskcluster/kinds/toolchain/dump-syms.yml (renamed from taskcluster/ci/toolchain/dump-syms.yml)0
-rw-r--r--taskcluster/kinds/toolchain/fix-stacks.yml (renamed from taskcluster/ci/toolchain/fix-stacks.yml)0
-rw-r--r--taskcluster/kinds/toolchain/gcc.yml (renamed from taskcluster/ci/toolchain/gcc.yml)0
-rw-r--r--taskcluster/kinds/toolchain/geckodriver.yml (renamed from taskcluster/ci/toolchain/geckodriver.yml)0
-rw-r--r--taskcluster/kinds/toolchain/gn.yml (renamed from taskcluster/ci/toolchain/gn.yml)0
-rw-r--r--taskcluster/kinds/toolchain/grcov.yml (renamed from taskcluster/ci/toolchain/grcov.yml)0
-rw-r--r--taskcluster/kinds/toolchain/hostutils.yml (renamed from taskcluster/ci/toolchain/hostutils.yml)0
-rw-r--r--taskcluster/kinds/toolchain/kind.yml (renamed from taskcluster/ci/toolchain/kind.yml)0
-rw-r--r--taskcluster/kinds/toolchain/libunwind.yml (renamed from taskcluster/ci/toolchain/libunwind.yml)0
-rw-r--r--taskcluster/kinds/toolchain/llvm-symbolizer.yml (renamed from taskcluster/ci/toolchain/llvm-symbolizer.yml)0
-rw-r--r--taskcluster/kinds/toolchain/macos-sdk.yml (renamed from taskcluster/ci/toolchain/macos-sdk.yml)0
-rw-r--r--taskcluster/kinds/toolchain/mingw.yml (renamed from taskcluster/ci/toolchain/mingw.yml)0
-rw-r--r--taskcluster/kinds/toolchain/minidump-stackwalk.yml (renamed from taskcluster/ci/toolchain/minidump-stackwalk.yml)0
-rw-r--r--taskcluster/kinds/toolchain/misc.yml (renamed from taskcluster/ci/toolchain/misc.yml)2
-rw-r--r--taskcluster/kinds/toolchain/nasm.yml (renamed from taskcluster/ci/toolchain/nasm.yml)0
-rw-r--r--taskcluster/kinds/toolchain/node.yml (renamed from taskcluster/ci/toolchain/node.yml)0
-rw-r--r--taskcluster/kinds/toolchain/pkgconf.yml (renamed from taskcluster/ci/toolchain/pkgconf.yml)0
-rw-r--r--taskcluster/kinds/toolchain/python.yml (renamed from taskcluster/ci/toolchain/python.yml)0
-rw-r--r--taskcluster/kinds/toolchain/resourcemonitor.yml (renamed from taskcluster/ci/toolchain/resourcemonitor.yml)0
-rw-r--r--taskcluster/kinds/toolchain/rust-size.yml (renamed from taskcluster/ci/toolchain/rust-size.yml)0
-rw-r--r--taskcluster/kinds/toolchain/rust.yml (renamed from taskcluster/ci/toolchain/rust.yml)6
-rw-r--r--taskcluster/kinds/toolchain/sccache.yml (renamed from taskcluster/ci/toolchain/sccache.yml)0
-rw-r--r--taskcluster/kinds/toolchain/sysroot.yml (renamed from taskcluster/ci/toolchain/sysroot.yml)0
-rw-r--r--taskcluster/kinds/trigger-comm-central/kind.yml (renamed from taskcluster/ci/trigger-comm-central/kind.yml)0
-rw-r--r--taskcluster/kinds/ui-test-apk/kind.yml354
-rw-r--r--taskcluster/kinds/updatebot/kind.yml92
-rw-r--r--taskcluster/kinds/updatebot/moz.build (renamed from taskcluster/ci/updatebot/moz.build)0
-rw-r--r--taskcluster/kinds/updatebot/tooltool-manifests/updatebot.manifest (renamed from taskcluster/ci/updatebot/tooltool-manifests/updatebot.manifest)0
-rw-r--r--taskcluster/kinds/upload-generated-sources-dummy/kind.yml (renamed from taskcluster/ci/upload-generated-sources-dummy/kind.yml)0
-rw-r--r--taskcluster/kinds/upload-generated-sources/kind.yml42
-rw-r--r--taskcluster/kinds/upload-symbols-dummy/kind.yml (renamed from taskcluster/ci/upload-symbols-dummy/kind.yml)0
-rw-r--r--taskcluster/kinds/upload-symbols/kind.yml (renamed from taskcluster/ci/upload-symbols/kind.yml)0
-rw-r--r--taskcluster/kinds/valgrind/kind.yml66
-rw-r--r--taskcluster/kinds/webrender/kind.yml (renamed from taskcluster/ci/webrender/kind.yml)0
-rwxr-xr-xtaskcluster/scripts/builder/build-android.sh2
-rw-r--r--taskcluster/scripts/lib/testrail_api.py126
-rw-r--r--taskcluster/scripts/misc/afl-nyx.patch29
-rwxr-xr-xtaskcluster/scripts/misc/android-gradle-dependencies/after.sh2
-rwxr-xr-xtaskcluster/scripts/misc/android-gradle-dependencies/before.sh22
-rw-r--r--taskcluster/scripts/misc/cctools.patch14
-rw-r--r--taskcluster/scripts/misc/fetch-chromium.py56
-rwxr-xr-xtaskcluster/scripts/misc/gradle-python-envs.sh11
-rw-r--r--taskcluster/scripts/misc/wasi-sdk.patch34
-rw-r--r--taskcluster/scripts/testrail_main.py13
-rw-r--r--taskcluster/scripts/tests/test-lab.py13
-rw-r--r--taskcluster/test/conftest.py4
-rw-r--r--taskcluster/test/data/automationrelevance.json169
-rw-r--r--taskcluster/test/data/pushfileschanged.json25
-rw-r--r--taskcluster/test/params/mb-promote-android.yml1
-rw-r--r--taskcluster/test/params/mb-promote-devedition-partials.yml1
-rw-r--r--taskcluster/test/params/mb-promote-devedition.yml1
-rw-r--r--taskcluster/test/params/mb-promote-firefox-partials.yml1
-rw-r--r--taskcluster/test/params/mb-promote-firefox.yml1
-rw-r--r--taskcluster/test/params/mb-push-android.yml1
-rw-r--r--taskcluster/test/params/mb-push-devedition.yml1
-rw-r--r--taskcluster/test/params/mb-push-firefox-partials.yml1
-rw-r--r--taskcluster/test/params/mb-push-firefox.yml1
-rw-r--r--taskcluster/test/params/mb-ship-android.yml1
-rw-r--r--taskcluster/test/params/mb-ship-devedition.yml1
-rw-r--r--taskcluster/test/params/mb-ship-firefox-partials.yml1
-rw-r--r--taskcluster/test/params/mb-ship-firefox.yml1
-rw-r--r--taskcluster/test/params/mc-android-nightly.yml1
-rw-r--r--taskcluster/test/params/mc-desktop-nightly.yml1
-rw-r--r--taskcluster/test/params/mc-nightly-all.yml15
-rw-r--r--taskcluster/test/params/me-promote-firefox.yml1
-rw-r--r--taskcluster/test/params/me-push-firefox.yml1
-rw-r--r--taskcluster/test/params/me-ship-firefox.yml1
-rw-r--r--taskcluster/test/params/mr-promote-firefox-rc.yml1
-rw-r--r--taskcluster/test/params/mr-promote-firefox.yml1
-rw-r--r--taskcluster/test/params/mr-push-firefox.yml1
-rw-r--r--taskcluster/test/params/mr-ship-firefox-rc.yml1
-rw-r--r--taskcluster/test/params/mr-ship-firefox.yml1
-rw-r--r--taskcluster/test/test_autoland.py28
398 files changed, 7472 insertions, 7647 deletions
diff --git a/taskcluster/android_taskgraph/target_tasks.py b/taskcluster/android_taskgraph/target_tasks.py
index 38b1f7b772..13cc8d87dd 100644
--- a/taskcluster/android_taskgraph/target_tasks.py
+++ b/taskcluster/android_taskgraph/target_tasks.py
@@ -2,12 +2,12 @@
# 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/.
-from taskgraph.target_tasks import _target_task
+from taskgraph.target_tasks import register_target_task
from android_taskgraph.release_type import does_task_match_release_type
-@_target_task("promote_android")
+@register_target_task("promote_android")
def target_tasks_promote(full_task_graph, parameters, graph_config):
return _filter_release_promotion(
full_task_graph,
@@ -17,7 +17,7 @@ def target_tasks_promote(full_task_graph, parameters, graph_config):
)
-@_target_task("push_android")
+@register_target_task("push_android")
def target_tasks_push(full_task_graph, parameters, graph_config):
filtered_for_candidates = target_tasks_promote(
full_task_graph,
@@ -29,7 +29,7 @@ def target_tasks_push(full_task_graph, parameters, graph_config):
)
-@_target_task("ship_android")
+@register_target_task("ship_android")
def target_tasks_ship(full_task_graph, parameters, graph_config):
filtered_for_candidates = target_tasks_push(
full_task_graph,
@@ -71,7 +71,7 @@ def _filter_release_promotion(
return [l for l, t in full_task_graph.tasks.items() if filter(t, parameters)]
-@_target_task("screenshots")
+@register_target_task("screenshots")
def target_tasks_screnshots(full_task_graph, parameters, graph_config):
"""Select the set of tasks required to generate screenshots on a real device."""
@@ -81,7 +81,7 @@ def target_tasks_screnshots(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t, parameters)]
-@_target_task("legacy_api_ui_tests")
+@register_target_task("legacy_api_ui_tests")
def target_tasks_legacy_api_ui_tests(full_task_graph, parameters, graph_config):
"""Select the set of tasks required to run select UI tests on other API."""
diff --git a/taskcluster/android_taskgraph/transforms/build_android_app.py b/taskcluster/android_taskgraph/transforms/build_android_app.py
index 67fc210ad5..ee8c4c564f 100644
--- a/taskcluster/android_taskgraph/transforms/build_android_app.py
+++ b/taskcluster/android_taskgraph/transforms/build_android_app.py
@@ -22,7 +22,6 @@ def add_common_config(config, tasks):
fetches["toolchain"] = [
"android-sdk-linux",
"android-gradle-dependencies",
- "android-gradle-python-envs",
"linux64-jdk",
]
fetches["build-fat-aar"] = [
diff --git a/taskcluster/ci/android-l10n/kind.yml b/taskcluster/ci/android-l10n/kind.yml
deleted file mode 100644
index 8e5d35995d..0000000000
--- a/taskcluster/ci/android-l10n/kind.yml
+++ /dev/null
@@ -1,55 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-transforms:
- - gecko_taskgraph.transforms.task:transforms
-
-job-defaults:
- run-on-projects: []
- treeherder:
- kind: build
- platform: fenix-android-all/opt
- tier: 1
- worker-type: tree
- worker:
- implementation: treescript
- tags: []
- bump: false
- dontbuild: false
- ignore-closed-tree: true
- push: true
-
-jobs:
- import:
- name: android_l10n_import
- description: Import strings from android-l10n repo
- treeherder:
- symbol: android-l10n(I)
- worker:
- source-repo: https://hg.mozilla.org/integration/autoland
- android-l10n-import-info:
- from-repo-url: https://github.com/mozilla-l10n/android-l10n
- toml-info:
- - toml-path: mozilla-mobile/fenix/l10n.toml
- dest-path: mobile/android/fenix
- - toml-path: mozilla-mobile/focus-android/l10n.toml
- dest-path: mobile/android/focus-android
- - toml-path: mozilla-mobile/android-components/l10n.toml
- dest-path: mobile/android/android-components
-
- sync:
- name: android_l10n_sync
- description: Sync android-l10n strings from central to beta
- treeherder:
- symbol: android-l10n(S)
- worker:
- source-repo: https://hg.mozilla.org/releases/mozilla-beta
- android-l10n-sync-info:
- from-repo-url: https://hg.mozilla.org/mozilla-central
- toml-info:
- - toml-path: mobile/android/fenix/l10n.toml
- - toml-path: mobile/android/focus-android/l10n.toml
- - toml-path: mobile/android/android-components/l10n.toml
diff --git a/taskcluster/ci/artifact-build/kind.yml b/taskcluster/ci/artifact-build/kind.yml
deleted file mode 100644
index d91249fce9..0000000000
--- a/taskcluster/ci/artifact-build/kind.yml
+++ /dev/null
@@ -1,105 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-kind-dependencies:
- - fetch
- - toolchain
-
-transforms:
- - gecko_taskgraph.transforms.build_attrs:transforms
- - gecko_taskgraph.transforms.build_lints:transforms
- - gecko_taskgraph.transforms.job:transforms
- - gecko_taskgraph.transforms.artifact:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-job-defaults:
- index:
- product: firefox
- treeherder:
- kind: build
- symbol: AB
- tier: 1
- run-on-projects: ['mozilla-central']
- worker-type: b-linux-gcp
- worker:
- max-run-time: 3600
- env:
- PERFHERDER_EXTRA_OPTIONS: artifact
- MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
- USE_ARTIFACT: '1'
- run:
- using: mozharness
- actions: [get-secrets, build]
- config:
- - builds/releng_base_firefox.py
- script: "mozharness/scripts/fx_desktop_build.py"
- secrets: true
- tooltool-downloads: public
- keep-artifacts: false
- use-python: default
-
-jobs:
- linux64-artifact/opt:
- description: "Linux64 Opt Artifact Build"
- index:
- job-name: linux64-artifact-opt
- treeherder:
- platform: linux64/opt
- worker:
- env:
- MOZ_ARTIFACT_TASK: {task-reference: '<linux64-opt>'}
- run:
- config:
- - builds/releng_base_linux_64_builds.py
- dependencies:
- linux64-opt: build-linux64/opt
- fetches:
- toolchain:
- - linux64-node
-
- macosx64-artifact/opt:
- description: "MacOS X x64 Opt Artifact Build"
- index:
- job-name: macosx64-artifact-opt
- treeherder:
- platform: osx-cross/opt
- worker:
- env:
- MOZ_ARTIFACT_TASK: {task-reference: '<macosx64-opt>'}
- run:
- config:
- - builds/releng_base_mac_64_cross_builds.py
- dependencies:
- macosx64-opt: build-macosx64/opt
- fetches:
- toolchain:
- - linux64-hfsplus
- - linux64-libdmg
- - linux64-node
-
- win64-artifact/opt:
- description: "Win64 Opt Artifact Build"
- index:
- job-name: win64-artifact-opt
- treeherder:
- platform: windows2012-64/opt
- worker:
- env:
- MOZ_ARTIFACT_TASK: {task-reference: '<win64-opt>'}
- run:
- config:
- - builds/releng_base_linux_64_builds.py
- extra-config:
- mozconfig_platform: win64
- dependencies:
- win64-opt: build-win64/opt
- fetches:
- toolchain:
- - linux64-node
- - linux64-wine
- - nsis
- fetch:
- - upx-3.95-win
diff --git a/taskcluster/ci/beetmover-apt/kind.yml b/taskcluster/ci/beetmover-apt/kind.yml
deleted file mode 100644
index 9eb65f8858..0000000000
--- a/taskcluster/ci/beetmover-apt/kind.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-transforms:
- - taskgraph.transforms.from_deps
- - gecko_taskgraph.transforms.release:run_on_releases
- - gecko_taskgraph.transforms.beetmover_apt
- - gecko_taskgraph.transforms.task
-
-kind-dependencies:
- - beetmover-repackage
-
-only-for-build-platforms:
- - linux-shippable/opt
- - linux64-shippable/opt
- - linux-devedition/opt
- - linux64-devedition/opt
-
-jobs:
- beetmover-apt:
- from-deps:
- group-by: single-with-filters
- run-on-releases:
- - nightly
- - beta
- - release
diff --git a/taskcluster/ci/beetmover-repackage/kind.yml b/taskcluster/ci/beetmover-repackage/kind.yml
deleted file mode 100644
index 8746bb5b44..0000000000
--- a/taskcluster/ci/beetmover-repackage/kind.yml
+++ /dev/null
@@ -1,65 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-transforms:
- - taskgraph.transforms.from_deps
- - gecko_taskgraph.transforms.name_sanity
- - gecko_taskgraph.transforms.beetmover_repackage_l10n
- - gecko_taskgraph.transforms.beetmover_repackage
- - gecko_taskgraph.transforms.task
-
-kind-dependencies:
- # Primary dependencies
- - repackage
- - repackage-l10n
- # Other dependencies
- - build
- - build-signing
- - build-mac-signing
- - build-mac-notarization
- - repackage-signing
- - shippable-l10n
- - shippable-l10n-signing
- - shippable-l10n-mac-signing
- - shippable-l10n-mac-notarization
- - repackage-signing-l10n
- - partials
- - partials-signing
- - repackage-signing-msi
- - repackage-signing-shippable-l10n-msix
- - mar-signing
- - mar-signing-l10n
- - attribution
- - attribution-l10n
- - repackage-deb
- - repackage-deb-l10n
-
-only-for-build-platforms:
- - linux-shippable/opt
- - linux64-shippable/opt
- - macosx64-shippable/opt
- - win32-shippable/opt
- - win64-shippable/opt
- - win64-aarch64-shippable/opt
- - linux-devedition/opt
- - linux64-devedition/opt
- - macosx64-devedition/opt
- - win32-devedition/opt
- - win64-devedition/opt
- - win64-aarch64-devedition/opt
- - linux64-asan-reporter-shippable/opt
- - win64-asan-reporter-shippable/opt
-
-jobs:
- beetmover-repackage:
- from-deps:
- group-by: single-locale
- shipping-phase: promote
- attributes:
- artifact_map:
- by-release-type:
- beta|release.*|esr.*: taskcluster/gecko_taskgraph/manifests/firefox_candidates.yml
- default: taskcluster/gecko_taskgraph/manifests/firefox_nightly.yml
diff --git a/taskcluster/ci/build-apk/kind.yml b/taskcluster/ci/build-apk/kind.yml
deleted file mode 100644
index 99132d17f8..0000000000
--- a/taskcluster/ci/build-apk/kind.yml
+++ /dev/null
@@ -1,518 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-transforms:
- - android_taskgraph.transforms.build_android_app:transforms
- - gecko_taskgraph.transforms.build_schedules:transforms
- - gecko_taskgraph.transforms.job:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-kind-dependencies:
- - toolchain
- - build-fat-aar
-
-job-defaults:
- apk-artifact-template:
- type: file
- name: 'public/build/target.{abi}.apk'
- path: '/builds/worker/checkouts/gecko/mobile/android/{source_project_name}/app/build/outputs/apk/{gradle_build}/{gradle_build_type}/{fileName}'
-
-
-jobs:
- focus-debug:
- attributes:
- shipping-product: focus
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
- description: 'Focus debug build from source code'
- run:
- gradle-build-type: debug
- gradle-build-name: focusDebug
- gradle-build: focus
- source-project-name: "focus-android"
- treeherder:
- symbol: focus-debug(Bf)
- platform: focus-android-all/opt
-
- klar-debug:
- attributes:
- shipping-product: focus
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
- description: 'Klar debug build from source code'
- run:
- gradle-build-type: debug
- gradle-build-name: klarDebug
- gradle-build: klar
- source-project-name: "focus-android"
- treeherder:
- symbol: focus-debug(Bkl)
- platform: focus-android-all/opt
-
- fenix-debug:
- attributes:
- shipping-product: fenix
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
- description: 'Fenix debug build from source code'
- run:
- gradle-build-type: debug
- gradle-build-name: fenixDebug
- gradle-build: fenix
- gradle-extra-options:
- - -PdisableLeakCanary
- track-apk-size: true
- source-project-name: "fenix"
- treeherder:
- symbol: fenix-debug(Bf)
- platform: fenix-android-all/opt
-
- focus-release:
- description: 'Release Focus build'
- attributes:
- release-type: release
- shipping-product: focus
- shipping-product: firefox-android
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- include-shippable-secrets: true
- include-release-version: true
- run:
- gradle-build-type: release
- gradle-build-name: focusRelease
- gradle-build: focus
- run-on-projects: []
- shipping-phase: promote
- source-project-name: "focus-android"
- treeherder:
- symbol: focus-release(Bf)
- platform: focus-android-all/opt
-
- klar-release:
- description: 'Release Klar build'
- attributes:
- release-type: release
- shipping-product: focus
- shipping-product: firefox-android
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- include-shippable-secrets: true
- include-release-version: true
- run:
- gradle-build-type: release
- gradle-build-name: klarRelease
- gradle-build: klar
- run-on-projects: []
- shipping-phase: promote
- source-project-name: "focus-android"
- treeherder:
- symbol: focus-release(Bkl)
- platform: focus-android-all/opt
-
- fenix-release:
- description: 'Release Fenix build'
- attributes:
- release-type: release
- shipping-product: fenix
- shipping-product: firefox-android
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- include-shippable-secrets: true
- include-release-version: true
- run:
- gradle-build-type: release
- gradle-build-name: fenixRelease
- gradle-build: fenix
- track-apk-size: true
- run-on-projects: []
- shipping-phase: promote
- source-project-name: "fenix"
- treeherder:
- symbol: fenix-release(Bf)
- platform: fenix-android-all/opt
-
- focus-nightly:
- description: 'Nightly focus build'
- attributes:
- # any tasks that have this as a primary dependency will
- # inherit this attribute via the multi_dep loader
- shipping-product: focus
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- include-shippable-secrets: true
- include-nightly-version: true
- run:
- gradle-build-type: nightly
- gradle-build-name: focusNightly
- gradle-build: focus
- run-on-projects: []
- source-project-name: "focus-android"
- treeherder:
- symbol: focus-nightly(B)
- platform: focus-android-all/opt
-
- fenix-nightly:
- description: 'Nightly fenix build'
- attributes:
- # any tasks that have this as a primary dependency will
- # inherit this attribute via the multi_dep loader
- shipping-product: fenix
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- include-shippable-secrets: true
- include-nightly-version: true
- source-project-name: "fenix"
- run:
- gradle-build-type: nightly
- gradle-build-name: fenixNightly
- gradle-build: fenix
- track-apk-size: true
- run-on-projects: []
- treeherder:
- symbol: fenix-nightly(B)
- platform: fenix-android-all/opt
-
- focus-beta:
- description: 'Beta focus build'
- attributes:
- release-type: beta
- shipping-product: focus
- shipping-product: firefox-android
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- include-shippable-secrets: true
- include-release-version: true
- run:
- gradle-build-type: beta
- gradle-build-name: focusBeta
- gradle-build: focus
- run-on-projects: []
- shipping-phase: promote
- source-project-name: "focus-android"
- treeherder:
- symbol: focus-beta(B)
- platform: focus-android-all/opt
-
- fenix-beta:
- description: 'Beta fenix build'
- attributes:
- release-type: beta
- shipping-product: fenix
- shipping-product: firefox-android
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- include-shippable-secrets: true
- include-release-version: true
- run:
- gradle-build-type: beta
- gradle-build-name: fenixBeta
- gradle-build: fenix
- track-apk-size: true
- run-on-projects: []
- shipping-phase: promote
- source-project-name: "fenix"
- treeherder:
- symbol: fenix-beta(B)
- platform: fenix-android-all/opt
-
- focus-nightly-firebase:
- attributes:
- shipping-product: focus
- description: 'Focus Nightly build for UI tests'
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
- disable-optimization: true
- run:
- gradle-build-type: nightly
- gradle-build-name: focusNightly
- gradle-build: focus
- test-build-type: nightly
- run-on-projects: [trunk]
- source-project-name: "focus-android"
- treeherder:
- symbol: focus-nightly(Bf)
- platform: focus-android-all/opt
-
- fenix-nightly-firebase:
- attributes:
- shipping-product: fenix
- description: 'Fenix Nightly build for UI tests'
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
- disable-optimization: true
- run:
- gradle-build-type: nightly
- gradle-build-name: fenixNightly
- gradle-build: fenix
- test-build-type: nightly
- run-on-projects: [trunk]
- source-project-name: "fenix"
- treeherder:
- symbol: fenix-nightly(Bf)
- platform: fenix-android-all/opt
-
- focus-beta-firebase:
- attributes:
- shipping-product: focus
- description: 'Focus Beta build for UI tests'
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- disable-optimization: true
- run:
- gradle-build-type: beta
- gradle-build-name: focusBeta
- gradle-build: focus
- test-build-type: beta
- run-on-projects: ['release']
- source-project-name: "focus-android"
- treeherder:
- symbol: focus-beta(Bf)
- platform: focus-android-all/opt
-
- fenix-beta-firebase:
- attributes:
- shipping-product: fenix
- description: 'Fenix Beta build for UI tests'
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- disable-optimization: true
- run:
- gradle-build-type: beta
- gradle-build-name: fenixBeta
- gradle-build: fenix
- test-build-type: beta
- run-on-projects: ['release']
- source-project-name: "fenix"
- treeherder:
- symbol: fenix-beta(Bf)
- platform: fenix-android-all/opt
-
- focus-android-test-debug:
- attributes:
- shipping-product: focus
- description: 'Focus Android Test for debugging'
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
- run:
- gradle-build-type: androidTest
- gradle-build-name: androidTest
- gradle-build: focus
- source-project-name: "focus-android"
- apk-artifact-template:
- # this path is determined by the gradle build configs
- path: '/builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/outputs/apk/androidTest/focus/debug/app-focus-debug-androidTest.apk'
- treeherder:
- symbol: focus-debug(Bat)
- platform: focus-android-all/opt
-
- fenix-android-test-debug:
- attributes:
- shipping-product: fenix
- description: 'Fenix Debug Android Test for debugging'
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
- run:
- gradle-build-type: androidTest
- gradle-build-name: androidTest
- gradle-build: fenix
- source-project-name: "fenix"
- apk-artifact-template:
- # 3 differences here:
- # * "androidTest/" is added
- # * "{gradle_build_type}" is forced to "debug"
- # * "{fileName}" is forced to "app-fenix-debug-androidTest.apk"
- path: '/builds/worker/checkouts/gecko/mobile/android/fenix/app/build/outputs/apk/androidTest/fenix/debug/app-fenix-debug-androidTest.apk'
- treeherder:
- symbol: fenix-debug(Bat)
- platform: fenix-android-all/opt
-
- # android-test-nightly and android-test-beta, while still being debug builds, are meant to be signed
- # with the nightly/beta key. The Firebase testing infrastructure requires both the androidTest APK
- # and the APK under test to be signed with the same key. Thus, the nightly APK being signed with
- # nightly means we need an androidTest APK with the same signature.
-
- focus-android-test-nightly:
- attributes:
- shipping-product: focus
- description: 'Focus Nightly Android Test for debugging'
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
- run:
- gradle-build-type: androidTest
- gradle-build-name: androidTest
- gradle-build: focus
- test-build-type: nightly
- run-on-projects: [trunk]
- source-project-name: "focus-android"
- apk-artifact-template:
- path: '/builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/outputs/apk/androidTest/focus/nightly/app-focus-nightly-androidTest.apk'
- treeherder:
- symbol: focus-nightly(Bat)
- platform: focus-android-all/opt
-
- # android-test-nightly and android-test-beta, while still being debug builds, are meant to be signed
- # with the nightly/beta key. The Firebase testing infrastructure requires both the androidTest APK
- # and the APK under test to be signed with the same key. Thus, the nightly APK being signed with
- # nightly means we need an androidTest APK with the same signature.
- #
- # TODO: See if we can tweak the signing kind to make 2 signing jobs out of a single `android-test`
- # job.
- fenix-android-test-nightly:
- attributes:
- nightly: true
- shipping-product: fenix
- description: 'Fenix Nightly Android Test for debugging'
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
- apk-artifact-template:
- # 3 differences here:
- # * "androidTest/" is added
- # * "{gradle_build_type}" is forced to "debug"
- # * "{fileName}" is forced to "app-fenix-nightly-androidTest.apk"
- path: '/builds/worker/checkouts/gecko/mobile/android/fenix/app/build/outputs/apk/androidTest/fenix/nightly/app-fenix-nightly-androidTest.apk'
- disable-optimization: true
- run:
- gradle-build-type: androidTest
- gradle-build-name: androidTest
- gradle-build: fenix
- test-build-type: nightly
- run-on-projects: [trunk]
- source-project-name: "fenix"
- treeherder:
- symbol: fenix-nightly(Bat)
- platform: fenix-android-all/opt
-
- focus-android-test-beta:
- attributes:
- shipping-product: focus
- description: 'Focus Beta Android Test for debugging'
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- run:
- gradle-build-type: androidTest
- gradle-build-name: androidTest
- gradle-build: focus
- test-build-type: beta
- run-on-projects: ['release']
- source-project-name: "focus-android"
- apk-artifact-template:
- path: '/builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/outputs/apk/androidTest/focus/beta/app-focus-beta-androidTest.apk'
- treeherder:
- symbol: focus-beta(Bat)
- platform: focus-android-all/opt
-
- fenix-android-test-beta:
- attributes:
- shipping-product: fenix
- description: 'Fenix Beta Android Test for debugging'
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- apk-artifact-template:
- # 3 differences here:
- # * "androidTest/" is added
- # * "{gradle_build_type}" is forced to "beta"
- # * "{fileName}" is forced to "app-fenix-beta-androidTest.apk"
- path: '/builds/worker/checkouts/gecko/mobile/android/fenix/app/build/outputs/apk/androidTest/fenix/beta/app-fenix-beta-androidTest.apk'
- disable-optimization: true
- run:
- gradle-build-type: androidTest
- gradle-build-name: androidTest
- gradle-build: fenix
- test-build-type: beta
- run-on-projects: ['release']
- source-project-name: "fenix"
- treeherder:
- symbol: fenix-beta(Bat)
- platform: fenix-android-all/opt
-
- fenix-android-test-mozillaonline:
- attributes:
- shipping-product: fenix
- description: 'Fenix Android Test mozillaonline'
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- apk-artifact-template:
- # 3 differences here:
- # * "androidTest/" is added
- # * "{gradle_build_type}" is forced to "beta"
- # * "{fileName}" is forced to "app-fenix-beta-androidTest.apk"
- path: '/builds/worker/checkouts/gecko/mobile/android/fenix/app/build/outputs/apk/androidTest/fenix/beta/app-fenix-beta-androidTest.apk'
- run-on-projects: []
- disable-optimization: true
- run:
- gradle-build-type: androidTest
- gradle-build-name: androidTest
- gradle-build: fenix
- gradle-extra-options:
- - -PmozillaOnline
- test-build-type: beta
- source-project-name: "fenix"
- treeherder:
- symbol: fenix-beta(Bat-mo)
- platform: fenix-android-all/opt
-
- fenix-nightly-simulation:
- description: 'Fenix Nightly Simulation'
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- attributes:
- nightly: false
- shipping-product: fenix
- include-nightly-version: true
- include-shippable-secrets: true
- run-on-projects: []
- run:
- gradle-build-type: nightly
- gradle-build-name: fenixNightly
- gradle-build: fenix
- source-project-name: "fenix"
- treeherder:
- symbol: fenix-nightlySim(B)
- platform: fenix-android-all/opt
-
- fenix-beta-mozillaonline:
- description: 'Fenix Beta mozillaonline'
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- attributes:
- release-type: beta
- shipping_phase: promote
- shipping-product: fenix
- include-release-version: true
- include-shippable-secrets: true
- run:
- gradle-build-type: beta
- gradle-build-name: fenixBeta
- gradle-build: fenix
- gradle-extra-options:
- - -PmozillaOnline
- run-on-projects: []
- source-project-name: "fenix"
- treeherder:
- symbol: fenix-beta(Bmo)
- platform: fenix-android-all/opt
-
- fenix-release-mozillaonline:
- description: 'Fenix Release mozillaonline'
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- attributes:
- release-type: release
- shipping_phase: promote
- shipping-product: fenix
- include-release-version: true
- include-shippable-secrets: true
- run:
- gradle-build-type: release
- gradle-build-name: fenixRelease
- gradle-build: fenix
- gradle-extra-options:
- - -PmozillaOnline
- run-on-projects: []
- source-project-name: "fenix"
- treeherder:
- symbol: fenix-release(Bmo)
- platform: fenix-android-all/opt
diff --git a/taskcluster/ci/build-bundle/kind.yml b/taskcluster/ci/build-bundle/kind.yml
deleted file mode 100644
index 081b5aba60..0000000000
--- a/taskcluster/ci/build-bundle/kind.yml
+++ /dev/null
@@ -1,213 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-transforms:
- - android_taskgraph.transforms.build_android_app:transforms
- - gecko_taskgraph.transforms.build_schedules:transforms
- - gecko_taskgraph.transforms.job:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-kind-dependencies:
- - toolchain
- - build-fat-aar
-
-job-defaults:
- aab-artifact-template:
- type: file
- name: 'public/build/target.aab'
- path: '/builds/worker/checkouts/gecko/mobile/android/{source_project_name}/app/build/outputs/bundle/{variant_name}/app-{gradle_build}-{gradle_build_type}.aab'
- run:
- gradle-package-command: bundle
- gradle-extra-options:
- - -Paab
-
-
-jobs:
- focus-debug:
- attributes:
- shipping-product: focus
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
- description: 'Focus debug AAB build from source code'
- run:
- gradle-build-type: debug
- gradle-build-name: focusDebug
- gradle-build: focus
- source-project-name: "focus-android"
- treeherder:
- platform: focus-android-all/opt
- symbol: focus-debug(AABf)
-
- klar-debug:
- attributes:
- shipping-product: focus
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
- description: 'Klar debug AAB build from source code'
- run:
- gradle-build-type: debug
- gradle-build-name: klarDebug
- gradle-build: klar
- source-project-name: "focus-android"
- treeherder:
- platform: focus-android-all/opt
- symbol: focus-debug(AABkl)
-
- fenix-debug:
- attributes:
- shipping-product: fenix
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
- description: 'Fenix debug AAB build from source code'
- run:
- gradle-build-type: debug
- gradle-build-name: fenixDebug
- gradle-build: fenix
- source-project-name: "fenix"
- treeherder:
- platform: fenix-android-all/opt
- symbol: fenix-debug(AAB)
-
- focus-release:
- attributes:
- release-type: release
- shipping-product: focus
- shipping-product: firefox-android
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- description: 'Focus release AAB build from source code'
- include-shippable-secrets: true
- include-release-version: true
- run-on-projects: ["mozilla-release"]
- run:
- gradle-build-type: release
- gradle-build-name: focusRelease
- gradle-build: focus
- shipping-phase: promote
- source-project-name: "focus-android"
- treeherder:
- platform: focus-android-all/opt
- symbol: focus-release(AABf)
-
- klar-release:
- attributes:
- release-type: release
- shipping-product: focus
- shipping-product: firefox-android
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- description: 'Klar release AAB build from source code'
- include-shippable-secrets: true
- include-release-version: true
- run-on-projects: ["mozilla-release"]
- run:
- gradle-build-type: release
- gradle-build-name: klarRelease
- gradle-build: klar
- shipping-phase: promote
- source-project-name: "focus-android"
- treeherder:
- platform: focus-android-all/opt
- symbol: focus-release(AABkl)
-
- fenix-release:
- attributes:
- release-type: release
- shipping-product: fenix
- shipping-product: firefox-android
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- description: 'Fenix release AAB build from source code'
- include-shippable-secrets: true
- include-release-version: true
- run-on-projects: ["mozilla-release"]
- run:
- gradle-build-type: release
- gradle-build-name: fenixRelease
- gradle-build: fenix
- shipping-phase: promote
- source-project-name: "fenix"
- treeherder:
- platform: fenix-android-all/opt
- symbol: fenix-release(AAB)
-
- focus-nightly:
- attributes:
- shipping-product: focus
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- description: 'Focus nightly AAB build from source code'
- include-shippable-secrets: true
- include-nightly-version: true
- run-on-projects: ["mozilla-central"]
- run:
- gradle-build-type: nightly
- gradle-build-name: focusNightly
- gradle-build: focus
- source-project-name: "focus-android"
- treeherder:
- platform: focus-android-all/opt
- symbol: focus-nightly(AABf)
-
- fenix-nightly:
- attributes:
- shipping-product: fenix
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- description: 'Fenix nightly AAB build from source code'
- include-shippable-secrets: true
- include-nightly-version: true
- run-on-projects: ["mozilla-central"]
- run:
- gradle-build-type: nightly
- gradle-build-name: fenixNightly
- gradle-build: fenix
- source-project-name: "fenix"
- treeherder:
- platform: fenix-android-all/opt
- symbol: fenix-nightly(AAB)
-
- focus-beta:
- attributes:
- release-type: beta
- shipping-product: focus
- shipping-product: firefox-android
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- description: 'Focus beta AAB build from source code'
- include-shippable-secrets: true
- include-release-version: true
- run-on-projects: ["mozilla-beta"]
- run:
- gradle-build-type: beta
- gradle-build-name: focusBeta
- gradle-build: focus
- shipping-phase: promote
- source-project-name: "focus-android"
- treeherder:
- platform: focus-android-all/opt
- symbol: focus-beta(AABf)
-
- fenix-beta:
- attributes:
- release-type: beta
- shipping-product: fenix
- shipping-product: firefox-android
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- description: 'Fenix beta AAB build from source code'
- include-shippable-secrets: true
- include-release-version: true
- run-on-projects: ["mozilla-beta"]
- run:
- gradle-build-type: beta
- gradle-build-name: fenixBeta
- gradle-build: fenix
- shipping-phase: promote
- source-project-name: "fenix"
- treeherder:
- platform: fenix-android-all/opt
- symbol: fenix-beta(AAB)
diff --git a/taskcluster/ci/build-components/kind.yml b/taskcluster/ci/build-components/kind.yml
deleted file mode 100644
index 4d9ae555fa..0000000000
--- a/taskcluster/ci/build-components/kind.yml
+++ /dev/null
@@ -1,134 +0,0 @@
-# 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/.
----
-loader: android_taskgraph.loader.build_config:components_loader
-
-transforms:
- - android_taskgraph.transforms.build_components:transforms
- - gecko_taskgraph.transforms.build_schedules:transforms
- - gecko_taskgraph.transforms.job:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-not-for-components:
- - samples-browser # Their configs are too different, so they're handled in a specific kind
-
-kind-dependencies:
- - toolchain
- - build-fat-aar
-
-job-defaults:
- artifact-template:
- type: file
- name: public/build/{artifact_file_name}
- path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/maven/org/mozilla/components/{component}/{version}/{artifact_file_name}'
- tests-artifact-template:
- type: directory
- name: public/reports/tests
- path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/reports/tests'
- lint-artifact-template:
- type: file
- name: public/reports/lint-results-release.html
- path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/reports/lint-results-release.html'
- jacoco-coverage-template:
- type: directory
- name: public/reports/jacoco
- path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/reports/jacoco'
- description: Execute Gradle tasks for component "{component}"
- fetches:
- toolchain:
- - android-sdk-linux
- - android-gradle-dependencies
- - android-gradle-python-envs
- - linux64-jdk
- build-fat-aar:
- - target.maven.tar.xz
- dependencies:
- build-fat-aar:
- by-build-type:
- release|nightly|beta: build-fat-aar-android-geckoview-fat-aar-shippable/opt
- default: build-fat-aar-android-geckoview-fat-aar/opt
- include-coverage:
- by-build-type:
- release: false
- beta: false
- nightly: false
- default: true
- run:
- gradlew:
- by-build-type:
- release:
- - ':{component}:assembleRelease'
- - ':{component}:testRelease'
- - ':{component}:lintRelease'
- - ':{component}:publish'
- beta:
- # /!\ Beta builds are considered Release in gradle
- - ':{component}:assembleRelease'
- - ':{component}:testRelease'
- - ':{component}:lintRelease'
- - ':{component}:publish'
- nightly:
- - '-PnightlyVersion={nightlyVersion}'
- - ':{component}:assembleRelease'
- - ':{component}:testRelease'
- - ':{component}:lintRelease'
- - ':{component}:publish'
- default:
- by-component:
- # No lintRelease on this task, gradle task isn't defined
- tooling-lint:
- - ':{component}:assemble'
- - ':{component}:assembleAndroidTest'
- - ':{component}:test'
- - ':{component}:lint'
- # No testRelease on this task, gradle task isn't defined
- tooling-detekt:
- - ':{component}:assemble'
- - ':{component}:assembleAndroidTest'
- - ':{component}:test'
- - ':{component}:lintRelease'
- # No publish on these tasks
- tooling-fetch-tests|samples-.*:
- - ':{component}:assemble'
- - ':{component}:assembleAndroidTest'
- - ':{component}:testRelease'
- - ':{component}:lintRelease'
- default:
- - ':{component}:assemble'
- - ':{component}:assembleAndroidTest'
- - ':{component}:testRelease'
- - ':{component}:lintRelease'
- - ':{component}:publish'
- pre-gradlew:
- - ["cd", "mobile/android/android-components"]
- using: gradlew
- use-caches: false
- run-on-projects:
- by-build-type:
- release: []
- beta: []
- nightly: []
- default: [all]
- shipping-phase:
- by-build-type:
- (nightly|beta|release): promote
- default: null
- shipping-product: firefox-android
- treeherder:
- kind: build
- symbol:
- by-build-type:
- release: '{treeherder_group}(BR)'
- beta: '{treeherder_group}(BB)'
- nightly: '{treeherder_group}(BN)'
- default: '{treeherder_group}(B)'
- platform: AC-android-all/opt
- tier: 1
- worker-type: b-linux-medium-gcp
- worker:
- chain-of-trust: true
- docker-image: {in-tree: android-components}
- max-run-time: 1200
- env:
- ANDROID_SDK_ROOT: /builds/worker/fetches/android-sdk-linux
diff --git a/taskcluster/ci/build-fat-aar/kind.yml b/taskcluster/ci/build-fat-aar/kind.yml
deleted file mode 100644
index 0d3b1208ec..0000000000
--- a/taskcluster/ci/build-fat-aar/kind.yml
+++ /dev/null
@@ -1,204 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-kind-dependencies:
- - build
- - toolchain
-
-transforms:
- - gecko_taskgraph.transforms.build:transforms
- - gecko_taskgraph.transforms.build_attrs:transforms
- - gecko_taskgraph.transforms.build_lints:transforms
- - gecko_taskgraph.transforms.build_fat_aar:transforms
- - gecko_taskgraph.transforms.job:transforms
- - gecko_taskgraph.transforms.artifact:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-job-defaults:
- attributes:
- artifact_map: taskcluster/gecko_taskgraph/manifests/fennec_geckoview.yml
- index:
- product: mobile
- worker-type: b-linux-gcp
- use-python: default
- worker:
- docker-image: {in-tree: android-build}
- max-run-time: 7200
- env:
- # Online in order to download the per-architecture AARs.
- GRADLE_USER_HOME: "/builds/worker/checkouts/build/gecko/mobile/android/gradle/dotgradle-online"
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
- MOZ_ANDROID_FAT_AAR_ARCHITECTURES: "armeabi-v7a,arm64-v8a,x86,x86_64"
- MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
- artifacts:
- - name: public/build/maven
- path: /builds/worker/workspace/obj-build/gradle/maven/
- type: directory
- - name: public/build/target.maven.tar.xz
- path: /builds/worker/workspace/obj-build/gradle/target.maven.tar.xz
- type: file
- - name: public/build
- path: /builds/worker/artifacts/
- type: directory
- - name: public/build/geckoview-androidTest.apk
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk
- type: file
- - name: public/build/geckoview-test_runner.apk
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk
- type: file
- - name: public/build/geckoview-test_runner.aab
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab
- type: file
- - name: public/build/geckoview_example.apk
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk
- type: file
- - name: public/build/geckoview_example.aab
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab
- type: file
- - name: public/build/mozconfig
- path: /builds/worker/workspace/obj-build/.mozconfig
- type: file
- run:
- using: mozharness
- script: "mozharness/scripts/fx_desktop_build.py"
- secrets: true
- mozconfig-variant: null
- tooltool-downloads: internal
- # Note: These settings are only honored by nightly (i.e. shipping) builds
- update-channel:
- by-release-type:
- nightly:
- by-project:
- try: nightly-try
- default: nightly
- nightly-larch: nightly-larch
- nightly-oak: nightly-oak
- nightly-pine: nightly-pine
- beta:
- by-shipping-product:
- devedition: aurora
- default: beta
- release.*: release
- esr.*: esr
- default: null
- fetches:
- toolchain:
- - android-gradle-python-envs
- - android-ndk-linux
- - android-sdk-linux
- - linux64-clang
- - linux64-jdk
- - linux64-rust-android
- - linux64-rust-size
- - linux64-cbindgen
- - linux64-dump_syms
- - linux64-nasm
- - linux64-node
- - sysroot-x86_64-linux-gnu
- - sysroot-wasm32-wasi
-
-jobs:
- android-geckoview-fat-aar-shippable/opt:
- description: "Android GeckoView multi-architecture fat AAR Shippable"
- attributes:
- shippable: true
- enable-full-crashsymbols: true
- disable-push-apk: true
- maven_packages:
- - geckoview
- shipping-phase: build
- shipping-product: fennec
- index:
- job-name: android-geckoview-fat-aar-opt
- type: shippable-with-multi-l10n
- treeherder:
- platform: android-5-0-geckoview-fat-aar-shippable/opt
- symbol: Bgv
- dependencies:
- android-x86-shippable: build-android-x86-shippable/opt
- android-x86_64-shippable: build-android-x86_64-shippable/opt
- android-arm-shippable: build-android-arm-shippable/opt
- android-aarch64-shippable: build-android-aarch64-shippable/opt
- worker:
- env:
- PERFHERDER_EXTRA_OPTIONS: android-geckoview-fat-aar-nightly
- run:
- actions: [get-secrets, build, multi-l10n]
- config:
- - builds/releng_base_android_64_builds.py
- - taskcluster_nightly.py
- custom-build-variant-cfg: arm
- fetches:
- toolchain:
- - android-gradle-dependencies
- optimization:
- skip-unless-backstop: null
-
- android-geckoview-fat-aar-shippable-lite/opt:
- description: "Android GeckoView Lite multi-architecture fat AAR Shippable"
- attributes:
- shippable: true
- enable-full-crashsymbols: true
- disable-push-apk: true
- maven_packages:
- - geckoview
- - geckoview-exoplayer2
- shipping-phase: build
- shipping-product: fennec
- index:
- job-name: android-geckoview-fat-aar-opt-lite
- type: shippable-with-multi-l10n
- treeherder:
- platform: android-4-1-geckoview-fat-aar-shippable/opt
- symbol: Bgvl
- dependencies:
- android-x86-shippable-lite: build-android-x86-shippable-lite/opt
- android-x86_64-shippable-lite: build-android-x86_64-shippable-lite/opt
- android-arm-shippable-lite: build-android-arm-shippable-lite/opt
- android-aarch64-shippable-lite: build-android-aarch64-shippable-lite/opt
- worker:
- env:
- PERFHERDER_EXTRA_OPTIONS: android-geckoview-fat-aar-nightly-lite
- run:
- actions: [get-secrets, build, multi-l10n]
- config:
- - builds/releng_base_android_64_builds.py
- - taskcluster_nightly.py
- custom-build-variant-cfg: arm-lite
- fetches:
- toolchain:
- - android-gradle-dependencies-lite
- optimization:
- skip-unless-backstop: null
-
- android-geckoview-fat-aar/opt:
- description: "Android GeckoView multi-architecture fat AAR Opt"
- attributes:
- maven_packages:
- - geckoview
- index:
- job-name: android-geckoview-fat-aar-opt
- treeherder:
- platform: android-5-0-geckoview-fat-aar/opt
- symbol: Bgv
- dependencies:
- android-x86-opt: build-android-x86/opt
- android-x86_64-opt: build-android-x86_64/opt
- android-arm-opt: build-android-arm/opt
- android-aarch64-opt: build-android-aarch64/opt
- worker:
- env:
- PERFHERDER_EXTRA_OPTIONS: android-geckoview-fat-aar-opt
- USE_ARTIFACT: '1'
- MOZ_ARTIFACT_TASK: {task-reference: '<android-arm-opt>'}
- run:
- actions: [get-secrets, build]
- config: ["builds/releng_base_android_64_builds.py"]
- custom-build-variant-cfg: arm
- fetches:
- toolchain:
- - linux64-sccache
- - android-gradle-dependencies
diff --git a/taskcluster/ci/build-mac-notarization/kind.yml b/taskcluster/ci/build-mac-notarization/kind.yml
deleted file mode 100644
index 8d049b3695..0000000000
--- a/taskcluster/ci/build-mac-notarization/kind.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-transforms:
- - taskgraph.transforms.from_deps
- - gecko_taskgraph.transforms.mac_notarization
- - gecko_taskgraph.transforms.name_sanity
- - gecko_taskgraph.transforms.signing
- - gecko_taskgraph.transforms.task
-
-kind-dependencies:
- - build-mac-signing
-
-only-for-attributes:
- - shippable
-
-jobs:
- build-mac-notarization:
- from-deps:
- group-by: single-with-filters
- copy-attributes: true
- treeherder:
- symbol: BMN
- upstream-artifacts:
- - taskType: signing
- paths:
- - public/build/target.tar.gz
- - public/build/target.pkg
- formats: ["apple_notarization"]
- taskId:
- task-reference: <build-mac-signing>
diff --git a/taskcluster/ci/build-samples-browser/kind.yml b/taskcluster/ci/build-samples-browser/kind.yml
deleted file mode 100644
index 8949d70fad..0000000000
--- a/taskcluster/ci/build-samples-browser/kind.yml
+++ /dev/null
@@ -1,64 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-transforms:
- - android_taskgraph.transforms.build_components:transforms
- - gecko_taskgraph.transforms.build_schedules:transforms
- - gecko_taskgraph.transforms.job:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-kind-dependencies:
- - toolchain
- - build-fat-aar
-
-
-job-defaults:
- attributes:
- build-type: regular
- component: samples-browser
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
- description: Execute Gradle tasks for component "{component}"
- fetches:
- toolchain:
- - android-sdk-linux
- - android-gradle-dependencies
- - android-gradle-python-envs
- - linux64-jdk
- build-fat-aar:
- - target.maven.tar.xz
- include-coverage: true
- run:
- pre-gradlew:
- - ["cd", "mobile/android/android-components"]
- using: gradlew
- use-caches: false
- treeherder:
- kind: build
- platform: AC-android-all/opt
- tier: 1
- symbol: 'samples-browser(B)'
- worker-type: b-linux-medium-gcp
- worker:
- chain-of-trust: true
- docker-image: {in-tree: android-components}
- max-run-time: 1200
- env:
- ANDROID_SDK_ROOT: /builds/worker/fetches/android-sdk-linux
-
-jobs:
- gecko:
- run:
- gradlew:
- - ':samples-browser:assembleGecko'
- - ':samples-browser:testGeckoDebugUnitTest'
- - ':samples-browser:lintGeckoDebug'
-
- system:
- run:
- gradlew: [':samples-browser:assembleSystem']
- treeherder:
- symbol: 'samples-browser-system(B)'
diff --git a/taskcluster/ci/build/android.yml b/taskcluster/ci/build/android.yml
deleted file mode 100644
index ac3d2a5a31..0000000000
--- a/taskcluster/ci/build/android.yml
+++ /dev/null
@@ -1,645 +0,0 @@
-# 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/.
----
-job-defaults:
- attributes:
- artifact_map: taskcluster/gecko_taskgraph/manifests/fennec_geckoview.yml
- maven_packages:
- - geckoview
- index:
- product: mobile
- worker:
- docker-image: {in-tree: android-build}
- max-run-time: 7200
- env:
- GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline"
- artifacts:
- - name: public/build/maven
- path: /builds/worker/workspace/obj-build/gradle/maven/
- type: directory
- - name: public/build/target.maven.tar.xz
- path: /builds/worker/workspace/obj-build/gradle/target.maven.tar.xz
- type: file
- - name: public/build/geckoview-androidTest.apk
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk
- type: file
- - name: public/build/geckoview-test_runner.apk
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk
- type: file
- - name: public/build/geckoview-test_runner.aab
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab
- type: file
- - name: public/build/geckoview_example.apk
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk
- type: file
- - name: public/build/geckoview_example.aab
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab
- type: file
- - name: public/build
- path: /builds/worker/artifacts/
- type: directory
- run:
- using: mozharness
- script: "mozharness/scripts/fx_desktop_build.py"
- secrets: true
- mozconfig-variant: null
- tooltool-downloads: internal
- fetches:
- toolchain:
- - android-ndk-linux
- - android-sdk-linux
- - linux64-jdk
- - linux64-rust-android
- - linux64-rust-size
- - linux64-cbindgen
- - linux64-dump_syms
- - linux64-nasm
- - linux64-node
- - sysroot-x86_64-linux-gnu
- - sysroot-wasm32-wasi
- - android-gradle-python-envs
-
-android-arm/debug:
- description: "Android 5.0 Arm Debug"
- index:
- job-name: android-arm-debug
- attributes:
- enable-full-crashsymbols: true
- treeherder:
- platform: android-5-0-armv7/debug
- symbol: B
- worker-type: b-linux-gcp
- worker:
- env:
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
- MOZ_AUTOMATION_PACKAGE_TESTS: "1"
- run:
- actions: [get-secrets, build]
- config: ["builds/releng_base_android_64_builds.py"]
- custom-build-variant-cfg: arm-debug
- use-sccache: true
- fetches:
- toolchain:
- - linux64-clang
- - linux64-sccache
- - android-gradle-dependencies
-
-android-x86/opt:
- description: "Android 5.0 x86 Opt"
- index:
- job-name: android-x86-opt
- attributes:
- enable-full-crashsymbols: true
- treeherder:
- platform: android-5-0-x86/opt
- symbol: B
- run-on-projects: ['integration']
- worker-type: b-linux-gcp
- worker:
- env:
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
- MOZ_AUTOMATION_PACKAGE_TESTS: "1"
- run:
- actions: [get-secrets, build]
- config: ["builds/releng_base_android_64_builds.py"]
- custom-build-variant-cfg: x86
- use-sccache: true
- fetches:
- toolchain:
- - linux64-clang
- - linux64-sccache
- - android-gradle-dependencies
-
-android-x86-lite/opt:
- description: "Android 4.1 x86 Opt"
- index:
- job-name: android-x86-lite-opt
- attributes:
- enable-full-crashsymbols: true
- treeherder:
- platform: android-4-1-x86/opt
- symbol: Bl
- run-on-projects: ['integration']
- worker-type: b-linux-gcp
- worker:
- env:
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
- PERFHERDER_EXTRA_OPTIONS: lite
- run:
- actions: [get-secrets, build]
- config: ["builds/releng_base_android_64_builds.py"]
- custom-build-variant-cfg: x86-lite
- use-sccache: true
- fetches:
- toolchain:
- - linux64-clang
- - linux64-sccache
- - android-gradle-dependencies-lite
-
-android-x86-shippable/opt:
- description: "Android 5.0 x86 Shippable"
- use-pgo: true
- attributes:
- enable-full-crashsymbols: true
- shippable: true
- shipping-phase: build
- shipping-product: fennec
- index:
- job-name: android-x86-opt
- type: android-shippable
- treeherder:
- platform: android-5-0-x86-shippable/opt
- symbol: B
- run-on-projects: ['release']
- worker-type: b-linux-gcp
- worker:
- env:
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
- MOZ_AUTOMATION_PACKAGE_TESTS: "1"
- run:
- actions: [get-secrets, build, multi-l10n]
- config:
- - builds/releng_base_android_64_builds.py
- - taskcluster_nightly.py
- custom-build-variant-cfg: x86
- fetches:
- toolchain:
- - linux64-clang
- - android-gradle-dependencies
-
-android-x86-shippable-lite/opt:
- description: "Android 4.1 x86 Shippable Lite"
- use-pgo: android-x86-shippable/opt
- attributes:
- enable-full-crashsymbols: true
- shippable: true
- shipping-phase: build
- shipping-product: fennec
- index:
- job-name: android-x86-lite-opt
- type: android-shippable
- treeherder:
- platform: android-4-1-x86-shippable-lite/opt
- symbol: Bl
- run-on-projects: ['release']
- worker-type: b-linux-gcp
- worker:
- env:
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
- MOZ_AUTOMATION_PACKAGE_TESTS: "1"
- run:
- actions: [get-secrets, build, multi-l10n]
- config:
- - builds/releng_base_android_64_builds.py
- - taskcluster_nightly.py
- custom-build-variant-cfg: x86-lite
- fetches:
- toolchain:
- - linux64-clang
- - android-gradle-dependencies-lite
-
-android-arm/opt:
- description: "Android 5.0 Arm Opt"
- index:
- job-name: android-arm-opt
- attributes:
- enable-full-crashsymbols: true
- treeherder:
- platform: android-5-0-armv7/opt
- symbol: B
- run-on-projects: ['integration']
- worker-type: b-linux-gcp
- worker:
- env:
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
- MOZ_AUTOMATION_PACKAGE_TESTS: "1"
- run:
- actions: [get-secrets, build]
- config: ["builds/releng_base_android_64_builds.py"]
- custom-build-variant-cfg: arm
- use-sccache: true
- fetches:
- toolchain:
- - linux64-clang
- - android-gradle-dependencies
- - linux64-sccache
-
-android-arm-lite/opt:
- description: "Android 4.1 Arm Opt Lite"
- index:
- job-name: android-arm-lite-opt
- attributes:
- enable-full-crashsymbols: true
- treeherder:
- platform: android-4-1-armv7/opt
- symbol: Bl
- run-on-projects: ['integration']
- worker-type: b-linux-gcp
- worker:
- env:
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
- run:
- actions: [get-secrets, build]
- config: ["builds/releng_base_android_64_builds.py"]
- custom-build-variant-cfg: arm-lite
- use-sccache: true
- fetches:
- toolchain:
- - linux64-clang
- - linux64-sccache
- - android-gradle-dependencies-lite
-
-android-arm-shippable/opt:
- description: "Android 5.0 Arm Shippable"
- use-pgo: android-x86-shippable/opt
- attributes:
- enable-full-crashsymbols: true
- shippable: true
- shipping-phase: build
- shipping-product: fennec
- index:
- job-name: android-arm-opt
- type: android-shippable-with-multi-l10n
- treeherder:
- platform: android-5-0-armv7-shippable/opt
- symbol: Bpgo(B)
- run-on-projects: ['release']
- worker-type: b-linux-gcp
- worker:
- env:
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
- MOZ_AUTOMATION_PACKAGE_TESTS: "1"
- run:
- actions: [get-secrets, build, multi-l10n]
- config:
- - builds/releng_base_android_64_builds.py
- - taskcluster_nightly.py
- custom-build-variant-cfg: arm
- fetches:
- toolchain:
- - linux64-clang
- - android-gradle-dependencies
-
-android-arm-shippable-lite/opt:
- description: "Android 4.1 Arm Shippable Lite"
- use-pgo: android-x86-shippable/opt
- attributes:
- enable-full-crashsymbols: true
- shippable: true
- shipping-phase: build
- shipping-product: fennec
- index:
- job-name: android-arm-lite-opt
- type: android-shippable-with-multi-l10n
- treeherder:
- platform: android-4-1-armv7-shippable-lite/opt
- symbol: Bpgo(Bl)
- run-on-projects: ['release']
- worker-type: b-linux-gcp
- worker:
- env:
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
- MOZ_AUTOMATION_PACKAGE_TESTS: "1"
- run:
- actions: [get-secrets, build, multi-l10n]
- config:
- - builds/releng_base_android_64_builds.py
- - taskcluster_nightly.py
- custom-build-variant-cfg: arm-lite
- fetches:
- toolchain:
- - linux64-clang
- - android-gradle-dependencies-lite
-
-android-aarch64/opt:
- description: "Android 5.0 AArch64 Opt"
- index:
- job-name: android-aarch64-opt
- attributes:
- enable-full-crashsymbols: true
- treeherder:
- platform: android-5-0-aarch64/opt
- symbol: B
- run-on-projects: ['integration']
- worker-type: b-linux-gcp
- worker:
- env:
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
- MOZ_AUTOMATION_PACKAGE_TESTS: "1"
- run:
- actions: [get-secrets, build]
- config: ["builds/releng_base_android_64_builds.py"]
- custom-build-variant-cfg: aarch64
- use-sccache: true
- fetches:
- toolchain:
- - linux64-clang
- - linux64-sccache
- - android-gradle-dependencies
-
-android-aarch64-lite/opt:
- description: "Android 5.0 AArch64 Opt Lite"
- index:
- job-name: android-aarch64-lite-opt
- attributes:
- enable-full-crashsymbols: true
- treeherder:
- platform: android-5-0-aarch64/opt
- symbol: Bl
- run-on-projects: ['integration']
- worker-type: b-linux-gcp
- worker:
- env:
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
- PERFHERDER_EXTRA_OPTIONS: lite
- run:
- actions: [get-secrets, build]
- config: ["builds/releng_base_android_64_builds.py"]
- custom-build-variant-cfg: aarch64-lite
- use-sccache: true
- fetches:
- toolchain:
- - linux64-clang
- - linux64-sccache
- - android-gradle-dependencies-lite
-
-android-aarch64/debug:
- description: "Android 5.0 AArch64 Debug"
- index:
- job-name: android-aarch64-debug
- attributes:
- enable-full-crashsymbols: true
- treeherder:
- platform: android-5-0-aarch64/debug
- symbol: B
- worker-type: b-linux-gcp
- worker:
- env:
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
- MOZ_AUTOMATION_PACKAGE_TESTS: "1"
- run:
- actions: [get-secrets, build]
- config: ["builds/releng_base_android_64_builds.py"]
- custom-build-variant-cfg: aarch64-debug
- use-sccache: true
- fetches:
- toolchain:
- - linux64-clang
- - linux64-sccache
- - android-gradle-dependencies
-
-android-aarch64-shippable/opt:
- description: "Android 5.0 AArch64 Shippable"
- use-pgo: android-aarch64-shippable/opt
- attributes:
- enable-full-crashsymbols: true
- shippable: true
- shipping-phase: build
- shipping-product: fennec
- index:
- job-name: android-aarch64-opt
- type: android-shippable
- treeherder:
- platform: android-5-0-aarch64-shippable/opt
- symbol: Bpgo(B)
- run-on-projects: ['release']
- worker-type: b-linux-gcp
- worker:
- env:
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
- MOZ_AUTOMATION_PACKAGE_TESTS: "1"
- run:
- actions: [get-secrets, build, multi-l10n]
- config:
- - builds/releng_base_android_64_builds.py
- - taskcluster_nightly.py
- custom-build-variant-cfg: aarch64
- fetches:
- toolchain:
- - linux64-clang
- - android-gradle-dependencies
-
-android-aarch64-shippable-lite/opt:
- description: "Android 5.0 AArch64 Shippable Lite"
- use-pgo: android-aarch64-shippable/opt
- attributes:
- enable-full-crashsymbols: true
- shippable: true
- shipping-phase: build
- shipping-product: fennec
- index:
- job-name: android-aarch64-lite-opt
- type: android-shippable
- treeherder:
- platform: android-5-0-aarch64-shippable-lite/opt
- symbol: Bpgo(Bl)
- run-on-projects: ['release']
- worker-type: b-linux-gcp
- worker:
- env:
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
- MOZ_AUTOMATION_PACKAGE_TESTS: "1"
- PERFHERDER_EXTRA_OPTIONS: lite
- run:
- actions: [get-secrets, build, multi-l10n]
- config:
- - builds/releng_base_android_64_builds.py
- - taskcluster_nightly.py
- custom-build-variant-cfg: aarch64-lite
- fetches:
- toolchain:
- - linux64-clang
- - android-gradle-dependencies-lite
-
-android-x86_64/opt:
- description: "Android 5.0 x86-64 Opt"
- index:
- job-name: android-x86_64-opt
- attributes:
- enable-full-crashsymbols: true
- treeherder:
- platform: android-5-0-x86_64/opt
- symbol: B
- run-on-projects: ['integration']
- worker-type: b-linux-gcp
- worker:
- env:
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
- MOZ_AUTOMATION_PACKAGE_TESTS: "1"
- run:
- actions: [get-secrets, build]
- config: ["builds/releng_base_android_64_builds.py"]
- custom-build-variant-cfg: x86_64
- use-sccache: true
- fetches:
- toolchain:
- - linux64-clang
- - linux64-sccache
- - android-gradle-dependencies
-
-android-x86_64-lite/opt:
- description: "Android 5.0 x86-64 Opt Lite"
- index:
- job-name: android-x86_64-lite-opt
- attributes:
- enable-full-crashsymbols: true
- treeherder:
- platform: android-5-0-x86_64/opt
- symbol: Bl
- run-on-projects: ['integration']
- worker-type: b-linux-gcp
- worker:
- env:
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
- MOZ_AUTOMATION_PACKAGE_TESTS: "1"
- PERFHERDER_EXTRA_OPTIONS: lite
- run:
- actions: [get-secrets, build]
- config: ["builds/releng_base_android_64_builds.py"]
- custom-build-variant-cfg: x86_64-lite
- use-sccache: true
- fetches:
- toolchain:
- - linux64-clang
- - linux64-sccache
- - android-gradle-dependencies-lite
-
-android-x86_64-fuzzing/debug:
- description: "Android x86_64 Fuzzing Debug"
- index:
- job-name: android-x86_64-fuzzing-debug
- treeherder:
- platform: android-5-0-x86_64/debug
- symbol: Bf
- worker-type: b-linux-gcp
- worker:
- env:
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
- PERFHERDER_EXTRA_OPTIONS: fuzzing
- run:
- actions: [get-secrets, build]
- config: ["builds/releng_base_android_64_builds.py"]
- custom-build-variant-cfg: fuzzing-debug
- use-sccache: true
- fetches:
- toolchain:
- - linux64-clang
- - linux64-sccache
- - android-gradle-dependencies
- optimization:
- skip-unless-expanded: null
-
-android-x86_64-shippable/opt:
- description: "Android 5.0 x86-64 Shippable"
- use-pgo: true
- attributes:
- enable-full-crashsymbols: true
- shippable: true
- shipping-phase: build
- shipping-product: fennec
- index:
- job-name: android-x86_64-opt
- type: android-shippable
- treeherder:
- platform: android-5-0-x86_64-shippable/opt
- symbol: B
- run-on-projects: ['release']
- worker-type: b-linux-gcp
- worker:
- env:
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
- MOZ_AUTOMATION_PACKAGE_TESTS: "1"
- run:
- actions: [get-secrets, build, multi-l10n]
- config:
- - builds/releng_base_android_64_builds.py
- - taskcluster_nightly.py
- custom-build-variant-cfg: x86_64
- fetches:
- toolchain:
- - linux64-clang
- - android-gradle-dependencies
-
-android-x86_64-shippable-lite/opt:
- description: "Android 5.0 x86-64 Shippable Lite"
- use-pgo: android-x86_64-shippable/opt
- attributes:
- enable-full-crashsymbols: true
- shippable: true
- shipping-phase: build
- shipping-product: fennec
- index:
- job-name: android-x86_64-lite-opt
- type: android-shippable
- treeherder:
- platform: android-5-0-x86_64-shippable-lite/opt
- symbol: Bl
- run-on-projects: ['release']
- worker-type: b-linux-gcp
- worker:
- env:
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
- MOZ_AUTOMATION_PACKAGE_TESTS: "1"
- PERFHERDER_EXTRA_OPTIONS: lite
- run:
- actions: [get-secrets, build, multi-l10n]
- config:
- - builds/releng_base_android_64_builds.py
- - taskcluster_nightly.py
- custom-build-variant-cfg: x86_64-lite
- fetches:
- toolchain:
- - linux64-clang
- - android-gradle-dependencies-lite
-
-android-x86_64/debug:
- description: "Android 5.0 x86-64 Debug"
- index:
- job-name: android-x86_64-debug
- attributes:
- enable-full-crashsymbols: true
- treeherder:
- platform: android-5-0-x86_64/debug
- symbol: B
- worker-type: b-linux-gcp
- worker:
- env:
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
- MOZ_AUTOMATION_PACKAGE_TESTS: "1"
- run:
- actions: [get-secrets, build]
- config: ["builds/releng_base_android_64_builds.py"]
- custom-build-variant-cfg: x86_64-debug
- use-sccache: true
- fetches:
- toolchain:
- - linux64-clang
- - linux64-sccache
- - android-gradle-dependencies
-
-android-x86_64/debug-isolated-process:
- description: "Android 5.0 x86-64 Debug with Isolated Process"
- index:
- job-name: android-x86_64-debug-isolated-process
- attributes:
- enable-full-crashsymbols: true
- treeherder:
- platform: android-5-0-x86_64/debug-isolated-process
- symbol: Bip
- worker-type: b-linux-gcp
- worker:
- env:
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
- MOZ_AUTOMATION_PACKAGE_TESTS: "1"
- PERFHERDER_EXTRA_OPTIONS: isolated-process
- run:
- actions: [get-secrets, build]
- config: ["builds/releng_base_android_64_builds.py"]
- custom-build-variant-cfg: x86_64-debug-isolated-process
- use-sccache: true
- fetches:
- toolchain:
- - linux64-clang
- - linux64-sccache
- - android-gradle-dependencies
diff --git a/taskcluster/ci/config.yml b/taskcluster/ci/config.yml
deleted file mode 100644
index a26eb9818d..0000000000
--- a/taskcluster/ci/config.yml
+++ /dev/null
@@ -1,1072 +0,0 @@
-# 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/.
----
-trust-domain: gecko
-project-repo-param-prefix: ''
-product-dir: 'browser'
-treeherder:
- group-names:
- 'cram': 'Cram tests'
- 'js-bench-sm': 'JavaScript shell benchmarks with Spidermonkey'
- 'js-bench-v8': 'JavaScript shell benchmarks with Google V8'
- 'node': 'Node tests'
- 'py3': 'Python 3 unit tests'
- 'A': 'Android Gradle tests'
- 'Bpgo': 'Profile-guided optimization builds'
- 'Btime': 'Browsertime performance tests on Firefox'
- 'Btime-cache': 'Browsertime performance tests on Firefox with populated bytecode cache.'
- 'Btime-1proc': 'Browsertime performance tests on Firefox without e10s'
- 'Btime-nofis': 'Browsertime tests on Firefox without fission enabled'
- 'Btime-P-nofis': 'Browsertime power tests on Firefox without fission enabled'
- 'Btime-Prof-nofis': 'Browsertime tests on Firefox with profiling and without fission enabled'
- 'Btime-P-nofis-refbrow': 'Browsertime Power Usage Tests on reference browser without fission enabled'
- 'Btime-P-nofis-fenix': 'Browsertime Power Usage Tests on Fenix without fission enabled'
- 'Btime-live-nofis-fenix': 'Browsertime tests on Fenix without fission enabled using live sites'
- 'Btime-nofis-fenix': 'Browsertime tests on Fenix without fission enabled'
- 'Btime-webext-nofis-fenix': 'Browsertime performance tests on Fenix with extensions and without fission enabled'
- 'Btime-webext': 'Browsertime performance tests on Firefox with extensions'
- 'Btime-live-nofis': 'Browsertime tests on Firefox without fission enabled using live sites'
- 'Btime-nofis-refbrow': 'Browsertime tests on reference browser without fission enabled'
- 'Btime-live-nofis-ChR': 'Browsertime tests on Chrome without fission enabled using live sites'
- 'Btime-Prof': 'Browsertime performance tests on Firefox with Gecko Profiling'
- 'Btime-Prof-1proc': 'Browsertime performance tests on Firefox with Gecko Profiling and without e10s'
- 'Btime-live': 'Browsertime performance tests on Firefox'
- 'Btime-live-fenix': 'Browsertime performance tests on Firefox'
- 'Btime-live-ChR': 'Browsertime performance tests on Google Chrome Release'
- 'Btime-live-Saf': 'Browsertime performance tests on Safari'
- 'Btime-ChR': 'Browsertime performance tests on Google Chrome Release'
- 'Btime-nofis-ChR': 'Browsertime performance tests on Google Chrome Release without fission enabled'
- 'Btime-P': 'Browsertime power tests on Firefox/Geckoview'
- 'Btime-P-fenix': 'Browsertime power tests on Fenix'
- 'Btime-P-refbrow': 'Browsertime power tests on reference browser'
- 'Btime-fenix': 'Browsertime performance tests on Fenix'
- 'Btime-refbrow': 'Browsertime performance tests on the reference browser'
- 'Btime-Saf': 'Browsertime performance tests on Safari'
- 'Btime-CaR': 'Browsertime performance tests on Chromium-as-Release'
- 'Btime-nofis-CaR': 'Browsertime performance tests on Chromium-as-Release without fission enabled'
- 'Fetch': 'Fetch and store content'
- 'Fxfn': 'Firefox functional tests'
- 'l10n-bump': 'L10n Bumper'
- 'M': 'Mochitests'
- 'M-cf': 'Mochitests confirm failure'
- 'M-condprof': "Mochitests with conditioned profile"
- 'M-condprof-cf': "Mochitests confirm failure with conditioned profile"
- 'M-fis-hv': "Mochitests that run on Fission with isolateHighValue isolation strategy (Android-specific)"
- 'M-fis-hv-cf': "Mochitests confirm failure that run on Fission with isolateHighValue isolation strategy (Android-specific)"
- 'M-headless': 'Headless Mochitests'
- 'M-headless-cf': 'Headless Mochitests confirm failure'
- 'M-headless-spi-nw': 'Headless Mochitests with fission and socketprocess networking.'
- 'M-headless-spi-nw-cf': 'Headless Mochitests confirm failure with fission and socketprocess networking.'
- 'M-http3': 'Mochitests with Http/3 server'
- 'M-http3-cf': 'Mochitests confirm failure with Http/3 server'
- 'M-http2': 'Mochitests with Http/2 server'
- 'M-http2-cf': 'Mochitests confirm failure with Http/2 server'
- 'M-aab': 'Mochitests with AAB test_runner.'
- 'M-aab-cf': 'Mochitests confirm failure with AAB test_runner.'
- 'M-aab-nofis': 'Mochitests with AAB test_runner without fission enabled.'
- 'M-aab-nofis-cf': 'Mochitests confirm failure with AAB test_runner without fission enabled.'
- 'M-1proc': 'Mochitests without e10s or fission'
- 'M-1proc-cf': 'Mochitests confirm failure without e10s or fission'
- 'M-a11y-checks': 'Mochitests with accessibility checks enabled'
- 'M-a11y-checks-cf': 'Mochitests confirm failure with accessibility checks enabled'
- 'M-xorig': 'Mochitests with cross-origin and fission enabled'
- 'M-xorig-cf': 'Mochitests confirm failure with cross-origin and fission enabled'
- 'M-gli': 'Mochitests with WebGL over IPC'
- 'M-gli-cf': 'Mochitests confirm failure with WebGL over IPC'
- 'M-nofis': 'Mochitests without fission enabled'
- 'M-nofis-cf': 'Mochitests confirm failure without fission enabled'
- 'M-nofis-ship': "Mochitests without fission and with SHIP (session history in parent) enabled (Android-specific)"
- 'M-nofis-ship-cf': "Mochitests confirm failure without fission and with SHIP (session history in parent) enabled (Android-specific)"
- 'M-spi': 'Mochitests with socket process'
- 'M-spi-cf': 'Mochitests confirm failure with socket process'
- 'M-spi-nofis': 'Mochitests with socket process without fission enabled'
- 'M-spi-nofis-cf': 'Mochitests confirm failure with socket process without fission enabled'
- 'M-spi-nw': 'Mochitests with networking on socket process'
- 'M-spi-nw-cf': 'Mochitests confirm failure with networking on socket process'
- 'M-spi-nw-nofis': 'Mochitests with networking on socket process without fission enabled'
- 'M-spi-nw-nofis-cf': 'Mochitests confirm failure with networking on socket process without fission enabled'
- 'M-spi-nw-1proc': 'Mochitests with networking on socket process without e10s'
- 'M-spi-nw-1proc-cf': 'Mochitests confirm failure with networking on socket process without e10s'
- 'M-swr': 'Mochitests with software webrender enabled'
- 'M-swr-cf': 'Mochitests confirm failure with software webrender enabled'
- 'M-swr-a11y-checks': 'Mochitests with software webrender and accessibility checks enabled'
- 'M-swr-a11y-checks-cf': 'Mochitests confirm failure with software webrender and accessibility checks enabled'
- 'M-swr-1proc': 'Mochitests with software webrender enabled without e10s'
- 'M-swr-1proc-cf': 'Mochitests confirm failure with software webrender enabled without e10s'
- 'M-swr-nofis': 'Mochitests with software webrender without fission enabled'
- 'M-swr-nofis-cf': 'Mochitests confirm failure with software webrender without fission enabled'
- 'M-wmfme': 'Mochitests with Windows Media Foundation media engine enabled'
- 'M-wmfme-cf': 'Mochitests confirm failure with Windows Media Foundation media engine enabled'
- 'M-mda-gpu': 'Mochitests Media on GPU worker'
- 'M-mda-gpu-cf': 'Mochitests confirm failure Media on GPU worker'
- 'M-f': 'Mochitest failures'
- 'M-f-swr': 'Mochitest failures software webrender'
- 'M-f-cf': 'Mochitest failures w/confirm failure'
- 'M-f-swr-cf': 'Mochitest failures software webrender w/confirm failure'
- 'M-msix': 'Mochitests from MSIX builds'
- 'M-msix-cf': 'Mochitests confirm failure from MSIX builds'
- 'MSI': 'Repack installers into MSIs'
- 'MSIs': 'Signing of Repacked installers of MSIs'
- 'MSIX': 'Repack into MSIX package'
- 'MSIXs': 'Signing of Repack into MSIX package'
- 'Pup': "Puppeteer tests"
- 'R': 'Reftests'
- 'R-cf': 'Reftests confirm failure'
- 'R-nofis': 'Reftests without fission enabled'
- 'R-nofis-cf': 'Reftests confirm failure without fission enabled'
- 'R-nofis-ship': 'Reftests without fission and with SHIP (session history in parent) enabled (Android specific)'
- 'R-nofis-ship-cf': 'Reftests confirm failure without fission and with SHIP (session history in parent) enabled (Android specific)'
- 'R-swr': 'Reftests with software webrender enabled'
- 'R-swr-cf': 'Reftests confirm failure with software webrender enabled'
- 'R-swr-nofis': 'Reftests with software webrender enabled without fission enabled'
- 'R-swr-nofis-cf': 'Reftests confirm failure with software webrender enabled without fission enabled'
- 'R-wr-dc0': 'Reftests with dcomp disabled'
- 'R-wr-dc0-cf': 'Reftests confirm failure with dcomp disabled'
- 'R-wr-dc1-p': 'Reftests with dcomp present but not overlays'
- 'R-wr-dc1-p-cf': 'Reftests confirm failure with dcomp present but not overlays'
- 'R-wr-dc2-o': 'Reftests with dcomp overlays but not compositing'
- 'R-wr-dc2-o-cf': 'Reftests confirm failure with dcomp overlays but not compositing'
- 'R-wr-dc3-c': 'Reftests with dcomp compositing'
- 'R-wr-dc3-c-cf': 'Reftests confirm failure with dcomp compositing'
- 'Rap': 'Raptor performance tests on Firefox'
- 'Rap-live': 'Raptor performance tests on Firefox with live sites'
- 'Rap-Prof': 'Raptor performance tests on Firefox with Gecko Profiling'
- 'Rap-ChR': 'Raptor performance tests on Google Chrome Release'
- 'Rap-refbrow': 'Raptor performance tests on the reference browser'
- 'T': 'Talos performance tests'
- 'T-gli': 'Talos performance tests with WebGL over IPC'
- 'T-Prof': 'Talos performance tests on Firefox with Gecko Profiling'
- 'T-Prof-gli': 'Talos performance tests with WebGL over IPC and Gecko Profiling'
- 'T-swr': 'Talos performance tests with software webrender enabled'
- 'tt': 'Telemetry tests'
- 'tt-nofis': 'Telemetry tests without fission enabled'
- 'SY': 'Are we slim yet tests by TaskCluster'
- 'W': 'Web platform tests'
- 'W-cf': 'Web platform tests confirm failure'
- 'W-nofis': 'Web platform tests without fission enabled'
- 'W-nofis-cf': 'Web platform tests confirm failure without fission enabled'
- 'W-headless': 'Headless web platform tests'
- 'W-headless-cf': 'Headless web platform tests confirm failure'
- 'W-swr-nofis': 'Web platform tests with software webrender enabled without fission enabled'
- 'W-swr-nofis-cf': 'Web platform tests confirm failure with software webrender enabled without fission enabled'
- 'W-swr': 'Web platform tests with software webrender enabled'
- 'W-swr-cf': 'Web platform tests confirm falure with software webrender enabled'
- 'W-b': 'Web platform tests (backlog)'
- 'W-b-nofis': 'Web platform tests (backlog) without fission enabled'
- 'W-pb': 'Web platform tests with private browsing enabled'
- 'X': 'Xpcshell tests'
- 'X-cf': 'Xpcshell tests confirm failure'
- 'X-condprof': 'Xpcshell tests with a conditioned profile'
- 'X-condprof-cf': 'Xpcshell tests confirm failure with a conditioned profile'
- 'X-nofis': 'Xpcshell tests without fission enabled'
- 'X-nofis-cf': 'Xpcshell tests confirm failure without fission enabled'
- 'X-nofis-ship': 'Xpcshell tests without fission and with SHIP (session history in parent) enabled (Android specific)'
- 'X-nofis-ship-cf': 'Xpcshell tests confirm failure without fission and with SHIP (session history in parent) enabled (Android specific)'
- 'X-spi-nw': 'Xpcshell tests with networking on socket process'
- 'X-spi-nw-cf': 'Xpcshell tests confirm failure with networking on socket process'
- 'X-spi-nw-nofis': 'Xpcshell tests with networking on socket process without fission enabled'
- 'X-spi-nw-nofis-cf': 'Xpcshell tests confirm failure with networking on socket process without fission enabled'
- 'X-f': 'Xpcshell tests that fail on a given config'
- 'X-f-spi-nw': 'Xpcshell tests that fail on a given config w/socket process'
- 'X-msix': 'Xpcshell tests on msix packages'
- 'X-msix-cf': 'Xpcshell tests confirm failure on msix packages'
- 'L10n': 'Localised Repacks'
- 'L10n-Rpk': 'Localized Repackaged Repacks'
- 'deb-L10n': 'Localized Debian Repacks'
- 'BM': 'Beetmover'
- 'BMR': 'Beetmover repackages'
- 'BM-apt': 'Beetmover .deb packages'
- 'c-Up': 'Balrog submission of complete updates'
- 'css': 'Checksum signing for source'
- 'rs': 'Repackage signing'
- 'BMcs': 'Beetmover checksums'
- 'BMcslang': 'Beetmover checksums for language packs'
- 'BMcss': 'Beetmover checksums for source'
- 'Deb8': 'Packages for Debian 8'
- 'Deb8-32': 'Packages for Debian 8 32-bits'
- 'Deb9': 'Packages for Debian 9'
- 'Deb10': 'Packages for Debian 10'
- 'Deb11': 'Packages for Debian 11'
- 'Deb12': 'Packages for Debian 12'
- 'Ub18': 'Packages for Ubuntu 18.04'
- 'Ub20': 'Packages for Ubuntu 20.04'
- 'Ub22': 'Packages for Ubuntu 22.04'
- 'I': 'Docker Image Builds'
- 'TA': 'Toolchain builds for Android'
- 'TL': 'Toolchain builds for Linux 64-bits'
- 'TL32': 'Toolchain builds for Linux 32-bits'
- 'TM': 'Toolchain builds for OSX'
- 'TMW': 'Toolchain builds for Windows MinGW'
- 'TW32': 'Toolchain builds for Windows 32-bits'
- 'TW64': 'Toolchain builds for Windows 64-bits'
- 'WMC32': 'MinGW-Clang builds for Windows 32-bits'
- 'WMC64': 'MinGW-Clang builds for Windows 64-bits'
- 'Searchfox': 'Searchfox builds'
- 'SM': 'Spidermonkey builds'
- 'p': 'Partial generation'
- 'ps': 'Partials signing'
- 'ms': 'Complete MAR signing'
- 'ms-stage': 'Autograph-stage MAR signing test'
- 'Rel': 'Release promotion'
- 'Snap': 'Snap image generation'
- 'Flatpak': 'Flatpak image generation'
- 'langpack': 'Langpack sigatures and uploads'
- 'TPS': 'Sync tests'
- 'UV': 'Update verify'
- 'UVnext': 'Update verify for esr-next'
- 'pydep': 'python dependency update'
- 'WR': 'WebRender standalone'
- 'Wgpu': 'WebGPU standalone'
- 'cpp': 'C/C++ checks'
- 'pedantic': 'pedantic checks'
- 'text': 'Check on texts'
- 'misc': 'Misc checks'
- 'js': 'JavaScript checks'
- 'py': 'Python checks'
- 'java': 'Java checks'
- 'rust': 'Rust checks'
- 'Static-Analysis': 'Full tree static-analysis'
- 'SS': 'Shadow scheduler'
- 'Sel': 'Selenium Snap tests'
- 'Sentry': 'Sentry synchronization'
- 'test-info': 'Test manifest skip/fail information'
- 'condprof': 'Conditioned Profile Builder'
- 'doc': 'Documentation'
- 'GhS': 'GitHub Synchronization'
- 'perftest': 'Performance tests'
- 'perftest-detect': 'Performance regression detection tooling'
- 'perftest-chrome': 'Performance tests using Chrone'
- 'perftest-http3': 'Performance tests with HTTP/3'
- 'l10n': 'Localization checks'
- 'fxrec': 'Desktop startup recorder (fxrecord)'
- 'wc': 'webcompat'
- 'Boot': 'Bootstrap'
- 'Attr-L10n': 'Build Attribution'
- 'android-l10n': 'Import strings from android-l10n repo'
-
- # The below symbols are from firefox-android (fenix/focus/android-components)
- 'buildconfig': 'Make sure the content of .buildconfig.yml matches what gradle knows about its projects'
- 'compare-locales': 'Validate strings.xml with compare-locales'
- 'detekt': 'detekt linter'
- 'ktlint': 'ktlint linter'
- 'lint': 'gradle lint linter'
-
- 'focus': 'Focus general tasks no matter the variant'
- 'focus-beta': 'Focus beta-related tasks'
- 'focus-debug': 'Focus builds made for testing'
- 'focus-nightly': 'Focus nightly-related tasks'
- 'focus-release': 'Focus production-related tasks'
-
- 'fenix': 'Fenix general tasks no matter the variant'
- 'fenix-beta': 'Fenix beta-related tasks'
- 'fenix-debug': 'Fenix builds made for testing'
- 'fenix-nightly': 'Fenix nightly-related tasks'
- 'fenix-nightlySim': 'Nightly-related tasks that run on each github push'
- 'fenix-release': 'Fenix production-related tasks'
-
- # This list is based on mobile/android/android-components/.buildconfig.yml except the exceptions down below
- 'browser-domains': 'browser-domains'
- 'browser-engine-gecko': 'browser-engine-gecko'
- 'browser-engine-system': 'browser-engine-system'
- 'browser-errorpages': 'browser-errorpages'
- 'browser-icons': 'browser-icons'
- 'browser-menu': 'browser-menu'
- 'browser-menu2': 'browser-menu2'
- 'browser-session-storage': 'browser-session-storage'
- 'browser-state': 'browser-state'
- 'browser-storage-sync': 'browser-storage-sync'
- 'browser-tabstray': 'browser-tabstray'
- 'browser-thumbnails': 'browser-thumbnails'
- 'browser-toolbar': 'browser-toolbar'
- 'compose-awesomebar': 'compose-engine'
- 'compose-browser-toolbar': 'awesomebar-browser-toolbar'
- 'compose-engine': 'compose-engine'
- 'compose-tabstray': 'compose-tabstray'
- 'concept-awesomebar': 'concept-awesomebar'
- 'concept-base': 'concept-base'
- 'compose-cfr': 'compose-cfr'
- 'concept-engine': 'concept-engine'
- 'concept-fetch': 'concept-fetch'
- 'concept-menu': 'concept-menu'
- 'concept-push': 'concept-push'
- 'concept-storage': 'concept-storage'
- 'concept-sync': 'concept-sync'
- 'concept-tabstray': 'concept-tabstray'
- 'concept-toolbar': 'concept-toolbar'
- 'feature-accounts-push': 'feature-accounts-push'
- 'feature-accounts': 'feature-accounts'
- 'feature-addons': 'feature-addons'
- 'feature-app-links': 'feature-app-links'
- 'feature-autofill': 'feature-autofill'
- 'feature-awesomebar': 'feature-awesomebar'
- 'feature-containers': 'feature-containers'
- 'feature-contextmenu': 'feature-contextmenu'
- 'feature-customtabs': 'feature-customtabs'
- 'feature-downloads': 'feature-downloads'
- 'feature-findinpage': 'feature-findinpage'
- 'feature-fxsuggest': 'feature-fxsuggest'
- 'feature-intent': 'feature-intent'
- 'feature-logins': 'feature-logins'
- 'feature-media': 'feature-media'
- 'feature-privatemode': 'feature-privatemode'
- 'feature-prompts': 'feature-prompts'
- 'feature-push': 'feature-push'
- 'feature-pwa': 'feature-pwa'
- 'feature-qr': 'feature-qr'
- 'feature-readerview': 'feature-readerview'
- 'feature-recentlyclosed': 'feature-recentlyclosed'
- 'feature-search': 'feature-search'
- 'feature-serviceworker': 'feature-serviceworker'
- 'feature-session': 'feature-session'
- 'feature-share': 'feature-share'
- 'feature-sitepermissions': 'feature-sitepermissions'
- 'feature-syncedtabs': 'feature-syncedtabs'
- 'feature-tab-collections': 'feature-tab-collections'
- 'feature-tabs': 'feature-tabs'
- 'feature-toolbar': 'feature-toolbar'
- 'feature-top-sites': 'feature-top-sites'
- 'feature-webauthn': 'feature-webauthn'
- 'feature-webcompat': 'feature-webcompat'
- 'feature-webnotifications': 'feature-webnotifications'
- 'lib-crash': 'lib-crash'
- 'lib-auth': 'lib-auth'
- 'lib-crash-sentry': 'lib-crash-sentry'
- 'lib-crash-sentry-legacy': 'lib-crash-sentry-legacy'
- 'lib-dataprotect': 'lib-dataprotect'
- 'lib-fetch-okhttp': 'lib-fetch-okhttp'
- 'lib-jexl': 'lib-jexl'
- 'lib-publicsuffixlist': 'lib-publicsuffixlist'
- 'lib-push-firebase': 'lib-push-firebase'
- 'lib-state': 'lib-state'
- 'samples-compose-browser': 'samples-compose-browser'
- 'samples-crash': 'samples-crash'
- 'samples-dataprotect': 'samples-dataprotect'
- 'samples-firefox-accounts': 'samples-firefox-accounts'
- 'samples-glean-library': 'samples-glean-library'
- 'samples-glean': 'samples-glean'
- 'samples-sync-logins': 'samples-sync-logins'
- 'samples-sync': 'samples-sync'
- 'samples-toolbar': 'samples-toolbar'
- 'service-contile': 'service-contile'
- 'service-digitalassetlinks': 'service-digitalassetlinks'
- 'service-experiments': 'service-experiments'
- 'service-firefox-accounts': 'service-firefox-accounts'
- 'service-fretboard': 'service-fretboard'
- 'service-glean': 'service-glean'
- 'service-location': 'service-location'
- 'service-nimbus': 'service-nimbus'
- 'service-pocket': 'service-pocket'
- 'service-sync-autofill': 'service-sync-autofill'
- 'service-sync-logins': 'service-sync-logins'
- 'support-android-test': 'support-android-test'
- 'support-base': 'support-base'
- 'support-images': 'support-images'
- 'support-ktx': 'support-ktx'
- 'support-license': 'support-license'
- 'support-locale': 'support-locale'
- 'support-migration': 'support-migration'
- 'support-remotesettings': 'support-remotesettings'
- 'support-rusthttp': 'support-rusthttp'
- 'support-rusterrors': 'support-rusterrors'
- 'support-rustlog': 'support-rustlog'
- 'support-sync-telemetry': 'support-sync-telemetry'
- 'support-test-appservices': 'support-test-appservices'
- 'support-test-fakes': 'support-test-fakes'
- 'support-test-libstate': 'support-test-libstate'
- 'support-test': 'support-test'
- 'support-utils': 'support-utils'
- 'support-webextensions': 'support-webextensions'
- 'tooling-detekt': 'tooling-detekt'
- 'tooling-fetch-tests': 'tooling-fetch-tests'
- 'tooling-lint': 'tooling-lint'
- 'ui-autocomplete': 'ui-autocomplete'
- 'ui-colors': 'ui-colors'
- 'ui-fonts': 'ui-fonts'
- 'ui-icons': 'ui-icons'
- 'ui-tabcounter': 'ui-tabcounter'
- 'ui-widgets': 'ui-widgets'
-
- # These ones are too long to fit in 25 chars
- 'lib-fetch-httpurlconnecti': 'lib-fetch-httpurlconnection'
- 'feature-webcompat-reporte': 'feature-webcompat-reporter'
-
- # Groups aren't generated off buildconfig.yml:
- 'samples-browser': 'samples-browser'
- 'samples-browser-gecko': 'samples-browser-gecko'
- 'samples-browser-system': 'samples-browser-system'
-
- # forPerformanceTest: Builds made for Raptor and other performance tests
- 'Rap-P': 'Raptor power tests'
-
-index:
- products:
- - 'firefox'
- - 'fennec'
- - 'mobile'
- - 'static-analysis'
- - 'devedition'
- - 'source'
- - 'system-symbols'
- - 'geckodriver'
-
-try:
- # We have a few platforms for which we want to do some "extra" builds, or at
- # least build-ish things. Sort of. Anyway, these other things are implemented
- # as different "platforms". These do *not* automatically ride along with "-p
- # all"
- ridealong-builds:
- 'linux':
- - 'sm-plain-linux32'
- - 'sm-arm-sim-linux32'
- 'linux64':
- - 'sm-plain-linux64'
- - 'sm-nojit-linux64'
- - 'sm-nonunified-linux64'
- - 'sm-arm-sim-linux32'
- - 'sm-arm64-sim-linux64'
- - 'sm-compacting-linux64'
- - 'sm-rootanalysis-linux64'
- - 'sm-package-linux64'
- - 'sm-tsan-linux64'
- - 'sm-asan-linux64'
- - 'sm-msan-linux64'
- - 'sm-fuzzing-linux64'
- 'win32':
- - 'sm-plain-win32'
- - 'sm-compacting-win32'
-
-release-promotion:
- products:
- - 'devedition'
- - 'fennec'
- - 'firefox'
- - 'firefox-android'
- rebuild-kinds:
- - docker-image
- - fetch
- - packages
- - toolchain
- flavors:
- promote_devedition:
- product: devedition
- target-tasks-method: promote_desktop
- partial-updates: true
- promote_firefox:
- product: firefox
- target-tasks-method: promote_desktop
- partial-updates: true
- promote_firefox_partner_repack:
- product: firefox
- rebuild-kinds:
- - release-partner-repack
- - release-partner-repack-chunking-dummy
- - release-partner-repack-signing
- - release-partner-repack-mac-signing
- - release-partner-repack-mac-notarization
- - release-partner-repack-repackage
- - release-partner-repack-repackage-signing
- - release-partner-repack-beetmover
- target-tasks-method: promote_desktop
- promote_firefox_partner_attribution:
- product: firefox
- rebuild-kinds:
- - release-partner-attribution
- - release-partner-attribution-beetmover
- target-tasks-method: promote_desktop
- promote_firefox_rc:
- product: firefox
- is-rc: true
- target-tasks-method: promote_desktop
- partial-updates: true
- push_devedition:
- product: devedition
- target-tasks-method: push_desktop
- partial-updates: true
- push_firefox:
- product: firefox
- target-tasks-method: push_desktop
- partial-updates: true
- ship_devedition:
- product: devedition
- target-tasks-method: ship_desktop
- version-bump: true
- partial-updates: true
- ship_firefox:
- product: firefox
- target-tasks-method: ship_desktop
- version-bump: true
- partial-updates: true
- ship_firefox_rc:
- product: firefox
- is-rc: true
- target-tasks-method: ship_desktop
- partial-updates: true
- promote_android:
- product: firefox-android
- target-tasks-method: promote_android
- push_android:
- product: firefox-android
- target-tasks-method: push_android
- ship_android:
- product: firefox-android
- target-tasks-method: ship_android
-
-
-merge-automation:
- behaviors:
- central-to-beta:
- fetch-version-from: "browser/config/version.txt"
- version-files:
- - filename: "config/milestone.txt"
- new-suffix: ''
- - filename: "browser/config/version.txt"
- new-suffix: ''
- - filename: "browser/config/version_display.txt"
- new-suffix: 'b1'
- - filename: "mobile/android/version.txt"
- new-suffix: 'b1'
- replacements:
- - - browser/config/mozconfigs/linux32/l10n-mozconfig
- - ac_add_options --with-branding=browser/branding/nightly
- - ac_add_options --enable-official-branding
- - - browser/config/mozconfigs/linux64/l10n-mozconfig
- - ac_add_options --with-branding=browser/branding/nightly
- - ac_add_options --enable-official-branding
- - - browser/config/mozconfigs/win32/l10n-mozconfig
- - ac_add_options --with-branding=browser/branding/nightly
- - ac_add_options --enable-official-branding
- - - browser/config/mozconfigs/win64/l10n-mozconfig
- - ac_add_options --with-branding=browser/branding/nightly
- - ac_add_options --enable-official-branding
- - - browser/config/mozconfigs/win64-aarch64/l10n-mozconfig
- - ac_add_options --with-branding=browser/branding/nightly
- - ac_add_options --enable-official-branding
- - - browser/config/mozconfigs/macosx64/l10n-mozconfig
- - ac_add_options --with-branding=browser/branding/nightly
- - ac_add_options --enable-official-branding
- merge-old-head: true
- base-tag: 'FIREFOX_BETA_{major_version}_BASE'
- end-tag: 'FIREFOX_BETA_{major_version}_END'
- from-repo: 'https://hg.mozilla.org/mozilla-central'
- from-branch: 'central'
- to-repo: 'https://hg.mozilla.org/releases/mozilla-beta'
- to-branch: 'beta'
- early-to-late-beta:
- fetch-version-from: "browser/config/version.txt"
- version-files: []
- replacements:
- - - build/defines.sh
- - EARLY_BETA_OR_EARLIER=1
- - EARLY_BETA_OR_EARLIER=
- merge-old-head: false
- to-repo: 'https://hg.mozilla.org/releases/mozilla-beta'
- to-branch: 'beta'
- beta-to-release:
- fetch-version-from: "browser/config/version.txt"
- version-files:
- - filename: "browser/config/version_display.txt"
- new-suffix: ''
- - filename: "mobile/android/version.txt"
- new-suffix: ''
- replacements: []
- merge-old-head: true
- base-tag: 'FIREFOX_RELEASE_{major_version}_BASE'
- end-tag: 'FIREFOX_RELEASE_{major_version}_END'
- from-repo: 'https://hg.mozilla.org/releases/mozilla-beta'
- from-branch: 'beta'
- to-repo: 'https://hg.mozilla.org/releases/mozilla-release'
- to-branch: 'release'
- release-to-esr:
- fetch-version-from: "browser/config/version.txt"
- version-files:
- - filename: "browser/config/version_display.txt"
- new-suffix: 'esr'
- replacements: []
- merge-old-head: false
- end-tag: "FIREFOX_ESR_{major_version}_BASE"
- to-repo: 'https://hg.mozilla.org/releases/mozilla-esr115'
- to-branch: 'esr115'
- bump-central:
- fetch-version-from: "browser/config/version.txt"
- version-files:
- - filename: "config/milestone.txt"
- version-bump: "major"
- new-suffix: 'a1'
- - filename: "browser/config/version.txt"
- version-bump: "major"
- new-suffix: 'a1'
- - filename: "browser/config/version_display.txt"
- version-bump: "major"
- new-suffix: 'a1'
- - filename: "mobile/android/version.txt"
- version-bump: "major"
- new-suffix: 'a1'
- replacements:
- - - "services/sync/modules/constants.sys.mjs"
- - 'WEAVE_VERSION = "1.{current_weave_version}.0"'
- - 'WEAVE_VERSION = "1.{next_weave_version}.0"'
- merge-old-head: false
- end-tag: 'FIREFOX_NIGHTLY_{major_version}_END'
- to-repo: 'https://hg.mozilla.org/mozilla-central'
- to-branch: 'central'
- bump-esr115:
- fetch-version-from: "browser/config/version.txt"
- version-files:
- - filename: "config/milestone.txt"
- version-bump: "minor"
- - filename: "browser/config/version.txt"
- version-bump: "minor"
- - filename: "browser/config/version_display.txt"
- version-bump: "minor"
- replacements: []
- merge-old-head: false
- to-repo: 'https://hg.mozilla.org/releases/mozilla-esr115'
- to-branch: 'esr115'
-
-scriptworker:
- # See additional configuration in taskcluster/gecko_taskgraph/util/scriptworker.py
- scope-prefix: 'project:releng'
-
-partner-urls:
- release-partner-repack:
- by-release-product:
- default: null
- firefox:
- by-release-type:
- default: null
- beta|release.*:
- by-release-level:
- production: 'git@github.com:mozilla-partners/repack-manifests.git'
- staging: 'git@github.com:moz-releng-automation-stage/repack-manifests.git'
- esr.*:
- by-release-level:
- production: 'git@github.com:mozilla-partners/esr-repack-manifests.git'
- staging: 'git@github.com:moz-releng-automation-stage/esr-repack-manifests.git'
- release-partner-attribution:
- by-release-product:
- default: null
- firefox:
- by-release-type:
- default: null
- beta|release.*:
- by-release-level:
- production: 'git@github.com:mozilla-partners/repack-manifests.git'
- staging: 'git@github.com:moz-releng-automation-stage/repack-manifests.git'
- esr.*:
- by-release-level:
- production: 'git@github.com:mozilla-partners/esr-repack-manifests.git'
- staging: 'git@github.com:moz-releng-automation-stage/esr-repack-manifests.git'
- release-eme-free-repack:
- by-release-product:
- default: null
- firefox:
- by-release-type:
- default: null
- beta|release.*:
- by-release-level:
- production: 'git@github.com:mozilla-partners/mozilla-EME-free-manifest.git'
- staging: 'git@github.com:moz-releng-automation-stage/mozilla-EME-free-manifest.git'
-
-
-task-priority:
- by-project:
- 'mozilla-release': 'highest'
- 'mozilla-esr.*': 'very-high'
- 'mozilla-beta': 'high'
- 'mozilla-central': 'medium'
- 'autoland': 'low'
- 'mozilla-inbound': 'low'
- 'default': 'very-low'
-
-taskgraph:
- register: gecko_taskgraph:register
-
-workers:
- aliases:
- b-linux-gcp-aarch64:
- provisioner: '{trust-domain}-{level}'
- implementation: generic-worker
- os: linux
- worker-type: '{alias}'
- b-linux.*:
- provisioner: '{trust-domain}-{level}'
- implementation: docker-worker
- os: linux
- worker-type: '{alias}'
- b-win2012:
- provisioner: '{trust-domain}-{level}'
- implementation: generic-worker
- os: windows
- worker-type: '{alias}-azure'
- b-win2022:
- provisioner: '{trust-domain}-{level}'
- implementation: generic-worker
- os: windows
- worker-type: '{alias}'
- image:
- provisioner: '{trust-domain}-{level}'
- implementation: docker-worker
- os: linux
- worker-type: '{alias}'
- images:
- provisioner: '{trust-domain}-{level}'
- implementation: docker-worker
- os: linux
- worker-type: '{alias}'
- images-gcp:
- provisioner: '{trust-domain}-{level}'
- implementation: docker-worker
- os: linux
- worker-type: '{alias}'
- addon:
- provisioner: scriptworker-k8s
- implementation: push-addons
- os: scriptworker
- worker-type:
- by-release-level:
- production: '{trust-domain}-3-addon'
- staging: '{trust-domain}-1-addon'
- balrog:
- provisioner: scriptworker-k8s
- implementation: balrog
- os: scriptworker
- worker-type:
- by-release-level:
- production: '{trust-domain}-3-balrog'
- staging: '{trust-domain}-1-balrog'
- bouncer:
- provisioner: scriptworker-k8s
- # Note that this implementation doesn't correspond with an
- # payload_builder, there are several `bouncer-*` implemenations.
- implementation: bouncer
- os: scriptworker
- worker-type:
- by-release-level:
- production: '{trust-domain}-3-bouncer'
- staging: '{trust-domain}-1-bouncer'
- beetmover:
- provisioner: scriptworker-k8s
- implementation: beetmover
- os: scriptworker
- worker-type:
- by-release-level:
- production: '{trust-domain}-3-beetmover'
- staging: '{trust-domain}-1-beetmover'
- beetmover-android:
- provisioner: scriptworker-k8s
- implementation: scriptworker-beetmover
- os: scriptworker
- worker-type:
- by-release-level:
- production: '{trust-domain}-3-beetmover'
- staging: '{trust-domain}-1-beetmover'
- shipit:
- provisioner: scriptworker-k8s
- implementation: shipit
- os: scriptworker
- worker-type:
- by-release-level:
- production: '{trust-domain}-3-shipit'
- staging: '{trust-domain}-1-shipit'
- linux-depsigning:
- provisioner: scriptworker-k8s
- implementation: scriptworker-signing
- os: linux
- worker-type: '{trust-domain}-t-signing'
- linux-signing:
- provisioner: scriptworker-k8s
- implementation: scriptworker-signing
- os: linux
- worker-type:
- by-release-level:
- production: '{trust-domain}-3-signing'
- staging: '{trust-domain}-t-signing'
- mac-depsigning:
- provisioner: scriptworker-prov-v1
- implementation: scriptworker-signing
- os: macosx
- worker-type: depsigning-mac-v1
- mac-signing:
- provisioner: scriptworker-prov-v1
- implementation: scriptworker-signing
- os: macosx
- worker-type:
- by-release-level:
- production: signing-mac-v1
- staging: depsigning-mac-v1
- push-apk:
- provisioner: scriptworker-k8s
- implementation: scriptworker-pushapk
- os: scriptworker
- worker-type: '{trust-domain}-{level}-pushapk'
- tree:
- provisioner: scriptworker-k8s
- implementation: treescript
- os: scriptworker
- worker-type:
- by-release-level:
- production: '{trust-domain}-3-tree'
- staging:
- by-project:
- autoland: '{trust-domain}-3-tree'
- default: '{trust-domain}-1-tree'
- tree-dev:
- provisioner: scriptworker-k8s
- implementation: treescript
- os: scriptworker
- worker-type: '{trust-domain}-1-tree-dev'
- t-bitbar-gw.*:
- provisioner: proj-autophone
- implementation: generic-worker
- os: linux-bitbar
- worker-type: 'gecko-{alias}'
- t-linux(-large|-xlarge|-xlarge-source):
- provisioner: '{trust-domain}-t'
- implementation: docker-worker
- os: linux
- worker-type: '{alias}-gcp'
- t-linux(-large|-xlarge|-xlarge-source)-noscratch:
- provisioner: '{trust-domain}-t'
- implementation: docker-worker
- os: linux
- worker-type: '{alias}-gcp'
- t-linux-kvm:
- provisioner: '{trust-domain}-t'
- implementation: docker-worker
- os: linux
- worker-type: 't-linux-kvm-noscratch-gcp'
- t-linux-talos:
- provisioner: releng-hardware
- implementation: generic-worker
- os: linux
- worker-type: 'gecko-{alias}'
- t-linux-talos-1804:
- provisioner: releng-hardware
- implementation: generic-worker
- os: linux
- worker-type: 'gecko-{alias}'
- t-linux-wayland:
- provisioner: '{trust-domain}-t'
- implementation: generic-worker
- os: linux
- worker-type: 't-linux-vm-2204-wayland'
- t-osx-1015-r8:
- provisioner: releng-hardware
- implementation: generic-worker
- os: macosx
- worker-type: 'gecko-{alias}'
- t-osx-1100-m1:
- provisioner: releng-hardware
- implementation: generic-worker
- os: macosx
- worker-type: 'gecko-{alias}'
- t-osx-1400-m2:
- provisioner: releng-hardware
- implementation: generic-worker
- os: macosx
- worker-type: 'gecko-{alias}'
- t-osx-1015-power:
- provisioner: releng-hardware
- implementation: generic-worker
- os: macosx
- worker-type: 'gecko-{alias}'
- t-linux-xlarge-pgo:
- provisioner:
- by-level:
- '3': '{trust-domain}-{level}'
- default: '{trust-domain}-t'
- implementation: docker-worker
- os: linux
- worker-type: 't-linux-xlarge-noscratch-gcp'
- b-osx-1015:
- provisioner: releng-hardware
- implementation: generic-worker
- os: macosx
- worker-type:
- by-level:
- '3': 'gecko-3-b-osx-1015'
- default: 'gecko-1-b-osx-1015'
- b-osx-arm64:
- provisioner: releng-hardware
- implementation: generic-worker
- os: macosx
- worker-type:
- by-level:
- '3': 'gecko-3-b-osx-arm64'
- default: 'gecko-1-b-osx-arm64'
- t-win10-64(|-gpu-s|-source):
- provisioner: '{trust-domain}-t'
- implementation: generic-worker
- os: windows
- worker-type: '{alias}'
- t-win10-64(-hw|-1803-hw):
- provisioner: releng-hardware
- implementation: generic-worker
- os: windows
- worker-type: 'gecko-{alias}'
- win11-64-2009(-hw-ref):
- provisioner: releng-hardware
- implementation: generic-worker
- os: windows
- worker-type: '{alias}'
- win10-64-2009(|-gpu|-ssd|-source|-ssd-gpu):
- provisioner: 'gecko-t'
- implementation: generic-worker
- os: windows
- worker-type: '{alias}'
- t-win11-64(|-gpu-s|-source):
- provisioner: '{trust-domain}-t'
- implementation: generic-worker
- os: windows
- worker-type: '{alias}'
- win11-64-2009(|-gpu|-ssd|-source|-ssd-gpu):
- provisioner: 'gecko-t'
- implementation: generic-worker
- os: windows
- worker-type: '{alias}'
- t-win7-32-gpu:
- provisioner: '{trust-domain}-t'
- implementation: generic-worker
- os: windows
- worker-type: '{alias}'
- t-win7-32:
- provisioner: releng-hardware
- implementation: generic-worker
- os: windows
- worker-type: 'gecko-{alias}-hw'
- t-win64-aarch64-laptop:
- provisioner: bitbar
- implementation: generic-worker
- os: windows
- worker-type: 'gecko-{alias}'
- succeed:
- provisioner: built-in
- implementation: succeed
- os: none
- worker-type: succeed
- misc:
- provisioner: '{trust-domain}-t'
- implementation: docker-worker
- os: linux
- worker-type: misc-gcp
-
-
-mac-signing:
- mac-requirements:
- by-platform:
- macosx64.*: build/package/mac_osx/requirements.plist
- default: ''
- hardened-sign-config:
- by-hardened-signing-type:
- production:
- - deep: false
- runtime: true
- force: true
- entitlements: security/mac/hardenedruntime/v2/production/plugin-container.xml
- globs:
- - "/Contents/MacOS/plugin-container.app"
-
- - deep: false
- runtime: true
- force: true
- entitlements: security/mac/hardenedruntime/v2/production/media-plugin-helper.xml
- globs:
- - "/Contents/MacOS/media-plugin-helper.app"
-
- - deep: false
- runtime: true
- force: true
- # These files are signed without entitlements
- globs:
- - "/Contents/MacOS/crashreporter.app"
- - "/Contents/MacOS/updater.app/Contents/Frameworks/UpdateSettings.framework"
- - "/Contents/MacOS/updater.app"
- - "/Contents/Library/LaunchServices/org.mozilla.updater"
- - "/Contents/MacOS/XUL"
- - "/Contents/MacOS/pingsender"
- - "/Contents/MacOS/minidump-analyzer"
- - "/Contents/MacOS/nmhproxy"
- - "/Contents/MacOS/*.dylib"
- - "/Contents/Resources/gmp-clearkey/*/*.dylib"
- - "/Contents/Frameworks/ChannelPrefs.framework"
-
- - deep: false
- runtime: true
- force: true
- entitlements:
- by-build-platform:
- .*devedition.*: security/mac/hardenedruntime/v2/production/firefoxdeveloperedition.browser.xml
- default:
- by-project:
- mozilla-central: security/mac/hardenedruntime/v2/production/nightly.browser.xml
- default: security/mac/hardenedruntime/v2/production/firefox.browser.xml
- globs:
- - "/" # The .app
-
- default:
- - deep: false
- runtime: true
- force: true
- entitlements: security/mac/hardenedruntime/v2/developer/plugin-container.xml
- globs:
- - "/Contents/MacOS/plugin-container.app"
-
- - deep: false
- runtime: true
- force: true
- entitlements: security/mac/hardenedruntime/v2/developer/media-plugin-helper.xml
- globs:
- - "/Contents/MacOS/media-plugin-helper.app"
-
- - deep: false
- runtime: true
- force: true
- entitlements: security/mac/hardenedruntime/v2/developer/utility.xml
- globs:
- - "/Contents/MacOS/crashreporter.app"
- - "/Contents/MacOS/updater.app/Contents/Frameworks/UpdateSettings.framework"
- - "/Contents/MacOS/updater.app"
- - "/Contents/Library/LaunchServices/org.mozilla.updater"
- - "/Contents/MacOS/pingsender"
- - "/Contents/MacOS/minidump-analyzer"
- - "/Contents/MacOS/nmhproxy"
- - "/Contents/Frameworks/ChannelPrefs.framework"
-
- - deep: false
- runtime: true
- force: true
- # These files are signed without entitlements
- globs:
- - "/Contents/MacOS/XUL"
- - "/Contents/MacOS/*.dylib"
- - "/Contents/Resources/gmp-clearkey/*/*.dylib"
-
- - deep: false
- runtime: true
- force: true
- entitlements: security/mac/hardenedruntime/v2/developer/browser.xml
- globs:
- - "/" # The .app
-
-expiration-policy:
- by-project:
- try:
- default: 28 days
- shortest: 7 days
- short: 14 days
- medium: 28 days
- long: 28 days
- autoland:
- default: 1 year
- shortest: 14 days
- short: 3 months
- medium: 1 year
- # To avoid keeping shippable builds for over a year
- long: 1 year
- default:
- default: 3 months
- shortest: 7 days
- short: 1 month
- medium: 1 year
- long: 1 year
diff --git a/taskcluster/ci/docker-image/kind.yml b/taskcluster/ci/docker-image/kind.yml
deleted file mode 100644
index 12dc16cdd1..0000000000
--- a/taskcluster/ci/docker-image/kind.yml
+++ /dev/null
@@ -1,253 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-kind-dependencies:
- - packages
-
-transforms:
- - gecko_taskgraph.transforms.docker_image:transforms
- - gecko_taskgraph.transforms.cached_tasks:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-# 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
-jobs:
- image_builder:
- symbol: I(ib)
- # Neither the ubuntu1804-*raw nor the ubuntu1804-*packages images can have
- # packages dependencies.
- ubuntu1804-raw:
- symbol: I(ub18-raw)
- definition: debian-raw
- args:
- BASE_IMAGE: ubuntu:bionic
- ubuntu1804-packages:
- symbol: I(ub18-pkg)
- definition: debian-packages
- parent: ubuntu1804-raw
- ubuntu1804-i386-raw:
- symbol: I(ub18-32-raw)
- definition: debian-raw
- args:
- BASE_IMAGE: i386/ubuntu:bionic
- ubuntu1804-i386-packages:
- symbol: I(ub18-32-pkg)
- definition: debian-packages
- parent: ubuntu1804-i386-raw
- ubuntu1804-base:
- symbol: I(ub18-base)
- parent: ubuntu1804-raw
- packages:
- - ub18-mercurial
- - ub18-python-zstandard
- - ub18-python-psutil
- ubuntu1804-test-base:
- symbol: I(ub18-test-base)
- parent: ubuntu1804-base
- packages:
- - ub18-libc6
- - ub18-pygobject
- - ub18-pyatspi
- - ub18-32-libc6
- ubuntu1804-test:
- symbol: I(ub18-test)
- parent: ubuntu1804-test-base
- ubuntu1804-build-python:
- symbol: I(ub18-build-python)
- parent: ubuntu1804-base
- # Neither the ubuntu1804-*raw nor the ubuntu1804-*packages images can have
- # packages dependencies.
- ubuntu2004-raw:
- symbol: I(ub20-raw)
- definition: debian-raw
- args:
- BASE_IMAGE: ubuntu:focal
- ubuntu2204-raw:
- symbol: I(ub22-raw)
- definition: debian-raw
- args:
- BASE_IMAGE: ubuntu:jammy
- ubuntu2004-packages:
- symbol: I(ub20-pkg)
- definition: debian-packages
- parent: ubuntu2004-raw
- ubuntu2204-packages:
- symbol: I(ub22-pkg)
- definition: debian-packages
- parent: ubuntu2204-raw
- ubuntu2004-base:
- symbol: I(ub20-base)
- definition: debian-base
- parent: ubuntu2004-raw
- packages:
- - ub20-mercurial
- - ub20-python-zstandard
- ubuntu2204-base:
- symbol: I(ub22-base)
- definition: debian-base
- parent: ubuntu2204-raw
- packages:
- - ub22-mercurial
- - ub22-python-zstandard
- # Neither the debian8-*raw nor the debian8-*packages images can have
- # packages dependencies.
- debian8-raw:
- symbol: I(deb8-raw)
- definition: debian-raw
- args:
- BASE_IMAGE: debian:jessie-20210208
- DIST: jessie
- debian8-packages:
- symbol: I(deb8-pkg)
- definition: debian-packages
- parent: debian8-raw
- debian8-i386-raw:
- symbol: I(deb8-32-raw)
- definition: debian-raw
- args:
- BASE_IMAGE: i386/debian:jessie-20210208
- DIST: jessie
- debian8-i386-packages:
- symbol: I(deb8-32-pkg)
- definition: debian-packages
- parent: debian8-i386-raw
- custom-v8:
- symbol: I(custom-v8)
- parent: debian12-base
- # Chromium-as-Release
- custom-car-linux:
- symbol: I(custom-car-linux)
- parent: debian12-base
- # Chromium-as-Release Android
- custom-car-android:
- symbol: I(custom-car-android)
- parent: debian12-base
- valgrind-build:
- symbol: I(vb)
- parent: debian12-amd64-build
- packages:
- - deb12-valgrind
- lint:
- symbol: I(lnt)
- parent: debian12-base
- # Neither the debian12-raw nor the debian12-packages images can have
- # packages dependencies.
- debian12-raw:
- symbol: I(deb12-raw)
- definition: debian-raw
- args:
- BASE_IMAGE: debian:bookworm-20230612
- DIST: bookworm
- SNAPSHOT: '20230611T210420Z'
- debian12-packages:
- symbol: I(deb12-pkg)
- definition: debian-packages
- parent: debian12-raw
- debian12-base:
- symbol: I(deb12-base)
- definition: debian-base
- parent: debian12-raw
- packages:
- - deb12-mercurial
- - deb12-python-zstandard
- debian12-amd64-build:
- symbol: I(deb12)
- parent: debian12-base
- definition: debian-build
- debian12-repackage:
- symbol: I(deb12-rpk)
- parent: debian12-base
- definition: debian-repackage
- packages:
- - deb12-mercurial
- deb12-toolchain-build:
- symbol: I(deb12-toolchain)
- parent: debian12-base
- definition: toolchain-build
- android-build:
- symbol: I(agb)
- parent: debian12-base
- fetch:
- symbol: I(fetch)
- parent: debian12-raw
- packages:
- - deb12-python-zstandard
- static-analysis-build:
- symbol: I(static-analysis-build)
- parent: debian12-base
- gdb-test:
- symbol: I(gdb)
- parent: debian12-amd64-build
- index-task:
- symbol: I(idx)
- funsize-update-generator:
- symbol: I(pg)
- update-verify:
- symbol: I(uv)
- parent: ubuntu2004-base
- diffoscope:
- symbol: I(diff)
- parent: debian12-base
- partner-repack:
- symbol: I(PR)
- parent: debian12-base
- definition: partner-repack
- updatebot:
- symbol: I(3rdp)
- parent: push-to-try
- periodic-updates:
- symbol: I(file)
- parent: debian12-base
- firefox-snap:
- symbol: I(snap)
- firefox-flatpak:
- symbol: I(flatpak)
- webrender:
- symbol: I(webrender)
- parent: debian12-base
- condprof:
- symbol: I(condprof)
- parent: ubuntu1804-test
- github-sync:
- symbol: I(github-sync)
- parent: debian12-base
- sentry:
- symbol: I(sentry)
- parent: debian12-base
- system-symbols-mac:
- symbol: I(system-symbols-mac)
- parent: debian12-base
- system-symbols-win:
- symbol: I(system-symbols-win)
- parent: debian12-base
- system-symbols-win-gfx:
- symbol: I(system-symbols-win-gfx)
- parent: debian12-base
- system-symbols-linux-scraper:
- symbol: I(system-symbols-linux)
- parent: debian12-base
- push-to-try:
- symbol: I(push-to-try)
- parent: debian12-base
- decision:
- symbol: I(decision)
- parent: ubuntu2004-base
- snap-build-core22:
- symbol: I(snap22-build)
- parent: ubuntu2204-base
- definition: snap-coreXX-build
- args:
- SNAP_BASE: core22
- SNAP_LIST: "gnome-42-2204 gtk-common-themes gnome-42-2204-sdk"
- android-components:
- symbol: I(android-components)
- parent: debian12-base
- android-ui-tests:
- symbol: I(android-ui-tests)
- parent: android-components
diff --git a/taskcluster/ci/fetch/chromium-fetch.yml b/taskcluster/ci/fetch/chromium-fetch.yml
deleted file mode 100644
index 88f7e4fc62..0000000000
--- a/taskcluster/ci/fetch/chromium-fetch.yml
+++ /dev/null
@@ -1,38 +0,0 @@
-# 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/.
----
-job-defaults:
- fetch:
- type: chromium-fetch
- script: /builds/worker/bin/fetch-chromium.py
-
-linux64-chromium:
- description: 'Linux64 Chromium Fetch'
- fetch:
- platform: linux
- artifact-name: chromium-linux.tar.bz2
-
-win32-chromium:
- description: 'Windows32 Chromium Fetch'
- fetch:
- platform: win32
- artifact-name: chromium-win32.tar.bz2
-
-win64-chromium:
- description: 'Windows64 Chromium Fetch'
- fetch:
- platform: win64
- artifact-name: chromium-win64.tar.bz2
-
-mac-chromium:
- description: 'MacOSX Chromium Fetch'
- fetch:
- platform: mac
- artifact-name: chromium-mac.tar.bz2
-
-mac-chromium-arm:
- description: 'MacOSX ARM Chromium Fetch'
- fetch:
- platform: mac-arm
- artifact-name: chromium-mac-arm.tar.bz2
diff --git a/taskcluster/ci/generate-profile/kind.yml b/taskcluster/ci/generate-profile/kind.yml
deleted file mode 100644
index b71afb23d0..0000000000
--- a/taskcluster/ci/generate-profile/kind.yml
+++ /dev/null
@@ -1,364 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-kind-dependencies:
- - toolchain
- - instrumented-build
-
-transforms:
- - gecko_taskgraph.transforms.build_attrs:transforms
- - gecko_taskgraph.transforms.release_deps:transforms
- - gecko_taskgraph.transforms.run_pgo_profile:transforms
- - gecko_taskgraph.transforms.job:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-
-job-defaults:
- treeherder:
- symbol: Bpgo(run)
- kind: build
- tier: 1
- use-python: default
-
-jobs:
- linux-shippable/opt:
- description: "Linux Profile Generation"
- shipping-phase: build
- shipping-product: firefox
- index:
- product: firefox
- job-name: linux-profile
- treeherder:
- platform: linux32-shippable/opt
- worker-type: b-linux-gcp
- worker:
- chain-of-trust: true
- env:
- NEED_XVFB: "true"
- max-run-time: 1200
- docker-image: {in-tree: ubuntu1804-test}
- artifacts:
- - type: directory
- name: public/build
- path: /builds/worker/artifacts/
- run:
- using: run-task
- cwd: '{checkout}'
- command: >
- ./taskcluster/scripts/misc/run-profileserver.sh
- run-on-projects: ['release']
- fetches:
- toolchain:
- - linux64-clang
- - linux64-minidump-stackwalk
-
- linux64-shippable/opt:
- description: "Linux64 Profile Generation"
- shipping-phase: build
- shipping-product: firefox
- index:
- product: firefox
- job-name: linux64-profile
- treeherder:
- platform: linux64-shippable/opt
- worker-type: b-linux-gcp
- worker:
- chain-of-trust: true
- env:
- NEED_XVFB: "true"
- max-run-time: 1200
- docker-image: {in-tree: ubuntu1804-test}
- artifacts:
- - type: directory
- name: public/build
- path: /builds/worker/artifacts/
- run:
- using: run-task
- cwd: '{checkout}'
- command: >
- ./taskcluster/scripts/misc/run-profileserver.sh
- run-on-projects: ['release']
- fetches:
- toolchain:
- - linux64-clang
- - linux64-minidump-stackwalk
-
- android-x86-shippable/opt:
- description: "Android 5.0 x86 Profile Generation"
- shipping-phase: build
- shipping-product: fennec
- index:
- product: mobile
- job-name: android-x86-profile
- treeherder:
- platform: android-5-0-x86/pgo
- worker-type: t-linux-xlarge-pgo
- worker:
- chain-of-trust: true
- max-run-time: 2700
- docker-image: {in-tree: ubuntu1804-test}
- env:
- WORKING_DIR: "/builds/worker"
- MOZHARNESS_PATH: "/builds/worker/checkouts/gecko/testing/mozharness"
- PYTHON: "/builds/worker/checkouts/gecko/mach python"
- artifacts:
- - type: directory
- name: public/build
- path: /builds/worker/artifacts/
- run:
- using: mozharness
- job-script: taskcluster/scripts/tester/test-linux.sh
- script: android_emulator_pgo.py
- tooltool-downloads: internal
- options: [installer-path=/builds/worker/fetches/geckoview-test_runner.apk]
- config:
- - android/android_common.py
- - android/android-x86_64-profile-generation.py
- - android/android_pgo.py
- run-on-projects: ['release']
- fetches:
- toolchain:
- - linux64-clang
- - linux64-minidump-stackwalk
- - linux64-hostutils
- - android-sdk-linux
- - android-system-image-x86_64-linux
- - android-avd-x86_64-linux
-
- android-x86_64-shippable/opt:
- description: "Android 5.0 x86_64 Profile Generation"
- shipping-phase: build
- shipping-product: fennec
- index:
- product: mobile
- job-name: android-x86_64-profile
- treeherder:
- platform: android-5-0-x86_64/pgo
- worker-type: t-linux-xlarge-pgo
- worker:
- chain-of-trust: true
- max-run-time: 2700
- docker-image: {in-tree: ubuntu1804-test}
- env:
- WORKING_DIR: "/builds/worker"
- MOZHARNESS_PATH: "/builds/worker/checkouts/gecko/testing/mozharness"
- PYTHON: "/builds/worker/checkouts/gecko/mach python"
- artifacts:
- - type: directory
- name: public/build
- path: /builds/worker/artifacts/
- run:
- using: mozharness
- job-script: taskcluster/scripts/tester/test-linux.sh
- script: android_emulator_pgo.py
- tooltool-downloads: internal
- options: [installer-path=/builds/worker/fetches/geckoview-test_runner.apk]
- config:
- - android/android_common.py
- - android/android-x86_64-profile-generation.py
- - android/android_pgo.py
- run-on-projects: ['release']
- fetches:
- toolchain:
- - linux64-clang
- - linux64-minidump-stackwalk
- - linux64-hostutils
- - android-sdk-linux
- - android-system-image-x86_64-linux
- - android-avd-x86_64-linux
-
- android-aarch64-shippable/opt:
- description: "Android 5.0 Aarch64 Profile Generation"
- shipping-phase: build
- shipping-product: fennec
- index:
- product: mobile
- job-name: android-aarch64-profile
- treeherder:
- platform: android-5-0-aarch64/pgo
- worker-type: b-linux-kvm-gcp
- worker:
- chain-of-trust: true
- max-run-time: 2700
- kvm: true # for access to /dev/kvm for hw accel in the emulator
- docker-image: {in-tree: ubuntu1804-test}
- env:
- WORKING_DIR: "/builds/worker"
- MOZHARNESS_PATH: "/builds/worker/checkouts/gecko/testing/mozharness"
- PYTHON: "/builds/worker/checkouts/gecko/mach python"
- artifacts:
- - type: directory
- name: public/build
- path: /builds/worker/artifacts/
- run:
- using: mozharness
- job-script: taskcluster/scripts/tester/test-linux.sh
- script: android_emulator_pgo.py
- tooltool-downloads: internal
- options: [installer-path=/builds/worker/fetches/geckoview-test_runner.apk]
- config:
- - android/android_common.py
- - android/android-aarch64-profile-generation.py
- - android/android_pgo.py
- run-on-projects: ['release']
- fetches:
- toolchain:
- - linux64-clang
- - linux64-minidump-stackwalk
- - linux64-hostutils
- - android-sdk-linux
- - android31-system-image-x86_64-linux
- - android31-avd-x86_64-linux
-
- win32-shippable/opt:
- description: "Win32 Profile Generation"
- shipping-phase: build
- shipping-product: firefox
- index:
- product: firefox
- job-name: win32-profile
- treeherder:
- platform: windows2012-32-shippable/opt
- worker-type: b-win2022
- worker:
- chain-of-trust: true
- max-run-time: 2400
- env:
- UPLOAD_PATH: "artifacts"
- artifacts:
- - type: directory
- name: public/build
- path: build/src/artifacts/
- run:
- using: run-task
- sparse-profile: profile-generate
- cwd: '{checkout}'
- command: ./taskcluster/scripts/misc/run-profileserver.sh
- run-on-projects: ['release']
- fetches:
- toolchain:
- - win64-clang-toolchain
- - win32-minidump-stackwalk
-
- win64-shippable/opt:
- description: "Win64 Profile Generation"
- shipping-phase: build
- shipping-product: firefox
- index:
- product: firefox
- job-name: win64-profile
- treeherder:
- platform: windows2012-64-shippable/opt
- worker-type: b-win2022
- worker:
- chain-of-trust: true
- max-run-time: 2400
- env:
- UPLOAD_PATH: "artifacts"
- artifacts:
- - type: directory
- name: public/build
- path: build/src/artifacts/
- run:
- using: run-task
- sparse-profile: profile-generate
- cwd: '{checkout}'
- command: ./taskcluster/scripts/misc/run-profileserver.sh
- run-on-projects: ['release']
- fetches:
- toolchain:
- - win64-clang-toolchain
- - win32-minidump-stackwalk
-
- win64-nightlyasrelease/opt:
- description: "Win64 Nightly-as-release Profile Generation"
- shipping-phase: build
- shipping-product: firefox
- index:
- product: firefox
- job-name: win64-nightlyasrelease-profile
- treeherder:
- platform: win64-nightlyasrelease/opt
- worker-type: b-win2022
- worker:
- chain-of-trust: true
- max-run-time: 2400
- env:
- UPLOAD_PATH: "artifacts"
- artifacts:
- - type: directory
- name: public/build
- path: build/src/artifacts/
- run:
- using: run-task
- sparse-profile: profile-generate
- cwd: '{checkout}'
- command: ./taskcluster/scripts/misc/run-profileserver.sh
- run-on-projects: [trunk-only]
- fetches:
- toolchain:
- - win64-clang-toolchain
- - win32-minidump-stackwalk
-
- macosx64-shippable/opt:
- description: "macosx64 Profile Generation"
- shipping-phase: build
- shipping-product: firefox
- index:
- product: firefox
- job-name: macosx64-profile
- treeherder:
- platform: macosx1015-64-shippable/opt
- worker-type: b-osx-1015
- worker:
- chain-of-trust: true
- max-run-time: 7200
- env:
- SHELL: "/bin/bash"
- artifacts:
- - type: directory
- name: public/build
- path: artifacts/
- run:
- using: run-task
- sparse-profile: profile-generate
- cwd: '{checkout}'
- command: ./taskcluster/scripts/misc/run-profileserver-macos.sh
- run-on-projects: ['release']
- fetches:
- toolchain:
- - macosx64-clang
- - macosx64-minidump-stackwalk
-
- macosx64-aarch64-shippable/opt:
- description: "macosx64 aarch64 Profile Generation"
- shipping-phase: build
- shipping-product: firefox
- index:
- product: firefox
- job-name: macosx64-aarch64-profile
- treeherder:
- platform: macosx1100-64-shippable/opt
- worker-type: b-osx-arm64
- worker:
- chain-of-trust: true
- max-run-time: 7200
- env:
- SHELL: "/bin/bash"
- artifacts:
- - type: directory
- name: public/build
- path: artifacts/
- run:
- using: run-task
- sparse-profile: profile-generate
- cwd: '{checkout}'
- command: ./taskcluster/scripts/misc/run-profileserver-macos.sh
- run-on-projects: ['release']
- fetches:
- toolchain:
- - macosx64-clang
- - macosx64-minidump-stackwalk
diff --git a/taskcluster/ci/github-sync/kind.yml b/taskcluster/ci/github-sync/kind.yml
deleted file mode 100644
index 7c0b8136c4..0000000000
--- a/taskcluster/ci/github-sync/kind.yml
+++ /dev/null
@@ -1,53 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-kind-dependencies:
- - toolchain
- - build
-
-transforms:
- - gecko_taskgraph.transforms.github_sync:transforms
- - gecko_taskgraph.transforms.job:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-job-defaults:
- attributes:
- retrigger: true
- run-on-projects: ['mozilla-central-only']
- worker-type: b-linux-gcp
- treeherder:
- platform: other/opt
- tier: 2
- kind: other
- worker:
- max-run-time: 3600
- docker-image: {in-tree: github-sync}
- run:
- sparse-profile: github-sync
- using: run-task
-
-jobs:
- webrender:
- description: Sync webrender to github mirror
- secret: gecko/gfx-github-sync/token
- run:
- command: '$GECKO_PATH/tools/github-sync/sync-to-github.sh webrender gfx/wr servo/webrender @bors-servo'
- when:
- files-changed:
- - 'gfx/wr/**'
- treeherder:
- symbol: GhS(wr)
-
- qcms:
- description: Sync qcms to github mirror
- secret: gecko/gfx-github-sync/token
- run:
- command: '$GECKO_PATH/tools/github-sync/sync-to-github.sh qcms gfx/qcms FirefoxGraphics/qcms @jrmuizel'
- when:
- files-changed:
- - 'gfx/qcms/**'
- treeherder:
- symbol: GhS(qcms)
diff --git a/taskcluster/ci/hazard/kind.yml b/taskcluster/ci/hazard/kind.yml
deleted file mode 100644
index 8bdc1bbb17..0000000000
--- a/taskcluster/ci/hazard/kind.yml
+++ /dev/null
@@ -1,83 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-kind-dependencies:
- - toolchain
-
-transforms:
- - gecko_taskgraph.transforms.build_attrs:transforms
- - gecko_taskgraph.transforms.build_lints:transforms
- - gecko_taskgraph.transforms.job:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-job-defaults:
- attributes:
- retrigger: true
- treeherder:
- kind: build
- tier: 1
- worker-type: b-linux-gcp
- worker:
- max-run-time: 10800
- docker-image: {in-tree: debian12-amd64-build}
- use-python: default
-
-jobs:
- linux64-shell-haz/debug:
- description: "JS Shell Hazard Analysis Linux"
- index:
- product: firefox
- job-name: shell-haz-debug
- treeherder:
- platform: linux64/debug
- symbol: SM(H)
- run:
- using: hazard
- command: >
- cd /builds/worker/checkouts/gecko/taskcluster/scripts/builder
- && ./build-haz-linux.sh --project js $HOME/workspace
- when:
- files-changed:
- - js/public/**
- - js/src/**
- fetches:
- toolchain:
- - linux64-clang
- - linux64-gcc-9
- - linux64-gcc-sixgill
- - linux64-rust
- - linux64-cbindgen
- - linux64-node
- - linux64-pkgconf
- - sysroot-x86_64-linux-gnu
-
- linux64-haz/debug:
- description: "Browser Hazard Analysis Linux"
- index:
- product: firefox
- job-name: browser-haz-debug
- treeherder:
- platform: linux64/debug
- symbol: H
- run:
- using: hazard
- command: >
- cd /builds/worker/checkouts/gecko/taskcluster/scripts/builder
- && ./build-haz-linux.sh --project browser $HOME/workspace
- fetches:
- toolchain:
- - linux64-clang
- - linux64-gcc-9
- - linux64-gcc-sixgill
- - linux64-rust
- - linux64-cbindgen
- - linux64-nasm
- - linux64-node
- - linux64-pkgconf
- - sysroot-x86_64-linux-gnu
- - sysroot-wasm32-wasi
- optimization:
- skip-unless-backstop: null
diff --git a/taskcluster/ci/instrumented-build/kind.yml b/taskcluster/ci/instrumented-build/kind.yml
deleted file mode 100644
index 9823970185..0000000000
--- a/taskcluster/ci/instrumented-build/kind.yml
+++ /dev/null
@@ -1,493 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-kind-dependencies:
- - toolchain
- - fetch
-
-transforms:
- - gecko_taskgraph.transforms.build:transforms
- - gecko_taskgraph.transforms.build_attrs:transforms
- - gecko_taskgraph.transforms.build_lints:transforms
- - gecko_taskgraph.transforms.job:transforms
- - gecko_taskgraph.transforms.artifact:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-job-defaults:
- shipping-phase: build
- treeherder:
- symbol: Bpgo(instr)
- tier: 1
- worker:
- max-run-time: 7200
- env:
- PERFHERDER_EXTRA_OPTIONS: instrumented
- MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
- use-python: default
- run:
- using: mozharness
- actions: [get-secrets, build]
- script: mozharness/scripts/fx_desktop_build.py
- secrets: true
- use-sccache:
- by-release-level:
- production: false
- staging: true
- fetches:
- toolchain:
- - linux64-sccache
-
-jobs:
- linux-shippable/opt:
- description: "Linux Instrumented"
- index:
- product: firefox
- job-name: instrumented-linux
- shipping-product: firefox
- treeherder:
- platform: linux32-shippable/opt
- worker-type: b-linux-gcp
- run:
- config:
- - builds/releng_base_firefox.py
- - builds/releng_base_linux_32_builds.py
- mozconfig-variant: profile-generate
- tooltool-downloads: public
- run-on-projects: ['release']
- fetches:
- toolchain:
- - linux64-clang
- - linux64-rust
- - linux64-rust-size
- - linux64-cbindgen
- - linux64-dump_syms
- - linux64-nasm
- - linux64-node
- - linux64-pkgconf
- - sysroot-i686-linux-gnu
- - sysroot-x86_64-linux-gnu
- - sysroot-wasm32-wasi
-
- linux64-shippable/opt:
- description: "Linux64 Instrumented"
- index:
- product: firefox
- job-name: instrumented-linux64
- shipping-product: firefox
- treeherder:
- platform: linux64-shippable/opt
- worker-type: b-linux-gcp
- run:
- config:
- - builds/releng_base_firefox.py
- - builds/releng_base_linux_64_builds.py
- mozconfig-variant: profile-generate
- tooltool-downloads: public
- run-on-projects: ['release']
- fetches:
- toolchain:
- - linux64-clang
- - linux64-rust
- - linux64-rust-size
- - linux64-cbindgen
- - linux64-dump_syms
- - linux64-nasm
- - linux64-node
- - linux64-pkgconf
- - sysroot-x86_64-linux-gnu
- - sysroot-wasm32-wasi
-
- linux64-aarch64-shippable/opt:
- description: "Linux AArch64 (a.k.a. ARM64) Instrumented"
- index:
- product: firefox
- job-name: instrumented-linux64-aarch64
- shipping-product: firefox
- treeherder:
- platform: linux64-aarch64-shippable/opt
- worker-type: b-linux-gcp
- run:
- config:
- - builds/releng_base_firefox.py
- - builds/releng_base_linux_64_builds.py
- mozconfig-variant: profile-generate
- extra-config:
- extra_mozconfig_content:
- - ac_add_options --target=aarch64
- - unset MOZ_STDCXX_COMPAT
- tooltool-downloads: public
- run-on-projects: ['mozilla-central']
- fetches:
- toolchain:
- - linux64-clang
- - linux64-rust
- - linux64-rust-size
- - linux64-cbindgen
- - linux64-dump_syms
- - linux64-nasm
- - linux64-node
- - linux64-pkgconf
- - sysroot-aarch64-linux-gnu
- - sysroot-x86_64-linux-gnu
- - sysroot-wasm32-wasi
-
- macosx64-shippable/opt:
- description: "MacOS X x64 Cross-compile Instrumented"
- shipping-phase: build
- shipping-product: firefox
- treeherder:
- platform: osx-shippable/opt
- worker-type: b-linux-gcp
- worker:
- max-run-time: 7200
- env:
- PERFHERDER_EXTRA_OPTIONS: instrumented
- run:
- using: mozharness
- actions: [get-secrets, build]
- config:
- - builds/releng_base_firefox.py
- - builds/releng_base_mac_64_cross_builds.py
- script: "mozharness/scripts/fx_desktop_build.py"
- secrets: true
- mozconfig-variant: profile-generate
- run-on-projects: ['release']
- fetches:
- toolchain:
- - linux64-clang
- - linux64-hfsplus
- - linux64-libdmg
- - linux64-rust-macos
- - linux64-rust-size
- - linux64-cbindgen
- - linux64-dump_syms
- - linux64-nasm
- - linux64-node
- - macosx64-sdk
- - sysroot-x86_64-linux-gnu
- - sysroot-wasm32-wasi
-
- macosx64-aarch64-shippable/opt:
- description: "MacOS X aarch64 Cross-compile Instrumented"
- shipping-phase: build
- shipping-product: firefox
- treeherder:
- platform: osx-aarch64-shippable/opt
- worker-type: b-linux-gcp
- worker:
- max-run-time: 7200
- env:
- PERFHERDER_EXTRA_OPTIONS: instrumented
- run:
- using: mozharness
- actions: [get-secrets, build]
- config:
- - builds/releng_base_firefox.py
- - builds/releng_base_mac_64_cross_builds.py
- script: "mozharness/scripts/fx_desktop_build.py"
- secrets: true
- mozconfig-variant: profile-generate
- extra-config:
- mozconfig_platform: macosx64-aarch64
- run-on-projects: ['release']
- fetches:
- toolchain:
- - linux64-clang
- - linux64-hfsplus
- - linux64-libdmg
- - linux64-rust-macos
- - linux64-rust-size
- - linux64-cbindgen
- - linux64-dump_syms
- - linux64-nasm
- - linux64-node
- - macosx64-sdk
- - sysroot-x86_64-linux-gnu
- - sysroot-wasm32-wasi
-
- android-x86-shippable/opt:
- description: "Android 5.0 x86 PGO instrumented"
- index:
- product: mobile
- job-name: instrumented-android-x86
- shipping-product: fennec
- treeherder:
- platform: android-5-0-x86/pgo
- worker-type: b-linux-gcp
- worker:
- docker-image: {in-tree: android-build}
- env:
- GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline"
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
- artifacts:
- - name: public/build
- path: /builds/worker/artifacts/
- type: directory
- - name: public/build/geckoview-androidTest.apk
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk
- type: file
- - name: public/build/geckoview-test_runner.apk
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk
- type: file
- - name: public/build/geckoview-test_runner.aab
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab
- type: file
- - name: public/build/geckoview_example.apk
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk
- type: file
- - name: public/build/geckoview_example.aab
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab
- type: file
- run:
- config:
- - builds/releng_base_android_64_builds.py
- custom-build-variant-cfg: x86-profile-generate
- tooltool-downloads: internal
- run-on-projects: ['release']
- fetches:
- toolchain:
- - android-gradle-dependencies
- - android-gradle-python-envs
- - android-ndk-linux
- - android-sdk-linux
- - linux64-jdk
- - linux64-clang
- - linux64-rust-android
- - linux64-rust-size
- - linux64-cbindgen
- - linux64-dump_syms
- - linux64-nasm
- - linux64-node
- - sysroot-x86_64-linux-gnu
- - sysroot-wasm32-wasi
-
- android-x86_64-shippable/opt:
- description: "Android 5.0 x86_64 PGO instrumented"
- index:
- product: mobile
- job-name: instrumented-android-x86_64
- shipping-product: fennec
- treeherder:
- platform: android-5-0-x86_64/pgo
- worker-type: b-linux-gcp
- worker:
- docker-image: {in-tree: android-build}
- env:
- GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline"
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
- artifacts:
- - name: public/build
- path: /builds/worker/artifacts/
- type: directory
- - name: public/build/geckoview-androidTest.apk
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk
- type: file
- - name: public/build/geckoview-test_runner.apk
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk
- type: file
- - name: public/build/geckoview-test_runner.aab
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab
- type: file
- - name: public/build/geckoview_example.apk
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk
- type: file
- - name: public/build/geckoview_example.aab
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab
- type: file
- run:
- config:
- - builds/releng_base_android_64_builds.py
- custom-build-variant-cfg: x86_64-profile-generate
- tooltool-downloads: internal
- run-on-projects: ['release']
- fetches:
- toolchain:
- - android-gradle-dependencies
- - android-gradle-python-envs
- - android-ndk-linux
- - android-sdk-linux
- - linux64-jdk
- - linux64-clang
- - linux64-rust-android
- - linux64-rust-size
- - linux64-cbindgen
- - linux64-dump_syms
- - linux64-nasm
- - linux64-node
- - sysroot-x86_64-linux-gnu
- - sysroot-wasm32-wasi
-
- android-aarch64-shippable/opt:
- description: "Android 5.0 AArch64 PGO instrumented"
- index:
- product: mobile
- job-name: instrumented-android-aarch64
- shipping-product: fennec
- treeherder:
- platform: android-5-0-aarch64/pgo
- worker-type: b-linux-gcp
- worker:
- docker-image: {in-tree: android-build}
- env:
- GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline"
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
- artifacts:
- - name: public/build
- path: /builds/worker/artifacts/
- type: directory
- - name: public/build/geckoview-androidTest.apk
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk
- type: file
- - name: public/build/geckoview-test_runner.apk
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk
- type: file
- - name: public/build/geckoview-test_runner.aab
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab
- type: file
- - name: public/build/geckoview_example.apk
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk
- type: file
- - name: public/build/geckoview_example.aab
- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab
- type: file
- run:
- config:
- - builds/releng_base_android_64_builds.py
- custom-build-variant-cfg: aarch64-profile-generate
- tooltool-downloads: internal
- run-on-projects: ['release']
- fetches:
- toolchain:
- - android-gradle-dependencies
- - android-gradle-python-envs
- - android-ndk-linux
- - android-sdk-linux
- - linux64-jdk
- - linux64-clang
- - linux64-rust-android
- - linux64-rust-size
- - linux64-cbindgen
- - linux64-dump_syms
- - linux64-nasm
- - linux64-node
- - sysroot-x86_64-linux-gnu
- - sysroot-wasm32-wasi
-
- win32-shippable/opt:
- description: "Win32 Shippable PGO Instrumented"
- index:
- product: firefox
- job-name: instrumented-win32
- shipping-product: firefox
- treeherder:
- platform: windows2012-32-shippable/opt
- worker-type: b-linux-gcp
- run:
- options: [append-env-variables-from-configs]
- mozconfig-variant: profile-generate
- config:
- - builds/releng_base_firefox.py
- - builds/releng_base_linux_64_builds.py
- extra-config:
- stage_platform: win32
- mozconfig_platform: win32
- run-on-projects: ['release']
- fetches:
- toolchain:
- - linux64-clang
- - linux64-rust-cross
- - linux64-rust-size
- - linux64-nasm
- - linux64-node
- - linux64-cbindgen
- - linux64-dump_syms
- - linux64-wine
- - linux64-winchecksec
- - nsis
- - sysroot-x86_64-linux-gnu
- - sysroot-wasm32-wasi
- - vs
- - windows-rs
- fetch:
- - upx-3.95-win
-
- win64-nightlyasrelease/opt:
- description: "Win64 Shippable PGO Instrumented"
- index:
- product: firefox
- job-name: instrumented-nightlyasrelease-win64
- shipping-product: firefox
- treeherder:
- platform: win64-nightlyasrelease/opt
- worker-type: b-linux-gcp
- run:
- options: [append-env-variables-from-configs]
- mozconfig-variant: profile-generate
- config:
- - builds/releng_base_firefox.py
- - builds/releng_base_linux_64_builds.py
- extra-config:
- stage_platform: win64
- mozconfig_platform: win64
- extra_mozconfig_content:
- - ac_add_options --as-milestone=release
- run-on-projects: [trunk-only]
- fetches:
- toolchain:
- - linux64-clang
- - linux64-rust-cross
- - linux64-rust-size
- - linux64-nasm
- - linux64-node
- - linux64-cbindgen
- - linux64-dump_syms
- - linux64-wine
- - linux64-winchecksec
- - nsis
- - sysroot-x86_64-linux-gnu
- - sysroot-wasm32-wasi
- - vs
- - windows-rs
- fetch:
- - upx-3.95-win
-
- win64-shippable/opt:
- description: "Win64 Shippable PGO Instrumented"
- index:
- product: firefox
- job-name: instrumented-win64
- shipping-product: firefox
- treeherder:
- platform: windows2012-64-shippable/opt
- worker-type: b-linux-gcp
- run:
- options: [append-env-variables-from-configs]
- mozconfig-variant: profile-generate
- config:
- - builds/releng_base_firefox.py
- - builds/releng_base_linux_64_builds.py
- extra-config:
- stage_platform: win64
- mozconfig_platform: win64
- run-on-projects: ['release']
- fetches:
- toolchain:
- - linux64-clang
- - linux64-rust-cross
- - linux64-rust-size
- - linux64-nasm
- - linux64-node
- - linux64-cbindgen
- - linux64-dump_syms
- - linux64-wine
- - linux64-winchecksec
- - nsis
- - sysroot-x86_64-linux-gnu
- - sysroot-wasm32-wasi
- - vs
- - windows-rs
- fetch:
- - upx-3.95-win
diff --git a/taskcluster/ci/mar-signing-l10n/kind.yml b/taskcluster/ci/mar-signing-l10n/kind.yml
deleted file mode 100644
index ad470915ef..0000000000
--- a/taskcluster/ci/mar-signing-l10n/kind.yml
+++ /dev/null
@@ -1,39 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-transforms:
- - taskgraph.transforms.from_deps
- - gecko_taskgraph.transforms.name_sanity
- - gecko_taskgraph.transforms.mar_signing
- - gecko_taskgraph.transforms.task
-
-kind-dependencies:
- - repackage-l10n
-
-only-for-build-platforms:
- - linux-shippable/opt
- - linux64-shippable/opt
- - macosx64-shippable/opt
- - win32-shippable/opt
- - win64-shippable/opt
- - win64-aarch64-shippable/opt
- - linux64-asan-reporter-shippable/opt
- - linux-devedition/opt
- - linux64-devedition/opt
- - macosx64-devedition/opt
- - win32-devedition/opt
- - win64-devedition/opt
- - win64-aarch64-devedition/opt
-
-jobs:
- mar-signing-l10n:
- from-deps:
- group-by: single-with-filters
- shipping-phase: promote
- treeherder-group: ms
- description-suffix: 'mar signing'
- required_signoffs:
- - mar-signing
diff --git a/taskcluster/ci/release-beetmover-signed-langpacks/kind.yml b/taskcluster/ci/release-beetmover-signed-langpacks/kind.yml
deleted file mode 100644
index 63bdcfe921..0000000000
--- a/taskcluster/ci/release-beetmover-signed-langpacks/kind.yml
+++ /dev/null
@@ -1,40 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-transforms:
- - taskgraph.transforms.from_deps
- - gecko_taskgraph.transforms.name_sanity
- - gecko_taskgraph.transforms.release_beetmover_signed_addons
- - gecko_taskgraph.transforms.task
-
-kind-dependencies:
- - build-signing
- - shippable-l10n-signing
-
-only-for-attributes:
- - nightly
- - shippable
-
-only-for-build-platforms:
- - linux64-shippable/opt
- - linux64-devedition/opt
-
-jobs:
- release-beetmover-signed-langpacks:
- description: Beetmover submission for platform-independent langpacks {locales} in {platform} directory
- from-deps:
- group-by: single-with-filters
- worker-type:
- by-release-level:
- production: scriptworker-k8s/gecko-3-beetmover
- staging: scriptworker-k8s/gecko-1-beetmover
- run-on-projects: []
- shipping-phase: promote
- attributes:
- artifact_map:
- by-release-type:
- beta|release.*|esr.*: taskcluster/gecko_taskgraph/manifests/firefox_candidates.yml
- default: taskcluster/gecko_taskgraph/manifests/firefox_nightly.yml
diff --git a/taskcluster/ci/release-flatpak-push/kind.yml b/taskcluster/ci/release-flatpak-push/kind.yml
deleted file mode 100644
index 27f5ebf3ec..0000000000
--- a/taskcluster/ci/release-flatpak-push/kind.yml
+++ /dev/null
@@ -1,42 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-transforms:
- - gecko_taskgraph.transforms.release:run_on_releases
- - gecko_taskgraph.transforms.release_deps:transforms
- - gecko_taskgraph.transforms.release_flatpak_push:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-kind-dependencies:
- - release-flatpak-repackage
-
-job-defaults:
- description: Pushes Flatpaks onto Flathub
- run-on-projects: [] # to make sure this never runs as part of CI
- run-on-releases: [beta, release, release-rc]
- shipping-phase: ship
- treeherder:
- platform: linux64/opt
- kind: build
- tier: 2
- worker-type:
- by-release-level:
- production: scriptworker-k8s/gecko-3-pushflatpak
- staging: scriptworker-k8s/gecko-1-pushflatpak
- worker:
- implementation: push-flatpak
- channel:
- by-release-type:
- beta: beta
- release: stable
- default: mock
-
-jobs:
- firefox:
- shipping-product: firefox
- flathub-scope: "flathub:firefox"
- treeherder:
- symbol: Flatpak(push)
diff --git a/taskcluster/ci/release-msix-push/kind.yml b/taskcluster/ci/release-msix-push/kind.yml
deleted file mode 100644
index 3009c74df2..0000000000
--- a/taskcluster/ci/release-msix-push/kind.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-transforms:
- - gecko_taskgraph.transforms.release:run_on_releases
- - gecko_taskgraph.transforms.release_deps:transforms
- - gecko_taskgraph.transforms.release_msix_push:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-kind-dependencies:
- - repackage-shippable-l10n-msix
-
-job-defaults:
- description: Pushes msix archives to Microsoft Store
- run-on-projects: [] # to make sure this never runs as part of CI
- run-on-releases: [beta, release, release-rc]
- shipping-phase: ship # note override in transform
- treeherder:
- platform: win32-shippable/opt
- kind: build
- tier: 2
- worker-type:
- by-release-level:
- production: scriptworker-k8s/gecko-3-pushmsix
- staging: scriptworker-k8s/gecko-1-pushmsix
- worker:
- implementation: push-msix
- channel:
- by-release-type:
- beta: beta
- release.*: release
- default: mock
- publish-mode:
- by-release-type:
- beta: Immediate
- default: Manual
-
-jobs:
- firefox:
- shipping-product: firefox
- treeherder:
- symbol: MSIX(push)
diff --git a/taskcluster/ci/release-secondary-flatpak-push/kind.yml b/taskcluster/ci/release-secondary-flatpak-push/kind.yml
deleted file mode 100644
index 7f770d4ee5..0000000000
--- a/taskcluster/ci/release-secondary-flatpak-push/kind.yml
+++ /dev/null
@@ -1,38 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-transforms:
- - gecko_taskgraph.transforms.release:run_on_releases
- - gecko_taskgraph.transforms.release_deps:transforms
- - gecko_taskgraph.transforms.release_flatpak_push:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-kind-dependencies:
- - release-flatpak-repackage
-
-job-defaults:
- description: Pushes Flatpaks onto Flathub
- run-on-projects: [] # to make sure this never runs as part of CI
- run-on-releases: [release-rc]
- shipping-phase: ship # ship-rc phase
- treeherder:
- platform: linux64/opt
- kind: build
- tier: 2
- worker-type:
- by-release-level:
- production: scriptworker-k8s/gecko-3-pushflatpak
- staging: scriptworker-k8s/gecko-1-pushflatpak
- worker:
- implementation: push-flatpak
- channel: beta
-
-jobs:
- firefox-rc:
- shipping-product: firefox
- flathub-scope: "flathub:firefox"
- treeherder:
- symbol: Flatpak(push-beta)
diff --git a/taskcluster/ci/release-source/kind.yml b/taskcluster/ci/release-source/kind.yml
deleted file mode 100644
index 6b550e9d7e..0000000000
--- a/taskcluster/ci/release-source/kind.yml
+++ /dev/null
@@ -1,54 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-kind-dependencies:
- - toolchain
-
-transforms:
- - gecko_taskgraph.transforms.build:transforms
- - gecko_taskgraph.transforms.build_attrs:transforms
- - gecko_taskgraph.transforms.build_lints:transforms
- - gecko_taskgraph.transforms.job:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-
-job-defaults:
- shipping-phase: promote
- treeherder:
- symbol: Src
- worker-type: b-linux-gcp
- worker:
- max-run-time: 3600
- env:
- PKG_SRCPACK_BASENAME: source
- attributes:
- shippable: true
- run:
- using: mozharness
- actions: [package-source]
- script: "mozharness/scripts/fx_desktop_build.py"
- config:
- - builds/releng_sub_linux_configs/64_source.py
- options: []
- tooltool-downloads: public
- run-on-projects: []
- # The build_attrs transform defaults to setting a `skip-unlles-schedules'
- # optimization based on the task label. The tasks here don't have corresponding
- # schedules defined in mozbuild.
- optimization: null
-
-jobs:
- firefox-source/opt:
- description: "Firefox source builder"
- treeherder:
- platform: firefox-release/opt
- shipping-product: firefox
-
- devedition-source/opt:
- description: "Devedition source builder"
- treeherder:
- platform: devedition-release/opt
- shipping-product: devedition
diff --git a/taskcluster/ci/repackage-deb/kind.yml b/taskcluster/ci/repackage-deb/kind.yml
deleted file mode 100644
index aa6381bb4a..0000000000
--- a/taskcluster/ci/repackage-deb/kind.yml
+++ /dev/null
@@ -1,53 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-transforms:
- - taskgraph.transforms.from_deps
- - gecko_taskgraph.transforms.name_sanity
- - gecko_taskgraph.transforms.repackage
- - gecko_taskgraph.transforms.repackage_routes
- - gecko_taskgraph.transforms.job
- - gecko_taskgraph.transforms.task
-
-kind-dependencies:
- - build-signing
- - toolchain
-
-only-for-build-platforms:
- - linux-shippable/opt
- - linux-devedition/opt
- - linux64-shippable/opt
- - linux64-devedition/opt
-
-only-for-attributes:
- - nightly
- - shippable
-
-jobs:
- repackage-deb:
- from-deps:
- group-by: single-with-filters
- shipping-phase: promote
- worker-type: b-linux-gcp
- worker:
- docker-image:
- in-tree: debian12-repackage
- mozharness:
- run-as-root: true
- use-caches: false
- config:
- by-build-platform:
- linux\b.*:
- - repackage/base.py
- - repackage/linux32_signed.py
- linux64\b.*:
- - repackage/base.py
- - repackage/linux64_signed.py
- treeherder:
- symbol: Rpk-deb
- package-formats:
- by-build-platform:
- linux.*: [deb]
diff --git a/taskcluster/ci/repackage-l10n/kind.yml b/taskcluster/ci/repackage-l10n/kind.yml
deleted file mode 100644
index c78b52de2b..0000000000
--- a/taskcluster/ci/repackage-l10n/kind.yml
+++ /dev/null
@@ -1,86 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-transforms:
- - taskgraph.transforms.from_deps
- - gecko_taskgraph.transforms.repackage_set_upstream_mac_kind
- - gecko_taskgraph.transforms.repackage_l10n
- - gecko_taskgraph.transforms.name_sanity
- - gecko_taskgraph.transforms.repackage
- - gecko_taskgraph.transforms.job
- - gecko_taskgraph.transforms.task
-
-kind-dependencies:
- - shippable-l10n-signing
- - shippable-l10n-mac-signing
- - shippable-l10n-mac-notarization
- - toolchain
-
-only-for-build-platforms:
- - linux-shippable/opt
- - linux64-shippable/opt
- - macosx64-shippable/opt
- - win32-shippable/opt
- - win64-shippable/opt
- - win64-aarch64-shippable/opt
- - linux-devedition/opt
- - linux64-devedition/opt
- - macosx64-devedition/opt
- - win32-devedition/opt
- - win64-devedition/opt
- - win64-aarch64-devedition/opt
-
-jobs:
- repackage-l10n:
- from-deps:
- group-by: single-with-filters
- upstream-mac-kind:
- by-build-type:
- debug: shippable-l10n-mac-signing
- default:
- by-project:
- mozilla-(central|beta|release|esr.*): shippable-l10n-mac-notarization
- default: shippable-l10n-mac-signing
- worker-type: b-linux-gcp
- mozharness:
- config:
- by-build-platform:
- linux-.*:
- - repackage/base.py
- - repackage/linux32_signed.py
- linux64-.*:
- - repackage/base.py
- - repackage/linux64_signed.py
- macosx64-.*:
- - repackage/base.py
- - repackage/osx_signed.py
- win32\b.*:
- - repackage/base.py
- - repackage/win32_sfx_stub.py
- - repackage/win32_signed.py
- win64(?!-aarch64)\b.*:
- - repackage/base.py
- - repackage/win32_sfx_stub.py
- - repackage/win64_signed.py
- win64-aarch64\b.*:
- - repackage/base.py
- - repackage/win64-aarch64_sfx_stub.py
- - repackage/win64_signed.py
- package-formats:
- by-build-platform:
- macosx64\b.*:
- by-build-type:
- # Debug builds can't be attributable
- debug: [dmg, mar, pkg]
- default: [dmg-attrib, mar, pkg]
- linux.*: [mar]
- win32\b.*: [mar, installer]
- win64\b.*: [mar, installer]
- fetches:
- toolchain:
- - linux64-mar-tools
- - linux64-upx
- treeherder-group: L10n-Rpk
diff --git a/taskcluster/ci/searchfox/kind.yml b/taskcluster/ci/searchfox/kind.yml
deleted file mode 100644
index 492cba940d..0000000000
--- a/taskcluster/ci/searchfox/kind.yml
+++ /dev/null
@@ -1,224 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-kind-dependencies:
- - toolchain
- - fetch
-
-transforms:
- - gecko_taskgraph.transforms.build:transforms
- - gecko_taskgraph.transforms.build_attrs:transforms
- - gecko_taskgraph.transforms.build_lints:transforms
- - gecko_taskgraph.transforms.job:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-job-defaults:
- index:
- product: firefox
- treeherder:
- symbol: Searchfox(idx)
- kind: build
- tier: 2
- run-on-projects: ['mozilla-central']
- optimization: null
- use-python: default
- # These builds don't use sccache because otherwise we wouldn't index
- # the files that sccache optimizes away compilation for.
- use-sccache: false
-
-jobs:
- linux64-searchfox/debug:
- description: "Linux64 Debug Searchfox"
- index:
- job-name: linux64-searchfox-debug
- treeherder:
- platform: linux64/debug
- worker-type: b-linux-gcp
- worker:
- max-run-time: 10800
- env:
- PERFHERDER_EXTRA_OPTIONS: searchfox
- MOZSEARCH_PLATFORM: "linux"
- run:
- using: mozharness
- actions: [build]
- config:
- - builds/releng_base_firefox.py
- - builds/releng_sub_linux_configs/64_searchfox_and_debug.py
- script: "mozharness/scripts/fx_desktop_build.py"
- tooltool-downloads: public
- keep-artifacts: false
- fetches:
- toolchain:
- - linux64-clang
- - linux64-nasm
- - linux64-node
- - linux64-rust
- - linux64-cbindgen
- - linux64-dump_syms
- - linux64-pkgconf
- - sysroot-x86_64-linux-gnu
- - sysroot-wasm32-wasi
-
- macosx64-searchfox/debug:
- description: "MacOS X x64 Debug Cross-compile Searchfox"
- index:
- job-name: macosx64-searchfox-debug
- treeherder:
- platform: osx-cross/debug
- worker-type: b-linux-gcp
- worker:
- max-run-time: 10800
- env:
- PERFHERDER_EXTRA_OPTIONS: searchfox
- MOZSEARCH_PLATFORM: "macosx"
- run:
- using: mozharness
- actions: [get-secrets, build]
- config:
- - builds/releng_base_firefox.py
- - builds/releng_base_mac_64_cross_builds.py
- script: "mozharness/scripts/fx_desktop_build.py"
- custom-build-variant-cfg: cross-debug-searchfox
- secrets: true
- keep-artifacts: false
- fetches:
- toolchain:
- - linux64-clang
- - linux64-hfsplus
- - linux64-libdmg
- - linux64-nasm
- - linux64-node
- - linux64-rust-cross
- - linux64-cbindgen
- - linux64-dump_syms
- - macosx64-sdk
- - sysroot-x86_64-linux-gnu
- - sysroot-wasm32-wasi
-
- ios-searchfox/debug:
- description: "ios Debug Cross-compile Searchfox"
- index:
- job-name: ios-searchfox-debug
- treeherder:
- platform: ios/debug
- worker-type: b-linux-gcp
- worker:
- max-run-time: 10800
- env:
- PERFHERDER_EXTRA_OPTIONS: searchfox
- MOZSEARCH_PLATFORM: "ios"
- run:
- using: mozharness
- actions: [get-secrets, build]
- config:
- - builds/releng_base_firefox.py
- script: "mozharness/scripts/fx_desktop_build.py"
- secrets: true
- keep-artifacts: false
- extra-config:
- app_name: mobile/ios
- stage_platform: ios
- mozconfig_platform: ios
- disable_package_metrics: true
- mozconfig-variant: debug-searchfox
- fetches:
- toolchain:
- - linux64-clang
- - linux64-hfsplus
- - linux64-libdmg
- - linux64-nasm
- - linux64-node
- - linux64-rust-ios
- - linux64-cbindgen
- - linux64-dump_syms
- - ios-sdk
- - sysroot-x86_64-linux-gnu
- - sysroot-wasm32-wasi
-
- win64-searchfox/debug:
- description: "Win64 Searchfox Debug (clang-cl)"
- index:
- job-name: win64-searchfox-debug
- treeherder:
- platform: windows2012-64/debug
- worker-type: b-linux-gcp
- worker:
- max-run-time: 10800
- env:
- PERFHERDER_EXTRA_OPTIONS: searchfox
- MOZSEARCH_PLATFORM: "windows"
- run:
- using: mozharness
- options: [append-env-variables-from-configs]
- actions: [get-secrets, build]
- script: mozharness/scripts/fx_desktop_build.py
- secrets: true
- config:
- - builds/releng_base_firefox.py
- - builds/releng_base_linux_64_builds.py
- - builds/taskcluster_sub_win64/searchfox_debug.py
- extra-config:
- mozconfig_platform: win64
- fetches:
- toolchain:
- - linux64-clang
- - linux64-rust-cross
- - linux64-rust-size
- - linux64-nasm
- - linux64-node
- - linux64-cbindgen
- - linux64-dump_syms
- - linux64-wine
- - linux64-winchecksec
- - nsis
- - sysroot-x86_64-linux-gnu
- - sysroot-wasm32-wasi
- - vs
- - windows-rs
- fetch:
- - upx-3.95-win
-
- android-armv7-searchfox/debug:
- description: "Android ARMv7 Debug Searchfox"
- index:
- job-name: android-armv7-searchfox-debug
- treeherder:
- platform: android-4-1-armv7/debug
- worker-type: b-linux-gcp
- worker:
- docker-image: {in-tree: android-build}
- max-run-time: 10800
- env:
- PERFHERDER_EXTRA_OPTIONS: searchfox
- MOZSEARCH_PLATFORM: "android-armv7"
- GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline"
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
- run:
- using: mozharness
- actions: [get-secrets, build]
- config:
- - builds/releng_base_android_64_builds.py
- script: "mozharness/scripts/fx_desktop_build.py"
- secrets: true
- custom-build-variant-cfg: arm-debug-searchfox
- tooltool-downloads: internal
- fetches:
- toolchain:
- - android-gradle-dependencies
- - android-gradle-python-envs
- - android-ndk-linux
- - android-sdk-linux
- - linux64-jdk
- - linux64-clang
- - linux64-rust-cross
- - linux64-rust-size
- - linux64-cbindgen
- - linux64-dump_syms
- - linux64-nasm
- - linux64-node
- - sysroot-x86_64-linux-gnu
- - sysroot-wasm32-wasi
diff --git a/taskcluster/ci/shippable-l10n/kind.yml b/taskcluster/ci/shippable-l10n/kind.yml
deleted file mode 100644
index d38edb2ee5..0000000000
--- a/taskcluster/ci/shippable-l10n/kind.yml
+++ /dev/null
@@ -1,199 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-transforms:
- - taskgraph.transforms.from_deps
- - gecko_taskgraph.transforms.l10n
- - gecko_taskgraph.transforms.job
- - gecko_taskgraph.transforms.task
-
-kind-dependencies:
- - build
- - build-signing
- - fetch
- - repackage
- - toolchain
-
-only-for-build-platforms:
- - linux64-shippable/opt
- - linux-shippable/opt
- - macosx64-shippable/opt
- - win32-shippable/opt
- - win64-shippable/opt
- - win64-aarch64-shippable/opt
- - linux64-devedition/opt
- - linux-devedition/opt
- - macosx64-devedition/opt
- - win32-devedition/opt
- - win64-devedition/opt
- - win64-aarch64-devedition/opt
-
-jobs:
- shippable-l10n:
- description: Localization
- from-deps:
- group-by: platform
- locales-file: browser/locales/l10n-changesets.json
- locales-per-chunk: 5
- run-on-projects: ['release']
- attributes:
- shipping_phase: promote
- ignore-locales:
- by-build-platform:
- # OSX has a special locale for japanese
- macosx64.*: [ja]
- default: [ja-JP-mac]
- run-time: 1800
- fetches:
- toolchain:
- by-build-platform:
- default: []
- macosx64.*:
- - linux64-libdmg
- - linux64-hfsplus
- win.*:
- - linux64-wine
- - nsis
- fetch:
- by-build-platform:
- default: []
- win.*:
- - upx-3.95-win
- tooltool:
- by-build-platform:
- default: internal
- linux.*: public
- index:
- type: shippable-l10n
- product:
- by-build-platform:
- default: firefox
- .*-devedition: devedition
- job-name:
- by-build-platform:
- linux-shippable: linux-opt
- linux64-shippable: linux64-opt
- macosx64-shippable: macosx64-opt
- win32-shippable: win32-opt
- win64-shippable: win64-opt
- win64-aarch64-shippable: win64-aarch64-opt
- linux-devedition: linux-devedition-opt
- linux64-devedition: linux64-devedition-opt
- macosx64-devedition: macosx64-devedition-opt
- win32-devedition: win32-devedition-opt
- win64-devedition: win64-devedition-opt
- win64-aarch64-devedition: win64-aarch64-devedition-opt
- worker-type: b-linux-gcp
- treeherder:
- symbol: L10n(B)
- tier: 1
- platform:
- by-build-platform:
- linux64-shippable: linux64-shippable/opt
- linux-shippable: linux32-shippable/opt
- macosx64-shippable: osx-shippable/opt
- win32-shippable: windows2012-32-shippable/opt
- win64-shippable: windows2012-64-shippable/opt
- win64-aarch64-shippable: windows2012-aarch64-shippable/opt
- linux64-devedition: linux64-devedition/opt
- linux-devedition: linux32-devedition/opt
- macosx64-devedition: osx-cross-devedition/opt
- win32-devedition: windows2012-32-devedition/opt
- win64-devedition: windows2012-64-devedition/opt
- win64-aarch64-devedition: windows2012-aarch64-devedition/opt
- env:
- by-build-platform:
- linux.*: # linux64 and 32 get same treatment here
- EN_US_PACKAGE_NAME: target.tar.bz2
- EN_US_BINARY_URL:
- artifact-reference: <build-signing/{artifact_prefix}>
- macosx64.*:
- EN_US_PACKAGE_NAME: target.dmg
- EN_US_BINARY_URL:
- artifact-reference: <repackage/{artifact_prefix}>
- win.*:
- EN_US_PACKAGE_NAME: target.zip
- EN_US_BINARY_URL:
- artifact-reference: <build-signing/{artifact_prefix}>
- mozharness:
- config:
- by-build-platform:
- linux-shippable:
- - single_locale/firefox.py
- - single_locale/linux32.py
- - single_locale/tc_common.py
- - single_locale/tc_linux_common.py
- - taskcluster_nightly.py
- linux64-shippable:
- - single_locale/firefox.py
- - single_locale/linux64.py
- - single_locale/tc_common.py
- - single_locale/tc_linux_common.py
- - taskcluster_nightly.py
- macosx64-shippable:
- - single_locale/firefox.py
- - single_locale/macosx64.py
- - single_locale/tc_common.py
- - single_locale/tc_macosx64.py
- - taskcluster_nightly.py
- win32-shippable:
- - single_locale/firefox.py
- - single_locale/win32.py
- - single_locale/tc_common.py
- - single_locale/tc_win32.py
- - taskcluster_nightly.py
- win64-shippable:
- - single_locale/firefox.py
- - single_locale/win64.py
- - single_locale/tc_common.py
- - single_locale/tc_win64.py
- - taskcluster_nightly.py
- win64-aarch64-shippable:
- - single_locale/firefox.py
- - single_locale/win64-aarch64.py
- - single_locale/tc_common.py
- - single_locale/tc_win64.py
- - taskcluster_nightly.py
- linux-devedition:
- - single_locale/devedition.py
- - single_locale/linux32.py
- - single_locale/tc_common.py
- - single_locale/tc_linux_common.py
- - taskcluster_nightly.py
- linux64-devedition:
- - single_locale/devedition.py
- - single_locale/linux64.py
- - single_locale/tc_common.py
- - single_locale/tc_linux_common.py
- - taskcluster_nightly.py
- macosx64-devedition:
- - single_locale/devedition.py
- - single_locale/macosx64.py
- - single_locale/tc_common.py
- - single_locale/tc_macosx64.py
- - taskcluster_nightly.py
- win32-devedition:
- - single_locale/devedition.py
- - single_locale/win32.py
- - single_locale/tc_common.py
- - single_locale/tc_win32.py
- - taskcluster_nightly.py
- win64-devedition:
- - single_locale/devedition.py
- - single_locale/win64.py
- - single_locale/tc_common.py
- - single_locale/tc_win64.py
- - taskcluster_nightly.py
- win64-aarch64-devedition:
- - single_locale/devedition.py
- - single_locale/win64-aarch64.py
- - single_locale/tc_common.py
- - single_locale/tc_win64.py
- - taskcluster_nightly.py
- # no default, so we fail on new entries
- actions: ['clone-locales', 'list-locales', 'setup', 'repack',
- 'summary']
- script: mozharness/scripts/desktop_l10n.py
diff --git a/taskcluster/ci/spidermonkey/kind.yml b/taskcluster/ci/spidermonkey/kind.yml
deleted file mode 100644
index 358ffeeb3f..0000000000
--- a/taskcluster/ci/spidermonkey/kind.yml
+++ /dev/null
@@ -1,74 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-kind-dependencies:
- - toolchain
-
-transforms:
- - gecko_taskgraph.transforms.spidermonkey:transforms
- - gecko_taskgraph.transforms.build_attrs:transforms
- - gecko_taskgraph.transforms.build_lints:transforms
- - gecko_taskgraph.transforms.job:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-job-defaults:
- attributes:
- retrigger: true
- treeherder:
- kind: build
- tier: 1
- index:
- product: firefox
- worker-type: b-linux-gcp
- run:
- using: spidermonkey
- when:
- files-changed:
- # any when.files-changed specified below in a job will be
- # appended to this list
- - build/**
- - config/**
- - configure.py
- - dom/bindings/**
- - intl/icu/**
- - js/moz.configure
- - js/public/**
- - js/src/**
- - 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
- - taskcluster/ci/spidermonkey/kind.yml
- - testing/mozbase/**
- - testing/web-platform/**
- - test.mozbuild
- - toolkit/mozapps/installer/package-name.mk
- - toolkit/mozapps/installer/upload-files.mk
- fetches:
- toolchain:
- by-worker-type:
- .*-b-win2022:
- - win64-clang
- - win64-rust
- default:
- - linux64-clang
- - linux64-gcc
- - linux64-rust
- - linux64-dump_syms
- - sysroot-x86_64-linux-gnu
-
-jobs-from:
- - linux.yml
- - windows.yml
diff --git a/taskcluster/ci/static-analysis-autotest/kind.yml b/taskcluster/ci/static-analysis-autotest/kind.yml
deleted file mode 100644
index 39497268a8..0000000000
--- a/taskcluster/ci/static-analysis-autotest/kind.yml
+++ /dev/null
@@ -1,101 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-kind-dependencies:
- - toolchain
-
-transforms:
- - gecko_taskgraph.transforms.build_attrs:transforms
- - gecko_taskgraph.transforms.build_lints:transforms
- - gecko_taskgraph.transforms.job:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-job-defaults:
- attributes:
- retrigger: true
- index:
- product: firefox
- worker:
- skip-artifacts: true
- max-run-time: 3600
- env:
- PERFHERDER_EXTRA_OPTIONS: static-analysis-autotest
- use-python: default
- run-on-projects: ['mozilla-central']
- run:
- using: mozharness
- actions: [static-analysis-autotest]
- script: mozharness/scripts/fx_desktop_build.py
- treeherder:
- symbol: Sa
- kind: build
- tier: 1
-
-jobs:
- linux64-st-autotest/debug:
- description: "Linux64 Debug Static Analysis Autotest"
- index:
- job-name: linux64-st-autotest-debug
- treeherder:
- platform: linux64/debug
- worker-type: t-linux-large
- worker:
- docker-image: {in-tree: static-analysis-build}
- env:
- # clang-tidy needs a recent libstdc++, which can be found in the clang
- # toolchain.
- LD_LIBRARY_PATH: /builds/worker/checkouts/gecko/clang/lib
- PERFHERDER_EXTRA_OPTIONS: static-analysis-autotest
- run:
- config:
- - builds/releng_base_firefox.py
- - builds/releng_sub_linux_configs/64_stat_and_debug.py
- tooltool-downloads: public
- keep-artifacts: false
- use-sccache: true
- fetches:
- toolchain:
- - linux64-clang
- - linux64-clang-tidy
- - linux64-rust
- - linux64-sccache
- - linux64-cbindgen
- - linux64-nasm
- - linux64-node
- - linux64-pkgconf
- - sysroot-x86_64-linux-gnu
- - sysroot-wasm32-wasi
-
- win64-st-autotest/debug:
- description: "Win64 Debug Static Analysis Autotest"
- index:
- job-name: win64-st-autotest-debug
- treeherder:
- platform: windows2012-64/debug
- tier: 2
- worker-type: b-win2022
- run:
- config:
- - builds/releng_base_firefox.py
- - builds/taskcluster_base_windows.py
- - builds/taskcluster_base_win64.py
- - builds/taskcluster_sub_win64/debug.py
- extra-config:
- mozconfig_variant: debug
- use-sccache: false
- fetches:
- toolchain:
- - win64-clang
- - win64-rust
- - win64-cbindgen
- - win64-clang-tidy
- - win64-nasm
- - win64-node
- - win64-dump_syms
- - win64-winchecksec
- - vs
- - windows-rs
- - sysroot-wasm32-wasi
diff --git a/taskcluster/ci/system-symbols-reprocess/kind.yml b/taskcluster/ci/system-symbols-reprocess/kind.yml
deleted file mode 100644
index 5b81817188..0000000000
--- a/taskcluster/ci/system-symbols-reprocess/kind.yml
+++ /dev/null
@@ -1,46 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-# we need that to apply grouping only on jobs that have "build_platform", so we
-# dont fail for the "fetch" kind that does is a dependency but does not have it
-only-for-attributes:
- - build_platform
-
-transforms:
- - taskgraph.transforms.from_deps
- - gecko_taskgraph.transforms.reprocess_symbols
- - gecko_taskgraph.transforms.job
- - gecko_taskgraph.transforms.task
-
-kind-dependencies:
- - system-symbols
- - system-symbols-upload
- - fetch
-
-jobs:
- system-symbols-reprocess:
- from-deps:
- kinds: ["system-symbols", "system-symbols-upload"]
- group-by: platform
- description: Reprocess Symbols on Crash-Stats
- attributes:
- cron: true
- worker-type: b-linux-gcp
- worker:
- docker-image: {in-tree: system-symbols-linux-scraper}
- max-run-time: 7200
- env:
- # {level} gets replaced in the reprocess_symbols transform
- CRASHSTATS_SECRET: "project/releng/gecko/build/level-{level}/gecko-symbol-reprocess"
- DUMP_SYMS: "/bin/false"
- run:
- using: run-task
- command: {artifact-reference: "${MOZ_FETCHES_DIR}/symbol-scrapers/reprocess.sh <system-symbols/public/build/target.crashreporter-symbols.zip>"}
- fetches:
- fetch:
- - symbol-scrapers
- scopes:
- - secrets:get:project/releng/gecko/build/level-{level}/gecko-symbol-reprocess
diff --git a/taskcluster/ci/system-symbols-upload/kind.yml b/taskcluster/ci/system-symbols-upload/kind.yml
deleted file mode 100644
index dd9462a84b..0000000000
--- a/taskcluster/ci/system-symbols-upload/kind.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-transforms:
- - taskgraph.transforms.from_deps
- - gecko_taskgraph.transforms.upload_symbols
- - gecko_taskgraph.transforms.job
- - gecko_taskgraph.transforms.task
-
-kind-dependencies:
- - system-symbols
-
-jobs:
- system-symbols-upload:
- description: Upload Symbols
- from-deps: {}
- attributes:
- cron: true
- worker-type: b-linux-gcp
- worker:
- docker-image: {in-tree: "lint"}
- max-run-time: 1200
- env:
- # {level} gets replaced in the upload_symbols transform
- SYMBOL_SECRET: "project/releng/gecko/build/level-{level}/gecko-symbol-upload"
- run:
- using: mach
- mach: {artifact-reference: "python toolkit/crashreporter/tools/upload_symbols.py <system-symbols/public/build/target.crashreporter-symbols.zip> --ignore-missing"}
- sparse-profile: upload-symbols
- scopes:
- - secrets:get:project/releng/gecko/build/level-{level}/gecko-symbol-upload
diff --git a/taskcluster/ci/test-apk/kind.yml b/taskcluster/ci/test-apk/kind.yml
deleted file mode 100644
index b1fe6c2a88..0000000000
--- a/taskcluster/ci/test-apk/kind.yml
+++ /dev/null
@@ -1,157 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-transforms:
- - gecko_taskgraph.transforms.test_apk:transforms
- # While not a build, the build optimization works well for these tasks.
- - gecko_taskgraph.transforms.build_schedules:transforms
- - gecko_taskgraph.transforms.job:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-kind-dependencies:
- - toolchain
- - build-fat-aar
-
-job-defaults:
- attributes:
- retrigger: true
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
- fetches:
- toolchain:
- - android-sdk-linux
- - android-gradle-dependencies
- - android-gradle-python-envs
- - linux64-jdk
- build-fat-aar:
- - target.maven.tar.xz
- run:
- using: gradlew
- use-caches: false
- treeherder:
- kind: test
- worker-type: b-linux-medium-gcp
- worker:
- docker-image: {in-tree: android-components}
- max-run-time: 7200
-
-jobs:
- focus-debug:
- description: Focus unit tests
- attributes:
- build-type: focus-debug
- shipping-product: focus
- run:
- pre-gradlew:
- - ["cd", "mobile/android/focus-android"]
- gradlew: ['clean', 'test']
- dummy-secrets:
- - content: "faketoken"
- path: .adjust_token
- treeherder:
- platform: 'focus-android-all/opt'
- symbol: focus-debug(T)
- tier: 1
- worker:
- artifacts:
- - name: public/reports/index.html
- path: /builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/reports/tests/testFocusDebugUnitTest/index.html
- type: file
- - name: public/reports/test
- path: /builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/reports/tests
- type: directory
-
- fenix-debug:
- description: Fenix unit tests
- attributes:
- build-type: fenix-debug
- shipping-product: fenix
- run:
- pre-gradlew:
- - ["cd", "mobile/android/fenix"]
- - ['java', '-version']
- gradlew: ['clean', 'testFenixDebugUnitTest']
- treeherder:
- platform: 'fenix-android-all/opt'
- symbol: fenix-debug(T)
- tier: 1
- worker:
- artifacts:
- - name: public/reports/index.html
- path: /builds/worker/checkouts/gecko/mobile/android/fenix/app/build/reports/tests/testFenixDebugUnitTest/index.html
- type: file
- - name: public/reports/test
- path: /builds/worker/checkouts/gecko/mobile/android/fenix/app/build/reports/tests
- type: directory
- routes:
- by-level:
- '3':
- - notify.slack-channel.G016BC5FUHJ.on-failed
- 'default': []
- scopes:
- by-level:
- '3':
- - queue:route:notify.slack-channel.G016BC5FUHJ.on-failed
- - notify:slack-channel:G016BC5FUHJ
- 'default': []
- extra:
- notify:
- by-level:
- '3':
- slackBlocks: |
- [
- {
- "type": "header",
- "text": {
- "type": "plain_text",
- "text": "firefox-android :firefox: ${task.metadata.name} :x:\n "
- }
- },
- {
- "type": "divider"
- },
- {
- "type": "section",
- "text": {
- "type": "mrkdwn",
- "text": "*Task*: <https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId}|Taskcluster>"
- }
- },
- {
- "type": "section",
- "text": {
- "type": "mrkdwn",
- "text": "*Owner*: ${task.metadata.owner}"
- }
- },
- {
- "type": "section",
- "text": {
- "type": "mrkdwn",
- "text": "*Source*: <${task.payload.env.GECKO_HEAD_REPOSITORY}/rev/${task.payload.env.GECKO_HEAD_REV}|Commit> :hg:"
- }
- },
- {
- "type": "section",
- "text": {
- "type": "mrkdwn",
- "text": "*Test Summary*: <https://firefoxci.taskcluster-artifacts.net/${status.taskId}/0/public/reports/index.html|Results> :debug:"
- }
- },
- {
- "type": "divider"
- },
- {
- "type": "context",
- "elements": [
- {
- "type": "mrkdwn",
- "text": ":testops-notify: created by <https://mozilla-hub.atlassian.net/wiki/spaces/MTE/overview|Mobile Test Engineering>"
- }
- ]
- }
- ]
- 'default': {}
diff --git a/taskcluster/ci/test-components/kind.yml b/taskcluster/ci/test-components/kind.yml
deleted file mode 100644
index bbdc5f7edd..0000000000
--- a/taskcluster/ci/test-components/kind.yml
+++ /dev/null
@@ -1,89 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-transforms:
- - android_taskgraph.transforms.ui_tests:transforms
- # While not a build, the build optimization works well for these tasks.
- - gecko_taskgraph.transforms.build_schedules:transforms
- - gecko_taskgraph.transforms.job:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-kind-dependencies:
- - toolchain
- - build-fat-aar
-
-
-job-defaults:
- attributes:
- build-type: debug
- retrigger: true
- dependencies:
- build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
- fetches:
- toolchain:
- - android-sdk-linux
- - android-gradle-dependencies
- - android-gradle-python-envs
- - linux64-jdk
- build-fat-aar:
- - target.maven.tar.xz
- run:
- # TODO Generate APKs in a build task instead
- gradlew: ['clean', 'assembleGecko', 'assembleAndroidTest', 'assembleDebug']
- pre-gradlew:
- - ["cd", "mobile/android/android-components"]
- secrets:
- - name: project/mobile/firefox-android/android-components/firebase
- key: firebaseToken
- path: .firebase_token.json
- json: true
- using: gradlew
- use-caches: false
- treeherder:
- kind: test
- platform: 'AC-ui-test/opt'
- tier: 2
- worker-type: b-linux-medium-gcp
- worker:
- artifacts:
- - name: public
- path: /builds/worker/artifacts
- type: directory
- docker-image: {in-tree: android-ui-tests}
- env:
- GOOGLE_APPLICATION_CREDENTIALS: '.firebase_token.json'
- GOOGLE_PROJECT: moz-android-components-230120
- max-run-time: 2400
- optimization:
- skip-unless-backstop: null
-
-
-jobs:
- unit-browser-engine-gecko-nightly:
- component: browser
- description: 'Run unit tests on device for browser component'
- treeherder:
- symbol: 'ui-components'
- ui-browser:
- component: samples-browser
- description: 'Run ui tests for browser sample'
- treeherder:
- symbol: 'ui-samples-browser'
- ui-glean:
- component: samples-glean
- description: 'Run ui tests for glean sample'
- treeherder:
- symbol: 'ui-samples-glean'
- android-feature-containers: {}
- android-feature-pwa: {}
- android-feature-share: {}
- android-feature-sitepermissions: {}
- android-feature-top-sites: {}
- android-feature-logins: {}
- android-feature-prompts: {}
- android-support-ktx: {}
- android-feature-downloads: {}
- android-feature-recentlyclosed: {}
diff --git a/taskcluster/ci/toolchain/android.yml b/taskcluster/ci/toolchain/android.yml
deleted file mode 100644
index 6c2c558c9c..0000000000
--- a/taskcluster/ci/toolchain/android.yml
+++ /dev/null
@@ -1,264 +0,0 @@
-# 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/.
----
-job-defaults:
- worker-type: b-linux-gcp
- worker:
- docker-image: {in-tree: android-build}
- max-run-time: 1800
-
-# In automation, we generate the AVD using the linux64-android-avd jobs. On
-# developers' machines, bootstrap will download the artifact from the avd job
-# instead of generating it.
-#
-# The Android AVD needs the corresponding system image generated in the
-# linux64-android-system-image TL job. System images are not redistributable,
-# so locally bootstrap will use sdkmanager to download the corresponding system
-# images.
-linux64-android-avd-x86_64-repack:
- attributes:
- local-toolchain: true
- description: "Android AVD (Linux) repack toolchain build"
- treeherder:
- symbol: TL(avd-x86_64-linux)
- run:
- script: repack-android-avd-linux.sh
- arguments:
- - 'python/mozboot/mozboot/android-avds/x86_64.json'
- resources:
- - 'python/mozboot/**/*android*'
- toolchain-artifact: public/build/android-avd-linux.tar.zst
- toolchain-alias: android-avd-x86_64-linux
- fetches:
- toolchain:
- # Aliases aren't allowed for toolchains depending on toolchains.
- - linux64-jdk-repack
-
-linux64-android31-avd-x86_64-repack:
- description: "Android AVD (Linux) repack toolchain build"
- treeherder:
- symbol: TL(avd31-x86_64-linux)
- worker-type: b-linux-kvm-gcp
- worker:
- kvm: true
- run:
- script: repack-android-avd-linux.sh
- arguments:
- - 'python/mozboot/mozboot/android-avds/android31-x86_64.json'
- resources:
- - 'python/mozboot/**/*android*'
- toolchain-artifact: public/build/android-avd-linux.tar.zst
- toolchain-alias: android31-avd-x86_64-linux
- fetches:
- toolchain:
- # Aliases aren't allowed for toolchains depending on toolchains.
- - linux64-jdk-repack
-
-
-linux64-android-avd-arm-repack:
- attributes:
- local-toolchain: true
- description: "Android AVD (Linux) repack toolchain build"
- treeherder:
- symbol: TL(avd-arm-linux)
- run:
- script: repack-android-avd-linux.sh
- arguments:
- - 'python/mozboot/mozboot/android-avds/arm.json'
- resources:
- - 'python/mozboot/**/*android*'
- toolchain-artifact: public/build/android-avd-linux.tar.zst
- toolchain-alias: android-avd-arm-linux
- fetches:
- toolchain:
- # Aliases aren't allowed for toolchains depending on toolchains.
- - linux64-jdk-repack
-
-linux64-android-avd-arm64-repack:
- attributes:
- local-toolchain: true
- description: "Android AVD (Linux) repack toolchain build"
- treeherder:
- symbol: TL(avd-arm64-linux)
- run:
- script: repack-android-avd-linux.sh
- arguments:
- - 'python/mozboot/mozboot/android-avds/arm64.json'
- resources:
- - 'python/mozboot/**/*android*'
- toolchain-artifact: public/build/android-avd-linux.tar.zst
- toolchain-alias: android-avd-arm64-linux
- fetches:
- toolchain:
- # Aliases aren't allowed for toolchains depending on toolchains.
- - linux64-jdk-repack
-
-linux64-android-system-image-x86_64-repack:
- description: "Android System Images (Linux) repack toolchain build"
- treeherder:
- symbol: TL(x86_64-avd-img-linux)
- run:
- script: repack-android-system-images-linux.sh
- arguments:
- - 'python/mozboot/mozboot/android-avds/x86_64.json'
- resources:
- - 'python/mozboot/**/*android*'
- toolchain-artifact: project/gecko/android-system-images/android-system-images-linux.tar.zst
- toolchain-alias: android-system-image-x86_64-linux
- fetches:
- toolchain:
- # Aliases aren't allowed for toolchains depending on toolchains.
- - linux64-jdk-repack
-
-linux64-android31-system-image-x86_64-repack:
- description: "Android System Images (Linux) repack toolchain build"
- treeherder:
- symbol: TL(x86_64-avd31-img-linux)
- run:
- script: repack-android-system-images-linux.sh
- arguments:
- - 'python/mozboot/mozboot/android-avds/android31-x86_64.json'
- resources:
- - 'python/mozboot/**/*android*'
- toolchain-artifact: project/gecko/android-system-images/android-system-images-linux.tar.zst
- toolchain-alias: android31-system-image-x86_64-linux
- fetches:
- toolchain:
- # Aliases aren't allowed for toolchains depending on toolchains.
- - linux64-jdk-repack
-
-
-linux64-jdk-repack:
- description: "Java JDK (Linux) repack toolchain build"
- treeherder:
- symbol: TL(jdk)
- run:
- script: repack-jdk-linux.sh
- resources:
- - 'python/mozboot/**/*android*'
- toolchain-artifact: project/gecko/jdk/jdk-linux.tar.zst
- toolchain-alias: linux64-jdk
- toolchain-env:
- JAVA_HOME: "/builds/worker/fetches/jdk/jdk-17.0.10+7"
-
-linux64-android-sdk-linux-repack:
- description: "Android SDK (Linux) repack toolchain build"
- treeherder:
- symbol: TL(android-sdk-linux)
- run:
- script: repack-android-sdk-linux.sh
- resources:
- - 'python/mozboot/**/*android*'
- toolchain-artifact: project/gecko/android-sdk/android-sdk-linux.tar.zst
- toolchain-alias: android-sdk-linux
- fetches:
- toolchain:
- # Aliases aren't allowed for toolchains depending on toolchains.
- - linux64-jdk-repack
-
-linux64-android-emulator-linux-repack:
- description: "Android Emulator (Linux) repack toolchain build"
- treeherder:
- symbol: TL(android-emulator-linux)
- run:
- script: repack-android-emulator-linux.sh
- resources:
- - 'python/mozboot/**/*android*'
- toolchain-artifact: project/gecko/android-emulator/android-emulator-linux.tar.zst
- toolchain-alias: android-emulator-linux
- fetches:
- toolchain:
- # Aliases aren't allowed for toolchains depending on toolchains.
- - linux64-jdk-repack
-
-linux64-android-ndk-linux-repack:
- description: "Android NDK (Linux) repack toolchain build"
- treeherder:
- symbol: TL(android-ndk-linux)
- run:
- script: repack-android-ndk-linux.sh
- resources:
- - 'python/mozboot/**/*android*'
- toolchain-artifact: project/gecko/android-ndk/android-ndk.tar.zst
- toolchain-alias: android-ndk-linux
-
-linux64-android-gradle-dependencies:
- description: "Android Gradle dependencies toolchain task"
- treeherder:
- symbol: TL(gradle-dependencies)
- worker:
- env:
- GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-online"
- ANDROID_SDK_ROOT: "/builds/worker/fetches/android-sdk-linux"
- max-run-time: 2700
- run:
- script: android-gradle-dependencies.sh
- sparse-profile: null
- resources:
- - 'taskcluster/scripts/misc/android-gradle-dependencies/**'
- - '*.gradle'
- - 'mobile/android/**/*.gradle'
- - 'mobile/android/config/mozconfigs/android-arm-gradle-dependencies/**'
- - 'mobile/android/config/mozconfigs/common*'
- - 'mobile/android/gradle.configure'
- - 'mobile/android/android-components/plugins/dependencies/src/main/java/DependenciesPlugin.kt'
- - 'mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt'
- - 'mobile/android/fenix/plugins/fenixdependencies/src/main/java/FenixDependenciesPlugin.kt'
- - 'mobile/android/focus-android/plugins/focusdependencies/src/main/java/FocusDependenciesPlugin.kt'
- toolchain-artifact: public/build/android-gradle-dependencies.tar.zst
- toolchain-alias: android-gradle-dependencies
- fetches:
- fetch:
- - sonatype-nexus
- # Nexus needs Java 8
- - jdk-8-linux64
- toolchain:
- # Aliases aren't allowed for toolchains depending on toolchains.
- - linux64-android-sdk-linux-repack
- - linux64-jdk-repack
- - linux64-node
- - android-gradle-python-envs
-
-linux64-android-gradle-dependencies-lite:
- description: "Android Lite Gradle dependencies toolchain task"
- treeherder:
- symbol: TL(gradle-dependencies-lite)
- worker:
- env:
- GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-online"
- run:
- script: android-gradle-dependencies-lite.sh
- sparse-profile: null
- resources:
- - 'taskcluster/scripts/misc/android-gradle-dependencies/**'
- - '*.gradle'
- - 'mobile/android/**/*.gradle'
- - 'mobile/android/config/mozconfigs/android-arm-gradle-dependencies/**'
- - 'mobile/android/config/mozconfigs/common*'
- - 'mobile/android/gradle.configure'
- - 'mobile/android/android-components/plugins/dependencies/src/main/java/DependenciesPlugin.kt'
- - 'mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt'
- toolchain-artifact: public/build/android-gradle-dependencies.tar.zst
- toolchain-alias: android-gradle-dependencies-lite
- fetches:
- fetch:
- - sonatype-nexus
- # Nexus needs Java 8
- - jdk-8-linux64
- toolchain:
- # Aliases aren't allowed for toolchains depending on toolchains.
- - linux64-android-sdk-linux-repack
- - linux64-jdk-repack
- - linux64-node
- - android-gradle-python-envs
-
-android-gradle-python-envs:
- description: "gradle-python-envs plugin toolchain task"
- treeherder:
- symbol: TL(gradle-python-envs)
- run:
- script: gradle-python-envs.sh
- arguments: ['0.0.31']
- sparse-profile: null
- toolchain-artifact: public/build/gradle-python-envs-0.0.31.tar.zst
diff --git a/taskcluster/ci/ui-test-apk/kind.yml b/taskcluster/ci/ui-test-apk/kind.yml
deleted file mode 100644
index 405a59f03a..0000000000
--- a/taskcluster/ci/ui-test-apk/kind.yml
+++ /dev/null
@@ -1,353 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-transforms:
- - gecko_taskgraph.transforms.test_apk:transforms
- # While not a build, the build optimization works well for these tasks.
- - gecko_taskgraph.transforms.build_schedules:transforms
- - gecko_taskgraph.transforms.job:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-kind-dependencies:
- - toolchain
- - signing-apk
-
-job-defaults:
- attributes:
- build-type: debug
- retrigger: true
- fetches:
- toolchain:
- - android-sdk-linux
- optimization:
- skip-unless-backstop: null
- worker-type: b-linux-medium-gcp
- worker:
- docker-image: {in-tree: android-ui-tests}
- max-run-time: 7200
- env:
- GOOGLE_APPLICATION_CREDENTIALS: '.firebase_token.json'
- ANDROID_SDK_ROOT: /builds/worker/fetches/android-sdk-linux
- artifacts:
- - name: public
- path: /builds/worker/artifacts
- type: directory
- retry-exit-status: [20]
- treeherder:
- kind: test
- tier: 2
- run:
- use-caches: false
- using: run-commands
- dummy-secrets:
- - content: "faketoken"
- path: .adjust_token
- routes:
- by-level:
- '3':
- - notify.slack-channel.G016BC5FUHJ.on-failed
- 'default': []
- scopes:
- by-level:
- '3':
- - queue:route:notify.slack-channel.G016BC5FUHJ.on-failed
- - notify:slack-channel:G016BC5FUHJ
- 'default': []
- extra:
- notify:
- by-level:
- '3':
- slackText: 'https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId} | ${task.metadata.name} | ${task.metadata.source}'
- slackBlocks: |
- [
- {
- "type": "header",
- "text": {
- "type": "plain_text",
- "text": "firefox-android :firefox: ${task.metadata.name} :x:\n "
- }
- },
- {
- "type": "divider"
- },
- {
- "type": "section",
- "text": {
- "type": "mrkdwn",
- "text": "*Task*: <https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId}|Taskcluster>"
- }
- },
- {
- "type": "section",
- "text": {
- "type": "mrkdwn",
- "text": "*Owner*: ${task.metadata.owner}"
- }
- },
- {
- "type": "section",
- "text": {
- "type": "mrkdwn",
- "text": "*Source*: <${task.payload.env.GECKO_BASE_REPOSITORY}/rev/${task.payload.env.GECKO_HEAD_REV}|Commit> :hg:"
- }
- },
- {
- "type": "divider"
- },
- {
- "type": "context",
- "elements": [
- {
- "type": "mrkdwn",
- "text": ":testops-notify: created by <https://mozilla-hub.atlassian.net/wiki/spaces/MTE/overview|Mobile Test Engineering>"
- }
- ]
- }
- ]
- 'default': {}
-
-jobs:
- focus-arm-debug:
- attributes:
- build-type: focus-debug-firebase
- shipping-product: focus
- description: 'Focus UI tests with firebase'
- run:
- secrets:
- - name: project/mobile/firefox-android/focus-android/firebase
- key: firebaseToken
- path: .firebase_token.json
- json: true
- pre-commands:
- - ["cd", "mobile/android/focus-android"]
- commands:
- - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
- - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
- - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm64-v8a, app.apk, --apk_test, android-test.apk]
- dependencies:
- # key is arbitrary, the value corresponds to <kind name>-<build-name>
- signed-apk-debug-apk: signing-apk-focus-debug
- signed-apk-android-test: signing-apk-focus-android-test-debug
- treeherder:
- platform: 'focus-ui-test/opt'
- symbol: focus-debug(ui-test-arm)
- worker:
- env:
- GOOGLE_PROJECT: 'moz-focus-android'
- focus-arm-nightly:
- attributes:
- build-type: focus-nightly-firebase
- shipping-product: focus
- description: 'UI tests on Nightly with firebase'
- dependencies:
- signed-apk-debug-apk: signing-apk-focus-nightly-firebase
- signed-apk-android-test: signing-apk-focus-android-test-nightly
- run-on-projects: [trunk]
- run:
- secrets:
- - name: project/mobile/firefox-android/focus-android/firebase
- key: firebaseToken
- path: .firebase_token.json
- json: true
- pre-commands:
- - ["cd", "mobile/android/focus-android"]
- commands:
- - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
- - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
- - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-start-test, app.apk, --apk_test, android-test.apk]
- treeherder:
- platform: 'focus-ui-test/opt'
- symbol: focus-nightly(ui-test-arm-nightly)
- worker:
- env:
- GOOGLE_PROJECT: 'moz-focus-android'
- focus-arm-beta:
- attributes:
- build-type: focus-beta-firebase
- shipping-product: focus
- description: 'UI tests on Beta with firebase'
- dependencies:
- signed-apk-debug-apk: signing-apk-focus-beta-firebase
- signed-apk-android-test: signing-apk-focus-android-test-beta
- run-on-projects: [release]
- run:
- secrets:
- - name: project/mobile/firefox-android/focus-android/firebase
- key: firebaseToken
- path: .firebase_token.json
- json: true
- pre-commands:
- - ["cd", "mobile/android/focus-android"]
- commands:
- - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
- - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
- - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-beta, app.apk, --apk_test, android-test.apk]
- treeherder:
- platform: 'focus-ui-test/opt'
- symbol: focus-beta(ui-test-arm-beta)
- worker:
- env:
- GOOGLE_PROJECT: 'moz-focus-android'
- fenix-arm-debug:
- attributes:
- build-type: fenix-debug-firebase
- shipping-product: fenix
- description: Test Fenix
- dependencies:
- signed-apk-debug-apk: signing-apk-fenix-debug
- signed-apk-android-test: signing-apk-fenix-android-test-debug
- run:
- secrets:
- - name: project/mobile/firefox-android/fenix/firebase
- key: firebaseToken
- path: .firebase_token.json
- json: true
- pre-commands:
- - ["cd", "mobile/android/fenix"]
- commands:
- - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
- - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
- - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm64-v8a, app.apk, --apk_test, android-test.apk]
- treeherder:
- platform: 'fenix-ui-test/opt'
- symbol: fenix-debug(ui-test-arm)
- worker:
- env:
- GOOGLE_PROJECT: moz-fenix
- screenshots-arm:
- attributes:
- build-type: fenix-debug-screenshots
- shipping-product: fenix
- screenshots: true
- cron: true
- description: Run UI screenshots tests to keep them up to date
- dependencies:
- signed-apk-debug-apk: signing-apk-fenix-debug
- signed-apk-android-test: signing-apk-fenix-android-test-debug
- run:
- secrets:
- - name: project/mobile/firefox-android/fenix/firebase
- key: firebaseToken
- path: .firebase_token.json
- json: true
- pre-commands:
- - ["cd", "mobile/android/fenix"]
- commands:
- - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
- - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
- - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-screenshots-tests, app.apk, --apk_test, android-test.apk]
- treeherder:
- platform: 'fenix-ui-test/opt'
- symbol: fenix-debug(screenshots-arm)
- worker:
- env:
- GOOGLE_PROJECT: moz-fenix
- fenix-arm-beta:
- attributes:
- build-type: fenix-beta-firebase
- shipping-product: fenix
- description: Test Fenix
- dependencies:
- signed-apk-debug-apk: signing-apk-fenix-beta-firebase
- signed-apk-android-test: signing-apk-fenix-android-test-beta
- run-on-projects: [release]
- run:
- secrets:
- - name: project/mobile/firefox-android/fenix/firebase
- key: firebaseToken
- path: .firebase_token.json
- json: true
- pre-commands:
- - ["cd", "mobile/android/fenix"]
- commands:
- - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
- - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
- - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-beta, app.apk, --apk_test, android-test.apk]
- treeherder:
- platform: 'fenix-ui-test/opt'
- symbol: fenix-beta(ui-test-arm-beta)
- worker:
- env:
- GOOGLE_PROJECT: moz-fenix
- fenix-arm-nightly:
- attributes:
- build-type: fenix-nightly-firebase
- shipping-product: fenix
- description: Test Fenix
- dependencies:
- signed-apk-debug-apk: signing-apk-fenix-nightly-firebase
- signed-apk-android-test: signing-apk-fenix-android-test-nightly
- run-on-projects: [trunk]
- run:
- secrets:
- - name: project/mobile/firefox-android/fenix/firebase
- key: firebaseToken
- path: .firebase_token.json
- json: true
- pre-commands:
- - ["cd", "mobile/android/fenix"]
- commands:
- - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
- - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
- - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-start-test, app.apk, --apk_test, android-test.apk]
- treeherder:
- platform: 'fenix-ui-test/opt'
- symbol: fenix-nightly(ui-test-arm-nightly)
- worker:
- env:
- GOOGLE_PROJECT: moz-fenix
- fenix-legacy-arm:
- attributes:
- build-type: fenix-legacy
- legacy: true
- shipping-product: fenix
- description: Run select UI tests on legacy Android devices and API levels
- dependencies:
- signed-apk-debug-apk: signing-apk-fenix-debug
- signed-apk-android-test: signing-apk-fenix-android-test-debug
- run:
- secrets:
- - name: project/mobile/firefox-android/fenix/firebase
- key: firebaseToken
- path: .firebase_token.json
- json: true
- pre-commands:
- - ["cd", "mobile/android/fenix"]
- commands:
- - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
- - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
- - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-legacy-api-tests, app.apk, --apk_test, android-test.apk]
- treeherder:
- platform: 'fenix-ui-test/opt'
- symbol: fenix-debug(legacy-arm)
- worker:
- env:
- GOOGLE_PROJECT: moz-fenix
-
- fenix-robo-arm-debug:
- attributes:
- build-type: fenix-robo
- shipping-product: fenix
- description: Run Robo test on ARM devices
- dependencies:
- signed-apk-debug-apk: signing-apk-fenix-debug
- run:
- secrets:
- - name: project/mobile/firefox-android/fenix/firebase
- key: firebaseToken
- path: .firebase_token.json
- json: true
- pre-commands:
- - ["cd", "mobile/android/fenix"]
- commands:
- - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
- - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-robo-test, app.apk]
- treeherder:
- platform: 'fenix-ui-test/opt'
- symbol: fenix-debug(robo-arm)
- worker:
- env:
- GOOGLE_PROJECT: moz-fenix
diff --git a/taskcluster/ci/updatebot/kind.yml b/taskcluster/ci/updatebot/kind.yml
deleted file mode 100644
index 2a1bc00d42..0000000000
--- a/taskcluster/ci/updatebot/kind.yml
+++ /dev/null
@@ -1,92 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-kind-dependencies:
- - fetch
- - toolchain
-
-transforms:
- - gecko_taskgraph.transforms.release_notifications:transforms
- - gecko_taskgraph.transforms.job:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-jobs:
- cron:
- description: Cron Job for Updatebot
- run-on-projects: []
- treeherder:
- kind: other
- platform: updatebot/all
- symbol: cron
- tier: 1
- worker-type: b-linux-gcp
- worker:
- docker-image: {in-tree: updatebot}
- max-run-time: 4500
- taskcluster-proxy: true
- scopes:
- - secrets:get:project/updatebot/{level}/try-sshkey
- - secrets:get:project/updatebot/{level}/phabricator-token
- - secrets:get:project/updatebot/{level}/bugzilla-api-key
- - secrets:get:project/updatebot/{level}/database-password
- - secrets:get:project/updatebot/{level}/sentry-url
- - secrets:get:project/updatebot/{level}/sql-proxy-config
- - hooks:trigger-hook:project-gecko/in-tree-action-1-generic/*
- run:
- using: run-task
- command: /builds/worker/run.py /builds/worker/checkouts/gecko /builds/worker/updatebot
- notifications:
- subject: 'updatebot cron failed'
- message: 'updatebot cron failed'
- status-types:
- - on-failed
- - on-exception
- emails: ["tom@mozilla.com", "fbraun@mozilla.com"]
- fetches:
- toolchain:
- - linux64-rust
- - linux64-cargo-vet
-
- cron-win:
- description: Cron Job for Updatebot (Windows)
- run-on-projects: []
- treeherder:
- kind: other
- platform: updatebot/all
- symbol: w-cron
- tier: 1
- worker-type: b-win2022
- worker:
- max-run-time: 4500
- taskcluster-proxy: true
- # begin _GENERATE_DEPOT_TOOLS_BINARIES_
- # artifacts:
- # - type: directory
- # name: public/depot_tools.zip
- # path: build\src\obj-build\depot_tools
- # end _GENERATE_DEPOT_TOOLS_BINARIES_
- env:
- TOOLTOOL_MANIFEST: "taskcluster/ci/updatebot/tooltool-manifests/updatebot.manifest"
- MSYSTEM: "MINGW64"
- run:
- using: run-task
- cwd: '{checkout}'
- command: ./taskcluster/docker/updatebot/windows-setup.sh
- tooltool-downloads: internal
- scopes:
- - secrets:get:project/updatebot/{level}/try-sshkey
- - secrets:get:project/updatebot/{level}/phabricator-token
- - secrets:get:project/updatebot/{level}/bugzilla-api-key
- - secrets:get:project/updatebot/{level}/database-password
- - secrets:get:project/updatebot/{level}/sentry-url
- - secrets:get:project/updatebot/{level}/sql-proxy-config
- - hooks:trigger-hook:project-gecko/in-tree-action-1-generic/*
- fetches:
- fetch:
- - cloud-sql-proxy-1.25.0
- - php-windows-7.4.24
- - arcanist
- - depot_tools
diff --git a/taskcluster/ci/upload-generated-sources/kind.yml b/taskcluster/ci/upload-generated-sources/kind.yml
deleted file mode 100644
index 86123d336d..0000000000
--- a/taskcluster/ci/upload-generated-sources/kind.yml
+++ /dev/null
@@ -1,42 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-transforms:
- - taskgraph.transforms.from_deps
- - gecko_taskgraph.transforms.upload_generated_sources
- - gecko_taskgraph.transforms.job
- - gecko_taskgraph.transforms.task
-
-kind-dependencies:
- - build
-
-only-for-attributes:
- - nightly
- - shippable
- - upload-generated-sources
-
-not-for-build-platforms:
- - macosx64-shippable/opt
- - macosx64-devedition/opt
-
-jobs:
- upload-generated-sources:
- description: Upload generated source files from build
- from-deps:
- group-by: single-with-filters
- worker-type: t-linux-xlarge
- treeherder:
- symbol: Ugs
- kind: build
- worker:
- docker-image: {in-tree: "lint"}
- max-run-time: 600
- run:
- using: mach
- mach: {artifact-reference: "python --virtualenv upload-generated-sources build/upload_generated_sources.py <build/public/build/target.generated-files.tar.gz>"}
- sparse-profile: upload-generated-sources
- scopes:
- - secrets:get:project/releng/gecko/build/level-{level}/gecko-generated-sources-upload
diff --git a/taskcluster/ci/valgrind/kind.yml b/taskcluster/ci/valgrind/kind.yml
deleted file mode 100644
index 9ccff4188f..0000000000
--- a/taskcluster/ci/valgrind/kind.yml
+++ /dev/null
@@ -1,65 +0,0 @@
-# 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/.
----
-loader: gecko_taskgraph.loader.transform:loader
-
-kind-dependencies:
- - toolchain
-
-transforms:
- - gecko_taskgraph.transforms.build_attrs:transforms
- - gecko_taskgraph.transforms.build_lints:transforms
- - gecko_taskgraph.transforms.job:transforms
- - gecko_taskgraph.transforms.task:transforms
-
-job-defaults:
- attributes:
- retrigger: true
- use-python: default
-
-jobs:
- linux64-valgrind-qr/opt-swr:
- description: "Linux64 Valgrind Opt WebRender"
- index:
- product: firefox
- job-name: linux64-valgrind-qr/opt-swr
- treeherder:
- platform: linux64-qr/opt
- symbol: V-swr
- kind: build
- tier: 1
- worker-type: t-linux-kvm
- worker:
- docker-image: {in-tree: valgrind-build}
- max-run-time: 72000
- env:
- NEED_XVFB: "true"
- PERFHERDER_EXTRA_OPTIONS: valgrind
- run:
- using: mozharness
- actions: [get-secrets, build, valgrind-test]
- custom-build-variant-cfg: valgrind
- config:
- - builds/releng_base_firefox.py
- - builds/releng_base_linux_64_builds.py
- extra-config:
- extra_prefs: [gfx.webrender.software=true]
- script: "mozharness/scripts/fx_desktop_build.py"
- secrets: true
- tooltool-downloads: public
- use-sccache: true
- fetches:
- toolchain:
- - linux64-clang
- - linux64-rust
- - linux64-cbindgen
- - linux64-dump_syms
- - linux64-sccache
- - linux64-nasm
- - linux64-node
- - linux64-pkgconf
- - sysroot-x86_64-linux-gnu
- - sysroot-wasm32-wasi
- optimization:
- skip-unless-expanded: null
diff --git a/taskcluster/config.yml b/taskcluster/config.yml
new file mode 100644
index 0000000000..3c3ad2f5f4
--- /dev/null
+++ b/taskcluster/config.yml
@@ -0,0 +1,1092 @@
+# 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/.
+---
+trust-domain: gecko
+project-repo-param-prefix: ''
+product-dir: 'browser'
+treeherder:
+ group-names:
+ 'cram': 'Cram tests'
+ 'js-bench-sm': 'JavaScript shell benchmarks with Spidermonkey'
+ 'js-bench-v8': 'JavaScript shell benchmarks with Google V8'
+ 'node': 'Node tests'
+ 'py3': 'Python 3 unit tests'
+ 'A': 'Android Gradle tests'
+ 'Bpgo': 'Profile-guided optimization builds'
+ 'Btime': 'Browsertime performance tests on Firefox'
+ 'Btime-cache': 'Browsertime performance tests on Firefox with populated bytecode cache.'
+ 'Btime-1proc': 'Browsertime performance tests on Firefox without e10s'
+ 'Btime-nofis': 'Browsertime tests on Firefox without fission enabled'
+ 'Btime-P-nofis': 'Browsertime power tests on Firefox without fission enabled'
+ 'Btime-Prof-nofis': 'Browsertime tests on Firefox with profiling and without fission enabled'
+ 'Btime-P-nofis-refbrow': 'Browsertime Power Usage Tests on reference browser without fission enabled'
+ 'Btime-P-nofis-fenix': 'Browsertime Power Usage Tests on Fenix without fission enabled'
+ 'Btime-live-nofis-fenix': 'Browsertime tests on Fenix without fission enabled using live sites'
+ 'Btime-nofis-fenix': 'Browsertime tests on Fenix without fission enabled'
+ 'Btime-webext-nofis-fenix': 'Browsertime performance tests on Fenix with extensions and without fission enabled'
+ 'Btime-webext': 'Browsertime performance tests on Firefox with extensions'
+ 'Btime-live-nofis': 'Browsertime tests on Firefox without fission enabled using live sites'
+ 'Btime-nofis-refbrow': 'Browsertime tests on reference browser without fission enabled'
+ 'Btime-live-nofis-ChR': 'Browsertime tests on Chrome without fission enabled using live sites'
+ 'Btime-Prof': 'Browsertime performance tests on Firefox with Gecko Profiling'
+ 'Btime-Prof-1proc': 'Browsertime performance tests on Firefox with Gecko Profiling and without e10s'
+ 'Btime-live': 'Browsertime performance tests on Firefox'
+ 'Btime-live-fenix': 'Browsertime performance tests on Firefox'
+ 'Btime-live-ChR': 'Browsertime performance tests on Google Chrome Release'
+ 'Btime-live-Saf': 'Browsertime performance tests on Safari'
+ 'Btime-ChR': 'Browsertime performance tests on Google Chrome Release'
+ 'Btime-nofis-ChR': 'Browsertime performance tests on Google Chrome Release without fission enabled'
+ 'Btime-P': 'Browsertime power tests on Firefox/Geckoview'
+ 'Btime-P-fenix': 'Browsertime power tests on Fenix'
+ 'Btime-P-refbrow': 'Browsertime power tests on reference browser'
+ 'Btime-fenix': 'Browsertime performance tests on Fenix'
+ 'Btime-refbrow': 'Browsertime performance tests on the reference browser'
+ 'Btime-Saf': 'Browsertime performance tests on Safari'
+ 'Btime-CaR': 'Browsertime performance tests on Chromium-as-Release'
+ 'Btime-nofis-CaR': 'Browsertime performance tests on Chromium-as-Release without fission enabled'
+ 'Fetch': 'Fetch and store content'
+ 'Fxfn': 'Firefox functional tests'
+ 'l10n-bump': 'L10n Bumper'
+ 'M': 'Mochitests'
+ 'M-cf': 'Mochitests confirm failure'
+ 'M-condprof': "Mochitests with conditioned profile"
+ 'M-condprof-cf': "Mochitests confirm failure with conditioned profile"
+ 'M-fis-hv': "Mochitests that run on Fission with isolateHighValue isolation strategy (Android-specific)"
+ 'M-fis-hv-cf': "Mochitests confirm failure with Fission and isolateHighValue isolation strategy (Android-specific)"
+ 'M-headless': 'Headless Mochitests'
+ 'M-headless-cf': 'Headless Mochitests confirm failure'
+ 'M-headless-spi-nw': 'Headless Mochitests with fission and socketprocess networking.'
+ 'M-headless-spi-nw-cf': 'Headless Mochitests confirm failure with fission and socketprocess networking.'
+ 'M-http3': 'Mochitests with Http/3 server'
+ 'M-http3-cf': 'Mochitests confirm failure with Http/3 server'
+ 'M-http2': 'Mochitests with Http/2 server'
+ 'M-http2-cf': 'Mochitests confirm failure with Http/2 server'
+ 'M-aab': 'Mochitests with AAB test_runner.'
+ 'M-aab-cf': 'Mochitests confirm failure with AAB test_runner.'
+ 'M-aab-nofis': 'Mochitests with AAB test_runner without fission enabled.'
+ 'M-aab-nofis-cf': 'Mochitests confirm failure with AAB test_runner without fission enabled.'
+ 'M-1proc': 'Mochitests without e10s or fission'
+ 'M-1proc-cf': 'Mochitests confirm failure without e10s or fission'
+ 'M-a11y-checks': 'Mochitests with accessibility checks enabled'
+ 'M-a11y-checks-cf': 'Mochitests confirm failure with accessibility checks enabled'
+ 'M-xorig': 'Mochitests with cross-origin and fission enabled'
+ 'M-xorig-cf': 'Mochitests confirm failure with cross-origin and fission enabled'
+ 'M-gli': 'Mochitests with WebGL over IPC'
+ 'M-gli-cf': 'Mochitests confirm failure with WebGL over IPC'
+ 'M-nofis': 'Mochitests without fission enabled'
+ 'M-nofis-cf': 'Mochitests confirm failure without fission enabled'
+ 'M-nofis-ship': "Mochitests without fission and with SHIP (session history in parent) enabled (Android-specific)"
+ 'M-nofis-ship-cf': "Mochitests confirm failure: no fission + with SHIP (session history in parent) on (Android-only)"
+ 'M-spi': 'Mochitests with socket process'
+ 'M-spi-cf': 'Mochitests confirm failure with socket process'
+ 'M-spi-nofis': 'Mochitests with socket process without fission enabled'
+ 'M-spi-nofis-cf': 'Mochitests confirm failure with socket process without fission enabled'
+ 'M-spi-nw': 'Mochitests with networking on socket process'
+ 'M-spi-nw-cf': 'Mochitests confirm failure with networking on socket process'
+ 'M-spi-nw-nofis': 'Mochitests with networking on socket process without fission enabled'
+ 'M-spi-nw-nofis-cf': 'Mochitests confirm failure with networking on socket process without fission enabled'
+ 'M-spi-nw-1proc': 'Mochitests with networking on socket process without e10s'
+ 'M-spi-nw-1proc-cf': 'Mochitests confirm failure with networking on socket process without e10s'
+ 'M-swr': 'Mochitests with software webrender enabled'
+ 'M-swr-cf': 'Mochitests confirm failure with software webrender enabled'
+ 'M-swr-a11y-checks': 'Mochitests with software webrender and accessibility checks enabled'
+ 'M-swr-a11y-checks-cf': 'Mochitests confirm failure with software webrender and accessibility checks enabled'
+ 'M-swr-1proc': 'Mochitests with software webrender enabled without e10s'
+ 'M-swr-1proc-cf': 'Mochitests confirm failure with software webrender enabled without e10s'
+ 'M-swr-nofis': 'Mochitests with software webrender without fission enabled'
+ 'M-swr-nofis-cf': 'Mochitests confirm failure with software webrender without fission enabled'
+ 'M-wmfme': 'Mochitests with Windows Media Foundation media engine enabled'
+ 'M-wmfme-cf': 'Mochitests confirm failure with Windows Media Foundation media engine enabled'
+ 'M-mda-gpu': 'Mochitests Media on GPU worker'
+ 'M-mda-gpu-cf': 'Mochitests confirm failure Media on GPU worker'
+ 'M-f': 'Mochitest failures'
+ 'M-f-swr': 'Mochitest failures software webrender'
+ 'M-f-cf': 'Mochitest failures w/confirm failure'
+ 'M-f-swr-cf': 'Mochitest failures software webrender w/confirm failure'
+ 'M-msix': 'Mochitests from MSIX builds'
+ 'M-msix-cf': 'Mochitests confirm failure from MSIX builds'
+ 'MSI': 'Repack installers into MSIs'
+ 'MSIs': 'Signing of Repacked installers of MSIs'
+ 'MSIX': 'Repack into MSIX package'
+ 'MSIXs': 'Signing of Repack into MSIX package'
+ 'Pup': "Puppeteer tests"
+ 'R': 'Reftests'
+ 'R-cf': 'Reftests confirm failure'
+ 'R-s': 'Reftest snapshot'
+ 'R-s-cf': 'Reftest snapshot with confirm failure'
+ 'R-nofis': 'Reftests without fission enabled'
+ 'R-nofis-cf': 'Reftests confirm failure without fission enabled'
+ 'R-nofis-ship': 'Reftests without fission and with SHIP (session history in parent) enabled (Android specific)'
+ 'R-nofis-ship-cf': 'Reftests confirm failure: no fission + with SHIP (session history in parent) on (Android-only)'
+ 'R-swr': 'Reftests with software webrender enabled'
+ 'R-swr-cf': 'Reftests confirm failure with software webrender enabled'
+ 'R-swr-nofis': 'Reftests with software webrender enabled without fission enabled'
+ 'R-swr-nofis-cf': 'Reftests confirm failure with software webrender enabled without fission enabled'
+ 'R-wr-dc0': 'Reftests with dcomp disabled'
+ 'R-wr-dc0-cf': 'Reftests confirm failure with dcomp disabled'
+ 'R-wr-dc1-p': 'Reftests with dcomp present but not overlays'
+ 'R-wr-dc1-p-cf': 'Reftests confirm failure with dcomp present but not overlays'
+ 'R-wr-dc2-o': 'Reftests with dcomp overlays but not compositing'
+ 'R-wr-dc2-o-cf': 'Reftests confirm failure with dcomp overlays but not compositing'
+ 'R-wr-dc3-c': 'Reftests with dcomp compositing'
+ 'R-wr-dc3-c-cf': 'Reftests confirm failure with dcomp compositing'
+ 'Rap': 'Raptor performance tests on Firefox'
+ 'Rap-live': 'Raptor performance tests on Firefox with live sites'
+ 'Rap-Prof': 'Raptor performance tests on Firefox with Gecko Profiling'
+ 'Rap-ChR': 'Raptor performance tests on Google Chrome Release'
+ 'Rap-refbrow': 'Raptor performance tests on the reference browser'
+ 'T': 'Talos performance tests'
+ 'T-gli': 'Talos performance tests with WebGL over IPC'
+ 'T-Prof': 'Talos performance tests on Firefox with Gecko Profiling'
+ 'T-Prof-gli': 'Talos performance tests with WebGL over IPC and Gecko Profiling'
+ 'T-swr': 'Talos performance tests with software webrender enabled'
+ 'tt': 'Telemetry tests'
+ 'tt-nofis': 'Telemetry tests without fission enabled'
+ 'SY': 'Are we slim yet tests by TaskCluster'
+ 'W': 'Web platform tests'
+ 'W-cf': 'Web platform tests confirm failure'
+ 'W-nofis': 'Web platform tests without fission enabled'
+ 'W-nofis-cf': 'Web platform tests confirm failure without fission enabled'
+ 'W-nofis-ship': 'Web platform tests without fission and with SHIP enabled'
+ 'W-nofis-ship-cf': 'Web platform tests confirm failure without fission and with SHIP enabled'
+ 'W-headless': 'Headless web platform tests'
+ 'W-headless-cf': 'Headless web platform tests confirm failure'
+ 'W-swr-nofis': 'Web platform tests with software webrender enabled without fission enabled'
+ 'W-swr-nofis-cf': 'Web platform tests confirm failure with software webrender enabled without fission enabled'
+ 'W-swr': 'Web platform tests with software webrender enabled'
+ 'W-swr-cf': 'Web platform tests confirm falure with software webrender enabled'
+ 'W-b': 'Web platform tests (backlog)'
+ 'W-b-nofis': 'Web platform tests (backlog) without fission enabled'
+ 'W-pb': 'Web platform tests with private browsing enabled'
+ 'X': 'Xpcshell tests'
+ 'X-cf': 'Xpcshell tests confirm failure'
+ 'X-condprof': 'Xpcshell tests with a conditioned profile'
+ 'X-condprof-cf': 'Xpcshell tests confirm failure with a conditioned profile'
+ 'X-nofis': 'Xpcshell tests without fission enabled'
+ 'X-nofis-cf': 'Xpcshell tests confirm failure without fission enabled'
+ 'X-nofis-ship': 'Xpcshell tests without fission and with SHIP (session history in parent) enabled (Android specific)'
+ 'X-nofis-ship-cf': 'Xpcshell confirm failure: no fission + with SHIP (session history in parent) on (Android-only)'
+ 'X-spi-nw': 'Xpcshell tests with networking on socket process'
+ 'X-spi-nw-cf': 'Xpcshell tests confirm failure with networking on socket process'
+ 'X-spi-nw-nofis': 'Xpcshell tests with networking on socket process without fission enabled'
+ 'X-spi-nw-nofis-cf': 'Xpcshell tests confirm failure with networking on socket process without fission enabled'
+ 'X-f': 'Xpcshell tests that fail on a given config'
+ 'X-f-spi-nw': 'Xpcshell tests that fail on a given config w/socket process'
+ 'X-msix': 'Xpcshell tests on msix packages'
+ 'X-msix-cf': 'Xpcshell tests confirm failure on msix packages'
+ 'L10n': 'Localised Repacks'
+ 'L10n-Rpk': 'Localized Repackaged Repacks'
+ 'deb-L10n': 'Localized Debian Repacks'
+ 'BM': 'Beetmover'
+ 'BMR': 'Beetmover repackages'
+ 'BM-apt': 'Beetmover .deb packages'
+ 'c-Up': 'Balrog submission of complete updates'
+ 'css': 'Checksum signing for source'
+ 'rs': 'Repackage signing'
+ 'BMcs': 'Beetmover checksums'
+ 'BMcslang': 'Beetmover checksums for language packs'
+ 'BMcss': 'Beetmover checksums for source'
+ 'Deb8': 'Packages for Debian 8'
+ 'Deb8-32': 'Packages for Debian 8 32-bits'
+ 'Deb9': 'Packages for Debian 9'
+ 'Deb10': 'Packages for Debian 10'
+ 'Deb11': 'Packages for Debian 11'
+ 'Deb12': 'Packages for Debian 12'
+ 'Ub18': 'Packages for Ubuntu 18.04'
+ 'Ub20': 'Packages for Ubuntu 20.04'
+ 'Ub22': 'Packages for Ubuntu 22.04'
+ 'I': 'Docker Image Builds'
+ 'TA': 'Toolchain builds for Android'
+ 'TL': 'Toolchain builds for Linux 64-bits'
+ 'TL32': 'Toolchain builds for Linux 32-bits'
+ 'TM': 'Toolchain builds for OSX'
+ 'TMW': 'Toolchain builds for Windows MinGW'
+ 'TW32': 'Toolchain builds for Windows 32-bits'
+ 'TW64': 'Toolchain builds for Windows 64-bits'
+ 'WMC32': 'MinGW-Clang builds for Windows 32-bits'
+ 'WMC64': 'MinGW-Clang builds for Windows 64-bits'
+ 'Searchfox': 'Searchfox builds'
+ 'SM': 'Spidermonkey builds'
+ 'p': 'Partial generation'
+ 'ps': 'Partials signing'
+ 'ms': 'Complete MAR signing'
+ 'ms-stage': 'Autograph-stage MAR signing test'
+ 'Rel': 'Release promotion'
+ 'Snap': 'Snap image generation'
+ 'Flatpak': 'Flatpak image generation'
+ 'langpack': 'Langpack sigatures and uploads'
+ 'TPS': 'Sync tests'
+ 'UV': 'Update verify'
+ 'UVnext': 'Update verify for esr-next'
+ 'pydep': 'python dependency update'
+ 'WR': 'WebRender standalone'
+ 'Wgpu': 'WebGPU standalone'
+ 'cpp': 'C/C++ checks'
+ 'pedantic': 'pedantic checks'
+ 'text': 'Check on texts'
+ 'misc': 'Misc checks'
+ 'js': 'JavaScript checks'
+ 'py': 'Python checks'
+ 'java': 'Java checks'
+ 'rust': 'Rust checks'
+ 'Static-Analysis': 'Full tree static-analysis'
+ 'SS': 'Shadow scheduler'
+ 'Sel': 'Selenium Snap tests'
+ 'Sentry': 'Sentry synchronization'
+ 'test-info': 'Test manifest skip/fail information'
+ 'condprof': 'Conditioned Profile Builder'
+ 'doc': 'Documentation'
+ 'perftest': 'Performance tests'
+ 'perftest-detect': 'Performance regression detection tooling'
+ 'perftest-chrome': 'Performance tests using Chrone'
+ 'perftest-http3': 'Performance tests with HTTP/3'
+ 'l10n': 'Localization checks'
+ 'fxrec': 'Desktop startup recorder (fxrecord)'
+ 'wc': 'webcompat'
+ 'Boot': 'Bootstrap'
+ 'Attr-L10n': 'Build Attribution'
+ 'android-l10n': 'Import strings from android-l10n repo'
+
+ # The below symbols are from firefox-android (fenix/focus/android-components)
+ 'buildconfig': 'Make sure the content of .buildconfig.yml matches what gradle knows about its projects'
+ 'compare-locales': 'Validate strings.xml with compare-locales'
+ 'detekt': 'detekt linter'
+ 'ktlint': 'ktlint linter'
+ 'lint': 'gradle lint linter'
+
+ 'focus': 'Focus general tasks no matter the variant'
+ 'focus-beta': 'Focus beta-related tasks'
+ 'focus-debug': 'Focus builds made for testing'
+ 'focus-nightly': 'Focus nightly-related tasks'
+ 'focus-release': 'Focus production-related tasks'
+
+ 'fenix': 'Fenix general tasks no matter the variant'
+ 'fenix-beta': 'Fenix beta-related tasks'
+ 'fenix-debug': 'Fenix builds made for testing'
+ 'fenix-nightly': 'Fenix nightly-related tasks'
+ 'fenix-nightlySim': 'Nightly-related tasks that run on each github push'
+ 'fenix-release': 'Fenix production-related tasks'
+
+ # This list is based on mobile/android/android-components/.buildconfig.yml except the exceptions down below
+ 'browser-domains': 'browser-domains'
+ 'browser-engine-gecko': 'browser-engine-gecko'
+ 'browser-engine-system': 'browser-engine-system'
+ 'browser-errorpages': 'browser-errorpages'
+ 'browser-icons': 'browser-icons'
+ 'browser-menu': 'browser-menu'
+ 'browser-menu2': 'browser-menu2'
+ 'browser-session-storage': 'browser-session-storage'
+ 'browser-state': 'browser-state'
+ 'browser-storage-sync': 'browser-storage-sync'
+ 'browser-tabstray': 'browser-tabstray'
+ 'browser-thumbnails': 'browser-thumbnails'
+ 'browser-toolbar': 'browser-toolbar'
+ 'browser-toolbar2': 'browser-toolbar2'
+ 'compose-awesomebar': 'compose-engine'
+ 'compose-browser-toolbar': 'awesomebar-browser-toolbar'
+ 'compose-engine': 'compose-engine'
+ 'compose-tabstray': 'compose-tabstray'
+ 'concept-awesomebar': 'concept-awesomebar'
+ 'concept-base': 'concept-base'
+ 'compose-cfr': 'compose-cfr'
+ 'concept-engine': 'concept-engine'
+ 'concept-fetch': 'concept-fetch'
+ 'concept-menu': 'concept-menu'
+ 'concept-push': 'concept-push'
+ 'concept-storage': 'concept-storage'
+ 'concept-sync': 'concept-sync'
+ 'concept-tabstray': 'concept-tabstray'
+ 'concept-toolbar': 'concept-toolbar'
+ 'feature-accounts-push': 'feature-accounts-push'
+ 'feature-accounts': 'feature-accounts'
+ 'feature-addons': 'feature-addons'
+ 'feature-app-links': 'feature-app-links'
+ 'feature-autofill': 'feature-autofill'
+ 'feature-awesomebar': 'feature-awesomebar'
+ 'feature-containers': 'feature-containers'
+ 'feature-contextmenu': 'feature-contextmenu'
+ 'feature-customtabs': 'feature-customtabs'
+ 'feature-downloads': 'feature-downloads'
+ 'feature-findinpage': 'feature-findinpage'
+ 'feature-fxsuggest': 'feature-fxsuggest'
+ 'feature-intent': 'feature-intent'
+ 'feature-logins': 'feature-logins'
+ 'feature-media': 'feature-media'
+ 'feature-privatemode': 'feature-privatemode'
+ 'feature-prompts': 'feature-prompts'
+ 'feature-push': 'feature-push'
+ 'feature-pwa': 'feature-pwa'
+ 'feature-qr': 'feature-qr'
+ 'feature-readerview': 'feature-readerview'
+ 'feature-recentlyclosed': 'feature-recentlyclosed'
+ 'feature-search': 'feature-search'
+ 'feature-serviceworker': 'feature-serviceworker'
+ 'feature-session': 'feature-session'
+ 'feature-share': 'feature-share'
+ 'feature-sitepermissions': 'feature-sitepermissions'
+ 'feature-syncedtabs': 'feature-syncedtabs'
+ 'feature-tab-collections': 'feature-tab-collections'
+ 'feature-tabs': 'feature-tabs'
+ 'feature-toolbar': 'feature-toolbar'
+ 'feature-top-sites': 'feature-top-sites'
+ 'feature-webauthn': 'feature-webauthn'
+ 'feature-webcompat': 'feature-webcompat'
+ 'feature-webnotifications': 'feature-webnotifications'
+ 'lib-crash': 'lib-crash'
+ 'lib-auth': 'lib-auth'
+ 'lib-crash-sentry': 'lib-crash-sentry'
+ 'lib-crash-sentry-legacy': 'lib-crash-sentry-legacy'
+ 'lib-dataprotect': 'lib-dataprotect'
+ 'lib-fetch-okhttp': 'lib-fetch-okhttp'
+ 'lib-jexl': 'lib-jexl'
+ 'lib-publicsuffixlist': 'lib-publicsuffixlist'
+ 'lib-push-firebase': 'lib-push-firebase'
+ 'lib-state': 'lib-state'
+ 'samples-compose-browser': 'samples-compose-browser'
+ 'samples-crash': 'samples-crash'
+ 'samples-dataprotect': 'samples-dataprotect'
+ 'samples-firefox-accounts': 'samples-firefox-accounts'
+ 'samples-glean-library': 'samples-glean-library'
+ 'samples-glean': 'samples-glean'
+ 'samples-sync-logins': 'samples-sync-logins'
+ 'samples-sync': 'samples-sync'
+ 'samples-toolbar': 'samples-toolbar'
+ 'service-contile': 'service-contile'
+ 'service-digitalassetlinks': 'service-digitalassetlinks'
+ 'service-experiments': 'service-experiments'
+ 'service-firefox-accounts': 'service-firefox-accounts'
+ 'service-fretboard': 'service-fretboard'
+ 'service-glean': 'service-glean'
+ 'service-location': 'service-location'
+ 'service-nimbus': 'service-nimbus'
+ 'service-pocket': 'service-pocket'
+ 'service-sync-autofill': 'service-sync-autofill'
+ 'service-sync-logins': 'service-sync-logins'
+ 'support-android-test': 'support-android-test'
+ 'support-base': 'support-base'
+ 'support-images': 'support-images'
+ 'support-ktx': 'support-ktx'
+ 'support-license': 'support-license'
+ 'support-locale': 'support-locale'
+ 'support-migration': 'support-migration'
+ 'support-remotesettings': 'support-remotesettings'
+ 'support-rusthttp': 'support-rusthttp'
+ 'support-rusterrors': 'support-rusterrors'
+ 'support-rustlog': 'support-rustlog'
+ 'support-sync-telemetry': 'support-sync-telemetry'
+ 'support-test-appservices': 'support-test-appservices'
+ 'support-test-fakes': 'support-test-fakes'
+ 'support-test-libstate': 'support-test-libstate'
+ 'support-test': 'support-test'
+ 'support-utils': 'support-utils'
+ 'support-webextensions': 'support-webextensions'
+ 'tooling-detekt': 'tooling-detekt'
+ 'tooling-fetch-tests': 'tooling-fetch-tests'
+ 'tooling-lint': 'tooling-lint'
+ 'ui-autocomplete': 'ui-autocomplete'
+ 'ui-colors': 'ui-colors'
+ 'ui-fonts': 'ui-fonts'
+ 'ui-icons': 'ui-icons'
+ 'ui-tabcounter': 'ui-tabcounter'
+ 'ui-widgets': 'ui-widgets'
+
+ # These ones are too long to fit in 25 chars
+ 'lib-fetch-httpurlconnecti': 'lib-fetch-httpurlconnection'
+ 'feature-webcompat-reporte': 'feature-webcompat-reporter'
+
+ # Groups aren't generated off buildconfig.yml:
+ 'samples-browser': 'samples-browser'
+ 'samples-browser-gecko': 'samples-browser-gecko'
+ 'samples-browser-system': 'samples-browser-system'
+
+ # forPerformanceTest: Builds made for Raptor and other performance tests
+ 'Rap-P': 'Raptor power tests'
+
+index:
+ products:
+ - 'firefox'
+ - 'fennec'
+ - 'mobile'
+ - 'static-analysis'
+ - 'devedition'
+ - 'source'
+ - 'system-symbols'
+ - 'geckodriver'
+
+try:
+ # We have a few platforms for which we want to do some "extra" builds, or at
+ # least build-ish things. Sort of. Anyway, these other things are implemented
+ # as different "platforms". These do *not* automatically ride along with "-p
+ # all"
+ ridealong-builds:
+ 'linux':
+ - 'sm-plain-linux32'
+ - 'sm-arm-sim-linux32'
+ 'linux64':
+ - 'sm-plain-linux64'
+ - 'sm-nojit-linux64'
+ - 'sm-nonunified-linux64'
+ - 'sm-arm-sim-linux32'
+ - 'sm-arm64-sim-linux64'
+ - 'sm-compacting-linux64'
+ - 'sm-rootanalysis-linux64'
+ - 'sm-package-linux64'
+ - 'sm-tsan-linux64'
+ - 'sm-asan-linux64'
+ - 'sm-msan-linux64'
+ - 'sm-fuzzing-linux64'
+ 'win32':
+ - 'sm-plain-win32'
+ - 'sm-compacting-win32'
+
+release-promotion:
+ products:
+ - 'devedition'
+ - 'fennec'
+ - 'firefox'
+ - 'firefox-android'
+ rebuild-kinds:
+ - docker-image
+ - fetch
+ - packages
+ - toolchain
+ flavors:
+ promote_devedition:
+ product: devedition
+ target-tasks-method: promote_desktop
+ partial-updates: true
+ promote_firefox:
+ product: firefox
+ target-tasks-method: promote_desktop
+ partial-updates: true
+ promote_firefox_partner_repack:
+ product: firefox
+ rebuild-kinds:
+ - release-partner-repack
+ - release-partner-repack-chunking-dummy
+ - release-partner-repack-signing
+ - release-partner-repack-mac-signing
+ - release-partner-repack-mac-notarization
+ - release-partner-repack-repackage
+ - release-partner-repack-repackage-signing
+ - release-partner-repack-beetmover
+ target-tasks-method: promote_desktop
+ promote_firefox_partner_attribution:
+ product: firefox
+ rebuild-kinds:
+ - release-partner-attribution
+ - release-partner-attribution-beetmover
+ target-tasks-method: promote_desktop
+ promote_firefox_rc:
+ product: firefox
+ is-rc: true
+ target-tasks-method: promote_desktop
+ partial-updates: true
+ push_devedition:
+ product: devedition
+ target-tasks-method: push_desktop
+ partial-updates: true
+ push_firefox:
+ product: firefox
+ target-tasks-method: push_desktop
+ partial-updates: true
+ ship_devedition:
+ product: devedition
+ target-tasks-method: ship_desktop
+ version-bump: true
+ partial-updates: true
+ ship_firefox:
+ product: firefox
+ target-tasks-method: ship_desktop
+ version-bump: true
+ partial-updates: true
+ ship_firefox_rc:
+ product: firefox
+ is-rc: true
+ target-tasks-method: ship_desktop
+ partial-updates: true
+ promote_android:
+ product: firefox-android
+ target-tasks-method: promote_android
+ push_android:
+ product: firefox-android
+ target-tasks-method: push_android
+ ship_android:
+ product: firefox-android
+ target-tasks-method: ship_android
+
+
+merge-automation:
+ behaviors:
+ central-to-beta:
+ fetch-version-from: "browser/config/version.txt"
+ version-files:
+ - filename: "config/milestone.txt"
+ new-suffix: ''
+ - filename: "browser/config/version.txt"
+ new-suffix: ''
+ - filename: "browser/config/version_display.txt"
+ new-suffix: 'b1'
+ - filename: "mobile/android/version.txt"
+ new-suffix: 'b1'
+ replacements:
+ - - browser/config/mozconfigs/linux32/l10n-mozconfig
+ - ac_add_options --with-branding=browser/branding/nightly
+ - ac_add_options --enable-official-branding
+ - - browser/config/mozconfigs/linux64/l10n-mozconfig
+ - ac_add_options --with-branding=browser/branding/nightly
+ - ac_add_options --enable-official-branding
+ - - browser/config/mozconfigs/win32/l10n-mozconfig
+ - ac_add_options --with-branding=browser/branding/nightly
+ - ac_add_options --enable-official-branding
+ - - browser/config/mozconfigs/win64/l10n-mozconfig
+ - ac_add_options --with-branding=browser/branding/nightly
+ - ac_add_options --enable-official-branding
+ - - browser/config/mozconfigs/win64-aarch64/l10n-mozconfig
+ - ac_add_options --with-branding=browser/branding/nightly
+ - ac_add_options --enable-official-branding
+ - - browser/config/mozconfigs/macosx64/l10n-mozconfig
+ - ac_add_options --with-branding=browser/branding/nightly
+ - ac_add_options --enable-official-branding
+ merge-old-head: true
+ base-tag: 'FIREFOX_BETA_{major_version}_BASE'
+ end-tag: 'FIREFOX_BETA_{major_version}_END'
+ from-repo: 'https://hg.mozilla.org/mozilla-central'
+ from-branch: 'central'
+ to-repo: 'https://hg.mozilla.org/releases/mozilla-beta'
+ to-branch: 'beta'
+ early-to-late-beta:
+ fetch-version-from: "browser/config/version.txt"
+ version-files: []
+ replacements:
+ - - build/defines.sh
+ - EARLY_BETA_OR_EARLIER=1
+ - EARLY_BETA_OR_EARLIER=
+ merge-old-head: false
+ to-repo: 'https://hg.mozilla.org/releases/mozilla-beta'
+ to-branch: 'beta'
+ beta-to-release:
+ fetch-version-from: "browser/config/version.txt"
+ version-files:
+ - filename: "browser/config/version_display.txt"
+ new-suffix: ''
+ - filename: "mobile/android/version.txt"
+ new-suffix: ''
+ replacements: []
+ merge-old-head: true
+ base-tag: 'FIREFOX_RELEASE_{major_version}_BASE'
+ end-tag: 'FIREFOX_RELEASE_{major_version}_END'
+ from-repo: 'https://hg.mozilla.org/releases/mozilla-beta'
+ from-branch: 'beta'
+ to-repo: 'https://hg.mozilla.org/releases/mozilla-release'
+ to-branch: 'release'
+ release-to-esr:
+ fetch-version-from: "browser/config/version.txt"
+ version-files:
+ - filename: "browser/config/version_display.txt"
+ new-suffix: 'esr'
+ replacements: []
+ merge-old-head: false
+ end-tag: "FIREFOX_ESR_{major_version}_BASE"
+ to-repo: 'https://hg.mozilla.org/releases/mozilla-esr115'
+ to-branch: 'esr115'
+ bump-central:
+ fetch-version-from: "browser/config/version.txt"
+ version-files:
+ - filename: "config/milestone.txt"
+ version-bump: "major"
+ new-suffix: 'a1'
+ - filename: "browser/config/version.txt"
+ version-bump: "major"
+ new-suffix: 'a1'
+ - filename: "browser/config/version_display.txt"
+ version-bump: "major"
+ new-suffix: 'a1'
+ - filename: "mobile/android/version.txt"
+ version-bump: "major"
+ new-suffix: 'a1'
+ replacements:
+ - - "services/sync/modules/constants.sys.mjs"
+ - 'WEAVE_VERSION = "1.{current_weave_version}.0"'
+ - 'WEAVE_VERSION = "1.{next_weave_version}.0"'
+ merge-old-head: false
+ end-tag: 'FIREFOX_NIGHTLY_{major_version}_END'
+ to-repo: 'https://hg.mozilla.org/mozilla-central'
+ to-branch: 'central'
+ bump-esr115:
+ fetch-version-from: "browser/config/version.txt"
+ version-files:
+ - filename: "config/milestone.txt"
+ version-bump: "minor"
+ - filename: "browser/config/version.txt"
+ version-bump: "minor"
+ - filename: "browser/config/version_display.txt"
+ version-bump: "minor"
+ replacements: []
+ merge-old-head: false
+ to-repo: 'https://hg.mozilla.org/releases/mozilla-esr115'
+ to-branch: 'esr115'
+
+scriptworker:
+ # See additional configuration in taskcluster/gecko_taskgraph/util/scriptworker.py
+ scope-prefix: 'project:releng'
+
+partner-urls:
+ release-partner-repack:
+ by-release-product:
+ default: null
+ firefox:
+ by-release-type:
+ default: null
+ beta|release.*:
+ by-release-level:
+ production: 'git@github.com:mozilla-partners/repack-manifests.git'
+ staging: 'git@github.com:moz-releng-automation-stage/repack-manifests.git'
+ esr.*:
+ by-release-level:
+ production: 'git@github.com:mozilla-partners/esr-repack-manifests.git'
+ staging: 'git@github.com:moz-releng-automation-stage/esr-repack-manifests.git'
+ release-partner-attribution:
+ by-release-product:
+ default: null
+ firefox:
+ by-release-type:
+ default: null
+ beta|release.*:
+ by-release-level:
+ production: 'git@github.com:mozilla-partners/repack-manifests.git'
+ staging: 'git@github.com:moz-releng-automation-stage/repack-manifests.git'
+ esr.*:
+ by-release-level:
+ production: 'git@github.com:mozilla-partners/esr-repack-manifests.git'
+ staging: 'git@github.com:moz-releng-automation-stage/esr-repack-manifests.git'
+ release-eme-free-repack:
+ by-release-product:
+ default: null
+ firefox:
+ by-release-type:
+ default: null
+ beta|release.*:
+ by-release-level:
+ production: 'git@github.com:mozilla-partners/mozilla-EME-free-manifest.git'
+ staging: 'git@github.com:moz-releng-automation-stage/mozilla-EME-free-manifest.git'
+
+
+task-priority:
+ by-project:
+ 'mozilla-release': 'highest'
+ 'mozilla-esr.*': 'very-high'
+ 'mozilla-beta': 'high'
+ 'mozilla-central': 'medium'
+ 'autoland': 'low'
+ 'mozilla-inbound': 'low'
+ 'default': 'very-low'
+
+taskgraph:
+ register: gecko_taskgraph:register
+
+workers:
+ aliases:
+ b-linux-gcp-aarch64:
+ provisioner: '{trust-domain}-{level}'
+ implementation: generic-worker
+ os: linux
+ worker-type: '{alias}'
+ b-linux.*:
+ provisioner: '{trust-domain}-{level}'
+ implementation: docker-worker
+ os: linux
+ worker-type: '{alias}'
+ b-win2012:
+ provisioner: '{trust-domain}-{level}'
+ implementation: generic-worker
+ os: windows
+ worker-type: '{alias}-azure'
+ b-win2022:
+ provisioner: '{trust-domain}-{level}'
+ implementation: generic-worker
+ os: windows
+ worker-type: '{alias}'
+ image:
+ provisioner: '{trust-domain}-{level}'
+ implementation: docker-worker
+ os: linux
+ worker-type: '{alias}'
+ images:
+ provisioner: '{trust-domain}-{level}'
+ implementation: docker-worker
+ os: linux
+ worker-type: '{alias}'
+ images-gcp:
+ provisioner: '{trust-domain}-{level}'
+ implementation: docker-worker
+ os: linux
+ worker-type: '{alias}'
+ addon:
+ provisioner: scriptworker-k8s
+ implementation: push-addons
+ os: scriptworker
+ worker-type:
+ by-release-level:
+ production: '{trust-domain}-3-addon'
+ staging: '{trust-domain}-1-addon'
+ balrog:
+ provisioner: scriptworker-k8s
+ implementation: balrog
+ os: scriptworker
+ worker-type:
+ by-release-level:
+ production: '{trust-domain}-3-balrog'
+ staging: '{trust-domain}-1-balrog'
+ bouncer:
+ provisioner: scriptworker-k8s
+ # Note that this implementation doesn't correspond with an
+ # payload_builder, there are several `bouncer-*` implemenations.
+ implementation: bouncer
+ os: scriptworker
+ worker-type:
+ by-release-level:
+ production: '{trust-domain}-3-bouncer'
+ staging: '{trust-domain}-1-bouncer'
+ beetmover:
+ provisioner: scriptworker-k8s
+ implementation: beetmover
+ os: scriptworker
+ worker-type:
+ by-release-level:
+ production: '{trust-domain}-3-beetmover'
+ staging: '{trust-domain}-1-beetmover'
+ beetmover-android:
+ provisioner: scriptworker-k8s
+ implementation: scriptworker-beetmover
+ os: scriptworker
+ worker-type:
+ by-release-level:
+ production: '{trust-domain}-3-beetmover'
+ staging: '{trust-domain}-1-beetmover'
+ shipit:
+ provisioner: scriptworker-k8s
+ implementation: shipit
+ os: scriptworker
+ worker-type:
+ by-release-level:
+ production: '{trust-domain}-3-shipit'
+ staging: '{trust-domain}-1-shipit'
+ linux-depsigning:
+ provisioner: scriptworker-k8s
+ implementation: scriptworker-signing
+ os: linux
+ worker-type: '{trust-domain}-t-signing'
+ linux-signing:
+ provisioner: scriptworker-k8s
+ implementation: scriptworker-signing
+ os: linux
+ worker-type:
+ by-release-level:
+ production: '{trust-domain}-3-signing'
+ staging: '{trust-domain}-t-signing'
+ mac-depsigning:
+ provisioner: scriptworker-prov-v1
+ implementation: scriptworker-signing
+ os: macosx
+ worker-type: depsigning-mac-v1
+ mac-signing:
+ provisioner: scriptworker-prov-v1
+ implementation: scriptworker-signing
+ os: macosx
+ worker-type:
+ by-release-level:
+ production: signing-mac-v1
+ staging: depsigning-mac-v1
+ push-apk:
+ provisioner: scriptworker-k8s
+ implementation: scriptworker-pushapk
+ os: scriptworker
+ worker-type: '{trust-domain}-{level}-pushapk'
+ pushflatpak:
+ provisioner: scriptworker-k8s
+ implementation: push-flatpak
+ os: scriptworker
+ worker-type:
+ by-release-level:
+ staging: '{trust-domain}-1-pushflatpak'
+ production: '{trust-domain}-3-pushflatpak'
+ pushmsix:
+ provisioner: scriptworker-k8s
+ implementation: push-msix
+ os: scriptworker
+ worker-type:
+ by-release-level:
+ staging: '{trust-domain}-1-pushmsix'
+ production: '{trust-domain}-3-pushmsix'
+ tree:
+ provisioner: scriptworker-k8s
+ implementation: treescript
+ os: scriptworker
+ worker-type:
+ by-release-level:
+ production: '{trust-domain}-3-tree'
+ staging:
+ by-project:
+ autoland: '{trust-domain}-3-tree'
+ default: '{trust-domain}-1-tree'
+ tree-dev:
+ provisioner: scriptworker-k8s
+ implementation: treescript
+ os: scriptworker
+ worker-type: '{trust-domain}-1-tree-dev'
+ t-bitbar-gw.*:
+ provisioner: proj-autophone
+ implementation: generic-worker
+ os: linux-bitbar
+ worker-type: 'gecko-{alias}'
+ t-linux(-large|-xlarge|-xlarge-source):
+ provisioner: '{trust-domain}-t'
+ implementation: docker-worker
+ os: linux
+ worker-type: '{alias}-gcp'
+ t-linux(-large|-xlarge|-xlarge-source)-noscratch:
+ provisioner: '{trust-domain}-t'
+ implementation: docker-worker
+ os: linux
+ worker-type: '{alias}-gcp'
+ t-linux-kvm:
+ provisioner: '{trust-domain}-t'
+ implementation: docker-worker
+ os: linux
+ worker-type: 't-linux-kvm-noscratch-gcp'
+ t-linux-talos:
+ provisioner: releng-hardware
+ implementation: generic-worker
+ os: linux
+ worker-type: 'gecko-{alias}'
+ t-linux-talos-1804:
+ provisioner: releng-hardware
+ implementation: generic-worker
+ os: linux
+ worker-type: 'gecko-{alias}'
+ t-linux-wayland:
+ provisioner: '{trust-domain}-t'
+ implementation: generic-worker
+ os: linux
+ worker-type: 't-linux-vm-2204-wayland'
+ t-osx-1015-r8:
+ provisioner: releng-hardware
+ implementation: generic-worker
+ os: macosx
+ worker-type: 'gecko-{alias}'
+ t-osx-1100-m1:
+ provisioner: releng-hardware
+ implementation: generic-worker
+ os: macosx
+ worker-type: 'gecko-{alias}'
+ t-osx-1400-m2:
+ provisioner: releng-hardware
+ implementation: generic-worker
+ os: macosx
+ worker-type: 'gecko-{alias}'
+ t-osx-1015-power:
+ provisioner: releng-hardware
+ implementation: generic-worker
+ os: macosx
+ worker-type: 'gecko-{alias}'
+ t-linux-xlarge-pgo:
+ provisioner:
+ by-level:
+ '3': '{trust-domain}-{level}'
+ default: '{trust-domain}-t'
+ implementation: docker-worker
+ os: linux
+ worker-type: 't-linux-xlarge-noscratch-gcp'
+ b-osx-1015:
+ provisioner: releng-hardware
+ implementation: generic-worker
+ os: macosx
+ worker-type:
+ by-level:
+ '3': 'gecko-3-b-osx-1015'
+ default: 'gecko-1-b-osx-1015'
+ b-osx-arm64:
+ provisioner: releng-hardware
+ implementation: generic-worker
+ os: macosx
+ worker-type:
+ by-level:
+ '3': 'gecko-3-b-osx-arm64'
+ default: 'gecko-1-b-osx-arm64'
+ t-win10-64(|-gpu-s|-source):
+ provisioner: '{trust-domain}-t'
+ implementation: generic-worker
+ os: windows
+ worker-type: '{alias}'
+ t-win10-64(-hw|-1803-hw):
+ provisioner: releng-hardware
+ implementation: generic-worker
+ os: windows
+ worker-type: 'gecko-{alias}'
+ win11-64-2009(-hw-ref):
+ provisioner: releng-hardware
+ implementation: generic-worker
+ os: windows
+ worker-type: '{alias}'
+ win10-64-2009(|-gpu|-ssd|-source|-ssd-gpu):
+ provisioner: 'gecko-t'
+ implementation: generic-worker
+ os: windows
+ worker-type: '{alias}'
+ t-win11-64(|-gpu-s|-source):
+ provisioner: '{trust-domain}-t'
+ implementation: generic-worker
+ os: windows
+ worker-type: '{alias}'
+ win11-64-2009(|-gpu|-ssd|-source|-ssd-gpu):
+ provisioner: 'gecko-t'
+ implementation: generic-worker
+ os: windows
+ worker-type: '{alias}'
+ t-win7-32-gpu:
+ provisioner: '{trust-domain}-t'
+ implementation: generic-worker
+ os: windows
+ worker-type: '{alias}'
+ t-win7-32:
+ provisioner: releng-hardware
+ implementation: generic-worker
+ os: windows
+ worker-type: 'gecko-{alias}-hw'
+ t-win64-aarch64-laptop:
+ provisioner: bitbar
+ implementation: generic-worker
+ os: windows
+ worker-type: 'gecko-{alias}'
+ succeed:
+ provisioner: built-in
+ implementation: succeed
+ os: none
+ worker-type: succeed
+ misc:
+ provisioner: '{trust-domain}-t'
+ implementation: docker-worker
+ os: linux
+ worker-type: misc-gcp
+
+
+mac-signing:
+ mac-requirements:
+ by-platform:
+ macosx64.*: build/package/mac_osx/requirements.plist
+ default: ''
+ hardened-sign-config:
+ by-hardened-signing-type:
+ production:
+ - deep: false
+ runtime: true
+ force: true
+ entitlements: security/mac/hardenedruntime/v2/production/plugin-container.xml
+ globs:
+ - "/Contents/MacOS/plugin-container.app"
+
+ - deep: false
+ runtime: true
+ force: true
+ entitlements: security/mac/hardenedruntime/v2/production/media-plugin-helper.xml
+ globs:
+ - "/Contents/MacOS/media-plugin-helper.app"
+
+ - deep: false
+ runtime: true
+ force: true
+ # These files are signed without entitlements
+ globs:
+ - "/Contents/MacOS/crashreporter.app"
+ - "/Contents/MacOS/updater.app/Contents/Frameworks/UpdateSettings.framework"
+ - "/Contents/MacOS/updater.app"
+ - "/Contents/Library/LaunchServices/org.mozilla.updater"
+ - "/Contents/MacOS/XUL"
+ - "/Contents/MacOS/pingsender"
+ - "/Contents/MacOS/minidump-analyzer"
+ - "/Contents/MacOS/nmhproxy"
+ - "/Contents/MacOS/*.dylib"
+ - "/Contents/Resources/gmp-clearkey/*/*.dylib"
+ - "/Contents/Frameworks/ChannelPrefs.framework"
+
+ - deep: false
+ runtime: true
+ force: true
+ entitlements:
+ by-build-platform:
+ .*devedition.*: security/mac/hardenedruntime/v2/production/firefoxdeveloperedition.browser.xml
+ default:
+ by-project:
+ mozilla-central: security/mac/hardenedruntime/v2/production/nightly.browser.xml
+ default: security/mac/hardenedruntime/v2/production/firefox.browser.xml
+ globs:
+ - "/" # The .app
+
+ default:
+ - deep: false
+ runtime: true
+ force: true
+ entitlements: security/mac/hardenedruntime/v2/developer/plugin-container.xml
+ globs:
+ - "/Contents/MacOS/plugin-container.app"
+
+ - deep: false
+ runtime: true
+ force: true
+ entitlements: security/mac/hardenedruntime/v2/developer/media-plugin-helper.xml
+ globs:
+ - "/Contents/MacOS/media-plugin-helper.app"
+
+ - deep: false
+ runtime: true
+ force: true
+ entitlements: security/mac/hardenedruntime/v2/developer/utility.xml
+ globs:
+ - "/Contents/MacOS/crashreporter.app"
+ - "/Contents/MacOS/updater.app/Contents/Frameworks/UpdateSettings.framework"
+ - "/Contents/MacOS/updater.app"
+ - "/Contents/Library/LaunchServices/org.mozilla.updater"
+ - "/Contents/MacOS/pingsender"
+ - "/Contents/MacOS/minidump-analyzer"
+ - "/Contents/MacOS/nmhproxy"
+ - "/Contents/Frameworks/ChannelPrefs.framework"
+
+ - deep: false
+ runtime: true
+ force: true
+ # These files are signed without entitlements
+ globs:
+ - "/Contents/MacOS/XUL"
+ - "/Contents/MacOS/*.dylib"
+ - "/Contents/Resources/gmp-clearkey/*/*.dylib"
+
+ - deep: false
+ runtime: true
+ force: true
+ entitlements: security/mac/hardenedruntime/v2/developer/browser.xml
+ globs:
+ - "/" # The .app
+
+expiration-policy:
+ by-project:
+ try:
+ default: 28 days
+ shortest: 7 days
+ short: 14 days
+ medium: 28 days
+ long: 28 days
+ autoland:
+ default: 1 year
+ shortest: 14 days
+ short: 3 months
+ medium: 1 year
+ # To avoid keeping shippable builds for over a year
+ long: 1 year
+ default:
+ default: 3 months
+ shortest: 7 days
+ short: 1 month
+ medium: 1 year
+ long: 1 year
diff --git a/taskcluster/docker/debian-repackage/Dockerfile b/taskcluster/docker/debian-repackage/Dockerfile
index ae257931d4..f068731b58 100644
--- a/taskcluster/docker/debian-repackage/Dockerfile
+++ b/taskcluster/docker/debian-repackage/Dockerfile
@@ -3,22 +3,16 @@ MAINTAINER Mozilla Releng <release@mozilla.com>
VOLUME /builds/worker/workspace
-# At the moment the Firefox build baseline is jessie.
-# Things in the build/CI system that run in the task's container
-# (mach, run-task, etc.) do not support jessie.
-# There's also no jessie `base` images or packages generated in the CI.
-# To generate Firefox Debian packages compatible with the baseline
-# we bootstrap basic i386 and amd64 jessie systems on bullseye.
-# We use these to generate shared library dependencies in jessie using chroot.
-# python/mozbuild/mozbuild/repackaging/deb.py checks for jessie systems
-# bootstrapped under /srv/jessie-i386 and /srv/jessie-amd64
-# If they aren't there, deb.py runs the repackage in the working directory without using chroot.
-# To keep the build and repackage enviroments consistent the Debian baseline used
-# here (jessie) should be synchronized with the baseline used in
-# taskcluster/scripts/misc/build-sysroot.sh
+# At the moment the Firefox build sysroot for i386 and amd64 use jessie and arm64 uses buster.
+# To generate Firefox Debian packages we bootstrap jessie and buster sysroots.
+# We use these sysroots to generate shared library dependencies for
+# i386 (jessie), amd64 (jessie), and arm64 (buster) packages.
+# To keep the build and repackage enviroments consistent the Debian distributions used by the sysroots
+# created here should match the distributions used by the sysroots created in taskcluster/scripts/misc/build-sysroot.sh
ARG TASKCLUSTER_ROOT_URL
ARG DOCKER_IMAGE_PACKAGES
RUN /usr/local/sbin/setup_packages.sh $TASKCLUSTER_ROOT_URL $DOCKER_IMAGE_PACKAGES && \
+ dpkg --add-architecture arm64 && \
apt-get update && \
apt-get install debootstrap && set -xe && \
for arch in i386 amd64; do \
@@ -30,6 +24,20 @@ RUN /usr/local/sbin/setup_packages.sh $TASKCLUSTER_ROOT_URL $DOCKER_IMAGE_PACKAG
--verbose \
jessie \
/srv/jessie-$arch \
- https://archive.debian.org/debian; \
+ https://archive.debian.org/debian || (echo "Debootstrap failed, outputting log:" && cat /srv/jessie-$arch/debootstrap/debootstrap.log && exit 1); \
done && \
+ # bootstrap a buster/amd64 root to generate an arm64 .deb package.
+ debootstrap \
+ --arch=amd64 \
+ --variant=buildd \
+ --include=debhelper,binutils-multiarch,binutils-aarch64-linux-gnu \
+ --keyring=/usr/share/keyrings/debian-archive-buster-stable.gpg \
+ --verbose \
+ buster \
+ /srv/buster-amd64 \
+ http://deb.debian.org/debian || (echo "Debootstrap failed, outputting log:" && cat /srv/buster-amd64/debootstrap/debootstrap.log && exit 1) && \
+ chroot /srv/buster-amd64 /bin/bash -c "\
+ dpkg --add-architecture arm64 && \
+ apt-get update && \
+ apt-get install -y libasound2:arm64 libgtk-3-0:arm64 libx11-xcb1:arm64 libxtst6:arm64" && \
/usr/local/sbin/clean_packages.sh $DOCKER_IMAGE_PACKAGES
diff --git a/taskcluster/docker/github-sync/Dockerfile b/taskcluster/docker/github-sync/Dockerfile
deleted file mode 100644
index bff131ad7b..0000000000
--- a/taskcluster/docker/github-sync/Dockerfile
+++ /dev/null
@@ -1,14 +0,0 @@
-FROM $DOCKER_IMAGE_PARENT
-MAINTAINER Kartikaya Gupta <kgupta@mozilla.com>
-
-VOLUME /builds/worker/checkouts
-VOLUME /builds/worker/workspace
-VOLUME /builds/worker/tooltool-cache
-VOLUME /builds/worker/.ghsync
-
-ADD prepare.sh /setup/prepare-docker.sh
-ADD requirements.txt /setup/requirements.txt
-RUN /bin/bash /setup/prepare-docker.sh /setup/requirements.txt && rm -R /setup
-
-# Set a default command useful for debugging
-CMD ["/bin/bash", "--login"]
diff --git a/taskcluster/docker/github-sync/prepare.sh b/taskcluster/docker/github-sync/prepare.sh
deleted file mode 100755
index 6c0be27168..0000000000
--- a/taskcluster/docker/github-sync/prepare.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/env bash
-
-# 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/. */
-
-set -o errexit
-set -o nounset
-set -o pipefail
-set -o xtrace
-
-test "$(whoami)" == 'root'
-
-# Install stuff we need
-apt-get -y update
-apt-get install -y \
- cmake \
- curl \
- gcc \
- git \
- g++ \
- libffi-dev \
- libgit2-dev \
- libssl-dev \
- python3 \
- python3-dev \
- python3-pip \
- python3-setuptools
-
-# Python packages
-pip3 install --break-system-packages -r "$1"
diff --git a/taskcluster/docker/github-sync/requirements.txt b/taskcluster/docker/github-sync/requirements.txt
deleted file mode 100644
index 13fd42681d..0000000000
--- a/taskcluster/docker/github-sync/requirements.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-requests == 2.21.0
-pygit2 == 1.11.1
-python-hglib == 2.6.1
diff --git a/taskcluster/docker/sentry/Dockerfile b/taskcluster/docker/sentry/Dockerfile
index 2f606c5529..c07fdd3961 100644
--- a/taskcluster/docker/sentry/Dockerfile
+++ b/taskcluster/docker/sentry/Dockerfile
@@ -1,5 +1,5 @@
FROM $DOCKER_IMAGE_PARENT
-LABEL maintainer="Mitchell Hentges mhentges@mozilla.com"
+LABEL maintainer="Alex Hochheiden ahochheiden@mozilla.com"
VOLUME /builds/worker/checkouts
diff --git a/taskcluster/docker/snap-coreXX-build/snap-tests/README.md b/taskcluster/docker/snap-coreXX-build/snap-tests/README.md
index 73f78c72bc..bdc79dbe4b 100644
--- a/taskcluster/docker/snap-coreXX-build/snap-tests/README.md
+++ b/taskcluster/docker/snap-coreXX-build/snap-tests/README.md
@@ -16,6 +16,10 @@ inspecting the browser at the end of a test.
Data URL containing the diff screenshot will be dumped to stdout/stderr when
`TEST_DUMP_DIFF` is set in the environment.
+A recording of the desktop can be captured via GNOME Screencast feature by
+passing `TEST_RECORD_SCREEN=true` in the enviromnent. Upon completion of the
+task it should upload a WebM file.
+
Updating reference screenshots
==============================
- `./mach try fuzzy --push-to-lando --full --env TEST_COLLECT_REFERENCE=1 -q "'snap-upstream-test"`
diff --git a/taskcluster/docker/snap-coreXX-build/snap-tests/record.py b/taskcluster/docker/snap-coreXX-build/snap-tests/record.py
new file mode 100644
index 0000000000..51fe47f6d8
--- /dev/null
+++ b/taskcluster/docker/snap-coreXX-build/snap-tests/record.py
@@ -0,0 +1,24 @@
+# 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 https://mozilla.org/MPL/2.0/.
+
+import os
+import time
+
+import dbus
+
+session_bus = dbus.SessionBus()
+session_bus.call_blocking(
+ "org.gnome.Shell.Screencast",
+ "/org/gnome/Shell/Screencast",
+ "org.gnome.Shell.Screencast",
+ "Screencast",
+ signature="sa{sv}",
+ args=[
+ os.path.join(os.environ.get("ARTIFACT_DIR", ""), "video_%d_%t.webm"),
+ {"draw-cursor": True, "framerate": 35},
+ ],
+)
+
+while True:
+ time.sleep(30)
diff --git a/taskcluster/docker/snap-coreXX-build/snap-tests/tests.sh b/taskcluster/docker/snap-coreXX-build/snap-tests/tests.sh
index 854ef2c9af..3412d04727 100755
--- a/taskcluster/docker/snap-coreXX-build/snap-tests/tests.sh
+++ b/taskcluster/docker/snap-coreXX-build/snap-tests/tests.sh
@@ -60,6 +60,16 @@ if [ -n "${MOZ_LOG}" ]; then
export MOZ_LOG_FILE="${ARTIFACT_DIR}/gecko-log"
fi
+RECORD_SCREEN_PID=0
+if [ "${TEST_RECORD_SCREEN}" = "true" ]; then
+ python3 record.py &
+ RECORD_SCREEN_PID=$!
+ echo "Recording with PID ${RECORD_SCREEN_PID}"
+
+ trap 'echo [EXIT] Stopping screen recording from PID ${RECORD_SCREEN_PID} && kill ${RECORD_SCREEN_PID}' EXIT
+ trap 'echo [ERR] Stopping screen recording from PID ${RECORD_SCREEN_PID} && kill ${RECORD_SCREEN_PID}' ERR
+fi;
+
if [ "${SUITE}" = "basic" ]; then
sed -e "s/#RUNTIME_VERSION#/${RUNTIME_VERSION}/#" < basic_tests/expectations.json.in > basic_tests/expectations.json
python3 basic_tests.py basic_tests/expectations.json
diff --git a/taskcluster/docker/system-symbols-linux-scraper/Dockerfile b/taskcluster/docker/system-symbols-linux-scraper/Dockerfile
index edafc97c83..e9785c93c1 100644
--- a/taskcluster/docker/system-symbols-linux-scraper/Dockerfile
+++ b/taskcluster/docker/system-symbols-linux-scraper/Dockerfile
@@ -12,7 +12,7 @@ VOLUME /builds/worker/checkouts
RUN apt-get update && \
apt-get install --no-install-recommends -y \
- 7zip binutils build-essential cpio curl debuginfod elfutils flatpak jq \
+ file 7zip binutils build-essential cpio curl debuginfod elfutils flatpak jq \
libxml2-utils python3-pip rpm2cpio squashfs-tools unzip wget zip && \
apt-get autoremove -y && rm -rf /var/lib/apt/lists/*
diff --git a/taskcluster/docker/system-symbols-linux-scraper/README b/taskcluster/docker/system-symbols-linux-scraper/README
new file mode 100644
index 0000000000..ac37a2d3f3
--- /dev/null
+++ b/taskcluster/docker/system-symbols-linux-scraper/README
@@ -0,0 +1,64 @@
+Performing a (re)bootstrapping of symbols scraping process
+==========================================================
+
+Whenever for any reason the symbol scraping process might have been faulty long
+enough, we can end up (currently) in a situation where the recorded status of
+`SHA256SUMS.zip` on the TaskCluster index is inconsistent with what we really
+processed.
+
+This document aims at explaining what needs to be done and where to recover
+from that state (this is based on the experience from bug 1893156).
+
+First, you need to identify since how long the problem has been present. As of
+now there is no really better tooling than processing manually the cron tasks
+logs and see when it started to fail.
+
+Once you have identified a date, the next step is to work on the bootstrapping
+content. As visible in
+https://searchfox.org/mozilla-central/rev/f6e3b81aac49e602f06c204f9278da30993cdc8a/taskcluster/docker/system-symbols-linux-scraper/run.sh#62,
+the first source of truth is the gh-pages branch of the symbol-scrapers github
+repository: https://github.com/mozilla/symbol-scrapers/tree/gh-pages. This
+source of truth is evaluated ONLY if the TaskCluster index is NOT present. The
+route is being computed from the running task's definition:
+https://searchfox.org/mozilla-central/rev/f6e3b81aac49e602f06c204f9278da30993cdc8a/taskcluster/docker/system-symbols-linux-scraper/run.sh#14
+from which we ONLY consider the `latest` alias.
+
+As of today the index is for example for debian:
+index.gecko.v2.mozilla-central.latest.system-symbols.debian and thus one can
+explore the content at
+https://firefox-ci-tc.services.mozilla.com/tasks/index/gecko.v2.mozilla-central.latest.system-symbols.debian,
+other means of browsing including pushdate allows to find e.g.,
+https://firefox-ci-tc.services.mozilla.com/tasks/index/gecko.v2.mozilla-central.pushdate.2024.04.20.20240420094034.system-symbols/debian
+from which we can get a link to the sums file:
+https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/gecko.v2.mozilla-central.pushdate.2024.04.20.20240420094034.system-symbols.debian/artifacts/public%2Fbuild%2FSHA256SUMS.zip
+
+Once you have identified WHEN the problem arose, you can take the above URL
+(adapting with the correct date) and adapting to the various distributions.
+
+Make sure you have an uptodate git clone of the mozilla/symbol-scrapers
+repository, checkout a new branch out of the gh-pages tree, and you can proceed
+to the data extraction following (example with a different date):
+ for distro in alpine archlinux debian fedora firefox-flatpak firefox-snap gnome-sdk-snap mint opensuse ubuntu; do
+ wget https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/gecko.v2.mozilla-central.pushdate.2024.02.07.latest.system-symbols.$distro/artifacts/public%2Fbuild%2FSHA256SUMS.zip -O $distro/SHA256SUMS.zip;
+ done;
+ mv archlinux/SHA256SUMS.zip arch/
+
+Please note that there's a slight difference in naming, archlinux vs arch.
+Please note other distros might have been added since so you need to adapt.
+
+Send a pull request once this is OK, make it reviewed or merge it.
+
+As of now, the content of the boostrapping process is in the state we want, but
+if you run a symbols scraping task, it will still pull data from the
+TaskCluster index. This time, you need to use the index that refers to latest
+and NOT the pushdate or another one, so the index used in the example SHOULD be
+good. You just have to run deleteTask (with the appropriate credentials if you
+have them, or ask releng for help in #firefox-ci):
+ for distro in alpine archlinux debian fedora firefox-flatpak firefox-snap gnome-sdk-snap mint opensuse ubuntu; do
+ taskcluster api index deleteTask gecko.v2.mozilla-central.latest.system-symbols.$distro
+ done;
+
+From there, HTTP queries to (for the debian example)
+https://firefox-ci-tc.services.mozilla.com/tasks/index/gecko.v2.mozilla-central.latest.system-symbols.debian
+would return 404, which will make the symbol scraping tasks search its data on
+GitHub.
diff --git a/taskcluster/docker/updatebot/updatebot-version.sh b/taskcluster/docker/updatebot/updatebot-version.sh
index ea788dd130..0491fdf447 100644
--- a/taskcluster/docker/updatebot/updatebot-version.sh
+++ b/taskcluster/docker/updatebot/updatebot-version.sh
@@ -1,2 +1,2 @@
-export UPDATEBOT_REVISION=5cf21801808c95a3948916fd03f1001d964d796a
+export UPDATEBOT_REVISION=d7689dd2e47c6df15f5fece49a85a5297d4c4ff3
diff --git a/taskcluster/docker/updatebot/windows-setup.sh b/taskcluster/docker/updatebot/windows-setup.sh
index c04d0a6fbf..975aaea249 100644
--- a/taskcluster/docker/updatebot/windows-setup.sh
+++ b/taskcluster/docker/updatebot/windows-setup.sh
@@ -27,7 +27,7 @@ mv depot_tools.git depot_tools
# Generating a new version of the preloaded depot_tools download can be done by:
# 1) Running the task, uncommenting the variable assignment below, uncommenting the
-# _GENERATE_DEPOT_TOOLS_BINARIES_ section in taskcluster/ci/updatebot/kind.yml,
+# _GENERATE_DEPOT_TOOLS_BINARIES_ section in taskcluster/kinds/updatebot/kind.yml,
# and ensuring that an angle update will actually take place (so it downloads the depot_tools)
# 2) Downloading and sanity-checking the depot_tools-preloaded-binaries-GIT_HASH-DATE.zip artifact
# 3) Adding it to tooltool
@@ -121,7 +121,7 @@ if test -n "$GENERATE_DEPOT_TOOLS_BINARIES"; then
# Convoluted way to get the git hash, because we don't have a .git directory
# Adding extra print statements just in case we need to debug it
- GIT_HASH=$(grep depot_tools -A 1 "$GECKO_PATH/taskcluster/ci/fetch/updatebot.yml" | tee /dev/tty | grep revision | tee /dev/tty | awk -F': *' '{print $2}' | tee /dev/tty)
+ GIT_HASH=$(grep depot_tools -A 1 "$GECKO_PATH/taskcluster/kinds/fetch/updatebot.yml" | tee /dev/tty | grep revision | tee /dev/tty | awk -F': *' '{print $2}' | tee /dev/tty)
DATE=$(date -I)
mv depot_tools-preloaded-binaries.zip "depot_tools-preloaded-binaries-$GIT_HASH-$DATE.zip"
diff --git a/taskcluster/docs/howto/index.rst b/taskcluster/docs/howto/index.rst
index ab1010666b..c3a03ef166 100644
--- a/taskcluster/docs/howto/index.rst
+++ b/taskcluster/docs/howto/index.rst
@@ -35,7 +35,7 @@ Changing Test Characteristics
.............................
First, find the test description. This will be in
-``taskcluster/ci/*/tests.yml``, for the appropriate kind (consult
+``taskcluster/kinds/*/tests.yml``, for the appropriate kind (consult
:ref:`kinds`). You will find a YAML stanza for each test suite, and each
stanza defines the test's characteristics. For example, the ``chunks``
property gives the number of chunks to run. This can be specified as a simple
@@ -65,7 +65,7 @@ Adding a Test Suite
To add a new test suite, you will need to know the proper mozharness invocation
for that suite, and which kind it fits into (consult :ref:`kinds`).
-Add a new stanza to ``taskcluster/ci/<kind>/tests.yml``, copying from the other
+Add a new stanza to ``taskcluster/kinds/<kind>/tests.yml``, copying from the other
stanzas in that file. The meanings should be clear, but authoritative
documentation is in
``taskcluster/gecko_taskgraph/transforms/test/__init__.py`` should you need
diff --git a/taskcluster/docs/kinds.rst b/taskcluster/docs/kinds.rst
index b54f95f0fa..76edaaa511 100644
--- a/taskcluster/docs/kinds.rst
+++ b/taskcluster/docs/kinds.rst
@@ -684,7 +684,7 @@ diffoscope
----------
Tasks used to compare pairs of Firefox builds using https://diffoscope.org/.
As of writing, this is mainly meant to be used in try builds, by editing
-taskcluster/ci/diffoscope/kind.yml for your needs.
+taskcluster/kinds/diffoscope/kind.yml for your needs.
addon
-----
@@ -703,11 +703,6 @@ webrender
Tasks used to do testing of WebRender standalone (without gecko). The
WebRender code lives in gfx/wr and has its own testing infrastructure.
-github-sync
-------------
-Tasks used to do synchronize parts of Gecko that have downstream GitHub
-repositories.
-
instrumented-build
------------------
Tasks that generate builds with PGO instrumentation enabled. This is an
diff --git a/taskcluster/docs/kinds/test.rst b/taskcluster/docs/kinds/test.rst
index 20d3635c5c..b577a4a993 100644
--- a/taskcluster/docs/kinds/test.rst
+++ b/taskcluster/docs/kinds/test.rst
@@ -120,7 +120,7 @@ manifest conditions pending the triage owner / manager to review.
Please subscribe to alerts from `firefox-ci <https://groups.google.com/a/mozilla.com/g/firefox-ci>`
group in order to be aware of changes to the CI, scheduling, or the policy.
-.. _variants.yml: https://searchfox.org/mozilla-central/source/taskcluster/ci/test/variants.yml
+.. _variants.yml: https://searchfox.org/mozilla-central/source/taskcluster/kinds/test/variants.yml
.. _json-e: https://json-e.js.org/
diff --git a/taskcluster/docs/partner-attribution.rst b/taskcluster/docs/partner-attribution.rst
index f83eabb005..c283d4b529 100644
--- a/taskcluster/docs/partner-attribution.rst
+++ b/taskcluster/docs/partner-attribution.rst
@@ -27,7 +27,7 @@ partner repacks.
logic. It's usually looked up during the release promotion action task, using the Github
GraphQL API in the `get_partner_config_by_url()
<python/taskgraph.util.html#taskgraph.util.partners.get_partner_config_by_url>`_ function, with the
-url defined in `taskcluster/ci/config.yml <https://searchfox.org/mozilla-central/search?q=partner-urls&path=taskcluster%2Fci%2Fconfig.yml&case=true&regexp=false&redirect=true>`_.
+url defined in `taskcluster/config.yml <https://searchfox.org/mozilla-central/search?q=partner-urls&path=taskcluster%2Fconfig.yml&case=true&regexp=false&redirect=true>`_.
``release_partner_build_number`` is an integer used to create unique upload paths in the firefox
candidates directory, while ``release_partners`` is a list of partners that should be
diff --git a/taskcluster/docs/partner-repacks.rst b/taskcluster/docs/partner-repacks.rst
index 3ae352e06d..6aa3db7da7 100644
--- a/taskcluster/docs/partner-repacks.rst
+++ b/taskcluster/docs/partner-repacks.rst
@@ -40,7 +40,7 @@ release. They're both true for Firefox betas >= b8 and releases, but otherwise d
logic. It's usually looked up during the release promotion action task, using the Github
GraphQL API in the `get_partner_config_by_url()
<python/taskgraph.util.html#taskgraph.util.partners.get_partner_config_by_url>`_ function, with the
-url defined in `taskcluster/ci/config.yml <https://searchfox
+url defined in `taskcluster/config.yml <https://searchfox
.org/mozilla-release/search?q=regexp%3A^partner+path%3Aconfig.yml&redirect=true>`_.
``release_partner_build_number`` is an integer used to create unique upload paths in the firefox
diff --git a/taskcluster/docs/taskgraph.rst b/taskcluster/docs/taskgraph.rst
index 5b3ac83643..dbb74f3499 100644
--- a/taskcluster/docs/taskgraph.rst
+++ b/taskcluster/docs/taskgraph.rst
@@ -32,7 +32,7 @@ Kinds
Generation starts with "kinds". These are yaml files that denote groupings of
tasks that are loosely related to one another. For example, in Gecko there are
``build`` and ``test`` kinds. Each kind has its own directory under
-`taskcluster/ci`_ which contains a ``kind.yml`` file.
+`taskcluster/kinds`_ which contains a ``kind.yml`` file.
For more information on kinds, see Taskgraph's `kind documentation`_. For a
list of available kinds in ``mozilla-central``, see the :doc:`kinds reference
@@ -114,7 +114,7 @@ Graph Configuration
There are several configuration settings that are pertain to the entire
taskgraph. These are specified in :file:`config.yml` at the root of the
-taskgraph configuration (typically :file:`taskcluster/ci/`). The available
+taskgraph configuration (typically :file:`taskcluster`). The available
settings are documented inline in `taskcluster/gecko_taskgraph/config.py
<https://searchfox.org/mozilla-central/source/taskcluster/gecko_taskgraph/config.py>`_.
@@ -131,7 +131,7 @@ For more information, see Taskgraph's `actions documentation`_.
.. _graph generation documentation: https://taskcluster-taskgraph.readthedocs.io/en/latest/concepts/task-graphs.html
.. _this guide: https://taskcluster-taskgraph.readthedocs.io/en/latest/howto/run-locally.html
-.. _taskcluster/ci: https://searchfox.org/mozilla-central/source/taskcluster/ci
+.. _taskcluster/kinds: https://searchfox.org/mozilla-central/source/taskcluster/kinds
.. _kind documentation: https://taskcluster-taskgraph.readthedocs.io/en/latest/concepts/kind.html
.. _loader documentation: https://taskcluster-taskgraph.readthedocs.io/en/latest/concepts/loading.html
.. _transforms documentation: https://taskcluster-taskgraph.readthedocs.io/en/latest/concepts/transforms.html
diff --git a/taskcluster/docs/versioncontrol.rst b/taskcluster/docs/versioncontrol.rst
index 835f8915cf..c187ea7f64 100644
--- a/taskcluster/docs/versioncontrol.rst
+++ b/taskcluster/docs/versioncontrol.rst
@@ -35,7 +35,7 @@ The locations are as follows:
Debian Packages for Debian and Ubuntu Based Docker Images
---------------------------------------------------------
-``taskcluster/ci/packages/debian.yml`` and ``taskcluster/ci/packages/ubuntu.yml``
+``taskcluster/kinds/packages/debian.yml`` and ``taskcluster/kinds/packages/ubuntu.yml``
define custom Debian packages for Mercurial. These are installed in various
Docker images.
diff --git a/taskcluster/gecko_taskgraph/config.py b/taskcluster/gecko_taskgraph/config.py
index 7b6237f9fb..df4a5665e3 100644
--- a/taskcluster/gecko_taskgraph/config.py
+++ b/taskcluster/gecko_taskgraph/config.py
@@ -4,6 +4,7 @@
from taskgraph.util.schema import Schema, optionally_keyed_by
from voluptuous import Any, Optional, Required
+from voluptuous.validators import Length
graph_config_schema = Schema(
{
@@ -20,7 +21,7 @@ graph_config_schema = Schema(
Required("product-dir"): str,
Required("treeherder"): {
# Mapping of treeherder group symbols to descriptive names
- Required("group-names"): {str: str}
+ Required("group-names"): {str: Length(max=100)}
},
Required("index"): {Required("products"): [str]},
Required("try"): {
diff --git a/taskcluster/gecko_taskgraph/files_changed.py b/taskcluster/gecko_taskgraph/files_changed.py
index c814df0806..0352fb9d7e 100644
--- a/taskcluster/gecko_taskgraph/files_changed.py
+++ b/taskcluster/gecko_taskgraph/files_changed.py
@@ -16,7 +16,7 @@ from mozpack.path import match as mozpackmatch
from mozversioncontrol import InvalidRepoPath, get_repository_object
from gecko_taskgraph import GECKO
-from gecko_taskgraph.util.hg import get_json_automationrelevance
+from gecko_taskgraph.util.hg import get_json_pushchangedfiles
logger = logging.getLogger(__name__)
@@ -27,9 +27,8 @@ def get_changed_files(repository, revision):
Get the set of files changed in the push headed by the given revision.
Responses are cached, so multiple calls with the same arguments are OK.
"""
- contents = get_json_automationrelevance(repository, revision)
try:
- changesets = contents["changesets"]
+ return get_json_pushchangedfiles(repository, revision)["files"]
except KeyError:
# We shouldn't hit this error in CI.
if os.environ.get("MOZ_AUTOMATION"):
@@ -39,17 +38,6 @@ def get_changed_files(repository, revision):
# version control.
return get_locally_changed_files(GECKO)
- logger.debug("{} commits influencing task scheduling:".format(len(changesets)))
- changed_files = set()
- for c in changesets:
- desc = "" # Support empty desc
- if c["desc"]:
- desc = c["desc"].splitlines()[0].encode("ascii", "ignore")
- logger.debug(" {cset} {desc}".format(cset=c["node"][0:12], desc=desc))
- changed_files |= set(c["files"])
-
- return changed_files
-
def check(params, file_patterns):
"""Determine whether any of the files changed in the indicated push to
diff --git a/taskcluster/gecko_taskgraph/main.py b/taskcluster/gecko_taskgraph/main.py
index e261f26c80..c6d7a4a3c8 100644
--- a/taskcluster/gecko_taskgraph/main.py
+++ b/taskcluster/gecko_taskgraph/main.py
@@ -108,7 +108,7 @@ def get_filtered_taskgraph(taskgraph, tasksregex, exclude_keys):
for key in exclude_keys:
obj = task_dict
attrs = key.split(".")
- while attrs[0] in obj:
+ while obj and attrs[0] in obj:
if len(attrs) == 1:
del obj[attrs[0]]
break
@@ -386,10 +386,10 @@ def show_taskgraph(options):
output_file = options["output_file"]
if options["diff"]:
- # --root argument is taskgraph's config at <repo>/taskcluster/ci
+ # --root argument is taskgraph's config at <repo>/taskcluster
repo_root = os.getcwd()
if options["root"]:
- repo_root = f"{options['root']}/../.."
+ repo_root = f"{options['root']}/.."
repo = get_repository(repo_root)
if not repo.working_directory_clean():
@@ -707,7 +707,7 @@ def decision(options):
@argument(
"--root",
"-r",
- default="taskcluster/ci",
+ default="taskcluster",
help="root of the taskgraph definition relative to topsrcdir",
)
def action_callback(options):
@@ -743,7 +743,7 @@ def action_callback(options):
@argument(
"--root",
"-r",
- default="taskcluster/ci",
+ default="taskcluster",
help="root of the taskgraph definition relative to topsrcdir",
)
@argument(
diff --git a/taskcluster/gecko_taskgraph/manifests/firefox_candidates.yml b/taskcluster/gecko_taskgraph/manifests/firefox_candidates.yml
index af0ea79aa4..d847b4fcdc 100644
--- a/taskcluster/gecko_taskgraph/manifests/firefox_candidates.yml
+++ b/taskcluster/gecko_taskgraph/manifests/firefox_candidates.yml
@@ -62,6 +62,8 @@ platform_names:
linux64-shippable: 'linux-x86_64'
linux64-devedition: 'linux-x86_64'
linux64-asan-reporter-shippable: 'linux-x86_64-asan-reporter'
+ linux64-aarch64-shippable: 'linux-aarch64'
+ linux64-aarch64-devedition: 'linux-aarch64'
macosx64-shippable: 'mac'
macosx64-devedition: 'mac'
win32-shippable: 'win32'
@@ -78,6 +80,8 @@ platform_names:
linux64-shippable: 'linux64'
linux64-devedition: 'linux64-devedition'
linux64-asan-reporter-shippable: 'linux-x86_64-asan-reporter'
+ linux64-aarch64-shippable: 'linux64-aarch64'
+ linux64-aarch64-devedition: 'linux64-aarch64-devedition'
macosx64-shippable: 'macosx64'
macosx64-devedition: 'macosx64-devedition'
win32-shippable: 'win32'
@@ -94,6 +98,8 @@ platform_names:
linux64-shippable: 'linux64'
linux64-devedition: 'linux64'
linux64-asan-reporter-shippable: 'linux-x86_64-asan-reporter'
+ linux64-aarch64-shippable: 'linux64-aarch64'
+ linux64-aarch64-devedition: 'linux64-aarch64'
macosx64-shippable: 'macosx64'
macosx64-devedition: 'macosx64'
win32-shippable: 'win32'
diff --git a/taskcluster/gecko_taskgraph/manifests/firefox_candidates_checksums.yml b/taskcluster/gecko_taskgraph/manifests/firefox_candidates_checksums.yml
index 43ba4cbf15..7ca17662e2 100644
--- a/taskcluster/gecko_taskgraph/manifests/firefox_candidates_checksums.yml
+++ b/taskcluster/gecko_taskgraph/manifests/firefox_candidates_checksums.yml
@@ -51,6 +51,8 @@ platform_names:
linux64-shippable: 'linux-x86_64'
linux64-devedition: 'linux-x86_64'
linux64-asan-reporter-shippable: 'linux-x86_64-asan-reporter'
+ linux64-aarch64-shippable: 'linux-aarch64'
+ linux64-aarch64-devedition: 'linux-aarch64'
macosx64-shippable: 'mac'
macosx64-devedition: 'mac'
win32-shippable: 'win32'
diff --git a/taskcluster/gecko_taskgraph/manifests/firefox_nightly.yml b/taskcluster/gecko_taskgraph/manifests/firefox_nightly.yml
index 421caba08f..60c39e7c53 100644
--- a/taskcluster/gecko_taskgraph/manifests/firefox_nightly.yml
+++ b/taskcluster/gecko_taskgraph/manifests/firefox_nightly.yml
@@ -57,6 +57,8 @@ platform_names:
linux-devedition: 'linux-i686'
linux64-shippable: 'linux-x86_64'
linux64-devedition: 'linux-x86_64'
+ linux64-aarch64-shippable: 'linux-aarch64'
+ linux64-aarch64-devedition: 'linux-aarch64'
linux64-asan-reporter-shippable: 'linux-x86_64-asan-reporter'
macosx64-shippable: 'mac'
macosx64-devedition: 'mac'
@@ -74,6 +76,8 @@ platform_names:
linux64-asan-reporter-shippable: 'linux64-asan-reporter'
linux64-shippable: 'linux64'
linux64-devedition: 'linux64'
+ linux64-aarch64-shippable: 'linux64-aarch64'
+ linux64-aarch64-devedition: 'linux64-aarch64'
macosx64-shippable: 'macosx64'
macosx64-devedition: 'macosx64'
win32-shippable: 'win32'
@@ -127,19 +131,10 @@ mapping:
checksums_path: KEY
only_for_platforms:
- linux64-shippable
+ - linux64-aarch64-shippable
destinations:
- ${year}/${month}/${upload_date}-${branch}
- latest-${branch}
- target.common.tests.tar.gz:
- <<: *default
- description: "Mixture of reftests, mochitests, UI and others, commonly bundled together in a test suite"
- pretty_name: firefox-${version}.${locale}.${filename_platform}.common.tests.tar.gz
- checksums_path: firefox-${version}.${locale}.${filename_platform}.common.tests.tar.gz
- target.cppunittest.tests.tar.gz:
- <<: *default
- description: "C++ unittests related in-tree test infrastructure"
- pretty_name: firefox-${version}.${locale}.${filename_platform}.cppunittest.tests.tar.gz
- checksums_path: firefox-${version}.${locale}.${filename_platform}.cppunittest.tests.tar.gz
target.crashreporter-symbols.zip:
<<: *default
description: "Crashreporter symbols to be consumed by Socorro"
@@ -153,51 +148,16 @@ mapping:
description: "Various compile and moz_app flags baked together in a json file"
pretty_name: firefox-${version}.${locale}.${filename_platform}.json
checksums_path: firefox-${version}.${locale}.${filename_platform}.json
- target.mochitest.tests.tar.gz:
- <<: *default
- description: "Results for running the mochitest testing framework via Javascript function calls"
- pretty_name: firefox-${version}.${locale}.${filename_platform}.mochitest.tests.tar.gz
- checksums_path: firefox-${version}.${locale}.${filename_platform}.mochitest.tests.tar.gz
target.mozinfo.json:
<<: *default
description: "Various compile and moz_app flags baked together in a json file"
pretty_name: firefox-${version}.${locale}.${filename_platform}.mozinfo.json
checksums_path: firefox-${version}.${locale}.${filename_platform}.mozinfo.json
- target.reftest.tests.tar.gz:
- <<: *default
- description: "Results for running the reftest testing framework via display of two Web pages comparison"
- pretty_name: firefox-${version}.${locale}.${filename_platform}.reftest.tests.tar.gz
- checksums_path: firefox-${version}.${locale}.${filename_platform}.reftest.tests.tar.gz
- target.talos.tests.tar.gz:
- <<: *default
- description: "Results for running the talos testing framework to measure performance"
- pretty_name: firefox-${version}.${locale}.${filename_platform}.talos.tests.tar.gz
- checksums_path: firefox-${version}.${locale}.${filename_platform}.talos.tests.tar.gz
- target.awsy.tests.tar.gz:
- <<: *default
- description: "Results for running the awsy testing framework to track memory usage"
- pretty_name: firefox-${version}.${locale}.${filename_platform}.awsy.tests.tar.gz
- checksums_path: firefox-${version}.${locale}.${filename_platform}.awsy.tests.tar.gz
- target.test_packages.json:
- <<: *default
- description: "File containing metadata about all other files and testing harnesses specifics"
- pretty_name: firefox-${version}.${locale}.${filename_platform}.test_packages.json
- checksums_path: firefox-${version}.${locale}.${filename_platform}.test_packages.json
target.txt:
<<: *default
description: "File containing buildid and revision"
pretty_name: firefox-${version}.${locale}.${filename_platform}.txt
checksums_path: firefox-${version}.${locale}.${filename_platform}.txt
- target.web-platform.tests.tar.gz:
- <<: *default
- description: "Results for running the webplatform testing framework to cover standard Web platform features"
- pretty_name: firefox-${version}.${locale}.${filename_platform}.web-platform.tests.tar.gz
- checksums_path: firefox-${version}.${locale}.${filename_platform}.web-platform.tests.tar.gz
- target.xpcshell.tests.tar.gz:
- <<: *default
- description: "Results for running the xpcshell testing framework to enable XPConnect console application"
- pretty_name: firefox-${version}.${locale}.${filename_platform}.xpcshell.tests.tar.gz
- checksums_path: firefox-${version}.${locale}.${filename_platform}.xpcshell.tests.tar.gz
target_info.txt:
<<: *default
description: "File containing the buildID"
@@ -226,6 +186,7 @@ mapping:
only_for_platforms:
- linux-shippable
- linux64-shippable
+ - linux64-aarch64-shippable
- macosx64-shippable
- win64-shippable
- win32-shippable
@@ -252,6 +213,8 @@ mapping:
only_for_platforms:
- linux-shippable
- linux64-shippable
+ - linux64-aarch64-shippable
+ - linux64-aarch64-devedition
- linux-devedition
- linux64-devedition
pretty_name: firefox-${version}.${locale}.langpack.deb
@@ -301,6 +264,7 @@ mapping:
only_for_platforms:
- linux-shippable
- linux64-shippable
+ - linux64-aarch64-shippable
- linux64-asan-reporter-shippable
pretty_name: firefox-${version}.${locale}.${filename_platform}.tar.bz2
checksums_path: firefox-${version}.${locale}.${filename_platform}.tar.bz2
@@ -322,6 +286,7 @@ mapping:
only_for_platforms:
- linux-shippable
- linux64-shippable
+ - linux64-aarch64-shippable
- linux64-asan-reporter-shippable
pretty_name: firefox-${version}.${locale}.${filename_platform}.tar.bz2.asc
checksums_path: firefox-${version}.${locale}.${filename_platform}.tar.bz2.asc
@@ -499,6 +464,7 @@ mapping:
only_for_platforms:
- linux-shippable
- linux64-shippable
+ - linux64-aarch64-shippable
pretty_name: firefox-${version}.${locale}.${filename_platform}.deb
checksums_path: firefox-${version}.${locale}.${filename_platform}.deb
update_balrog_manifest: false
diff --git a/taskcluster/gecko_taskgraph/manifests/firefox_nightly_checksums.yml b/taskcluster/gecko_taskgraph/manifests/firefox_nightly_checksums.yml
index f1b81572ab..caa31f556e 100644
--- a/taskcluster/gecko_taskgraph/manifests/firefox_nightly_checksums.yml
+++ b/taskcluster/gecko_taskgraph/manifests/firefox_nightly_checksums.yml
@@ -18,6 +18,8 @@ platform_names:
linux-shippable: 'linux-i686'
linux-devedition: 'linux-i686'
linux64-shippable: 'linux-x86_64'
+ linux64-aarch64-shippable: 'linux-aarch64'
+ linux64-aarch64-devedition: 'linux-aarch64'
linux64-devedition: 'linux-x86_64'
linux64-asan-reporter-shippable: 'linux-x86_64-asan-reporter'
macosx64-shippable: 'mac'
diff --git a/taskcluster/gecko_taskgraph/optimize/mozlint.py b/taskcluster/gecko_taskgraph/optimize/mozlint.py
new file mode 100644
index 0000000000..0fe42ea70d
--- /dev/null
+++ b/taskcluster/gecko_taskgraph/optimize/mozlint.py
@@ -0,0 +1,96 @@
+# 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/.
+
+import logging
+from pathlib import Path
+from typing import List, Union
+
+from mozlint.parser import Parser
+from mozlint.pathutils import filterpaths
+from taskgraph.optimize.base import OptimizationStrategy
+from taskgraph.util.path import match as match_path
+
+from gecko_taskgraph import GECKO
+
+logger = logging.getLogger(__name__)
+
+
+class TGMozlintParser(Parser):
+ """
+ Mozlint Parser that skips validation. This is needed because decision
+ tasks use sparse clones and the files themselves are not present.
+ """
+
+ def _validate(self, linter):
+ pass
+
+
+class SkipUnlessMozlint(OptimizationStrategy):
+ """
+ Optimization strategy for mozlint tests.
+
+ Uses the mozlint YAML file for each test to determine whether or not a test
+ should run.
+
+ Using:
+ - The optimization relies on having `files_changed` set in the decision task
+ parameters.
+ - Register with register_strategy. The argument is the path to MozLint YAML
+ configuration files ("/tools/lint" for mozilla-central):
+ - In source-test/mozlint.yml, set the optimization strategy for each job by filename:
+ - For Mozlint jobs that run multiple linters at once use a list of filenames:
+ """
+
+ def __init__(self, linters_path: str):
+ self.mozlint_parser = TGMozlintParser(GECKO)
+ self.linters_path = Path(GECKO) / linters_path
+
+ def should_remove_task(
+ self, task, params, mozlint_confs: Union[str, List[str]]
+ ) -> bool:
+ include = []
+ exclude = []
+ extensions = []
+ exclude_extensions = []
+ support_files = ["python/mozlint/**", "tools/lint/**"]
+
+ files_changed = params["files_changed"]
+
+ if isinstance(mozlint_confs, str):
+ mozlint_confs = [mozlint_confs]
+
+ for mozlint_conf in mozlint_confs:
+ mozlint_yaml = str(self.linters_path / mozlint_conf)
+ logger.info(f"Loading file patterns for {task.label} from {mozlint_yaml}.")
+ linter_config = self.mozlint_parser(mozlint_yaml)
+
+ for config in linter_config:
+ include += config.get("include", [])
+ exclude += config.get("exclude", [])
+ extensions += [e.strip(".") for e in config.get("extensions", [])]
+ exclude_extensions += [
+ e.strip(".") for e in config.get("exclude_extensions", [])
+ ]
+ support_files += config.get("support-files", [])
+
+ # Support files may not be part of "include" patterns, so check first
+ # Do not remove (return False) if any changed
+ for pattern in set(support_files):
+ for path in files_changed:
+ if match_path(path, pattern):
+ return False
+
+ to_lint, to_exclude = filterpaths(
+ GECKO,
+ list(files_changed),
+ include=include,
+ exclude=exclude,
+ extensions=extensions,
+ exclude_extensions=exclude_extensions,
+ )
+
+ # to_lint should be an empty list if there is nothing to check
+ if not to_lint:
+ return True
+ return False
diff --git a/taskcluster/gecko_taskgraph/optimize/schema.py b/taskcluster/gecko_taskgraph/optimize/schema.py
index a7f878cf60..a348fb177c 100644
--- a/taskcluster/gecko_taskgraph/optimize/schema.py
+++ b/taskcluster/gecko_taskgraph/optimize/schema.py
@@ -39,6 +39,8 @@ default_optimizations = (
{"upload-symbols": None},
# optimize strategy alias for reprocess-symbols tasks
{"reprocess-symbols": None},
+ # optimization strategy for mozlint tests
+ {"skip-unless-mozlint": voluptuous.Any(str, [str])},
)
OptimizationSchema = voluptuous.Any(*default_optimizations)
diff --git a/taskcluster/gecko_taskgraph/optimize/strategies.py b/taskcluster/gecko_taskgraph/optimize/strategies.py
index ffc395385b..f1ade38672 100644
--- a/taskcluster/gecko_taskgraph/optimize/strategies.py
+++ b/taskcluster/gecko_taskgraph/optimize/strategies.py
@@ -11,6 +11,8 @@ from mozbuild.util import memoize
from taskgraph.optimize.base import OptimizationStrategy, register_strategy
from taskgraph.util.path import match as match_path
+from gecko_taskgraph.optimize.mozlint import SkipUnlessMozlint
+
logger = logging.getLogger(__name__)
@@ -100,3 +102,6 @@ class SkipUnlessChanged(OptimizationStrategy):
)
return True
return False
+
+
+register_strategy("skip-unless-mozlint", args=("tools/lint",))(SkipUnlessMozlint)
diff --git a/taskcluster/gecko_taskgraph/target_tasks.py b/taskcluster/gecko_taskgraph/target_tasks.py
index e004cfb3e2..5469f9eb0d 100644
--- a/taskcluster/gecko_taskgraph/target_tasks.py
+++ b/taskcluster/gecko_taskgraph/target_tasks.py
@@ -11,7 +11,7 @@ from datetime import datetime, timedelta
from redo import retry
from taskgraph.parameters import Parameters
-from taskgraph.target_tasks import _target_task, get_method
+from taskgraph.target_tasks import get_method, register_target_task
from taskgraph.util.taskcluster import find_task_id
from gecko_taskgraph import GECKO, try_option_syntax
@@ -43,7 +43,7 @@ UNCOMMON_TRY_TASK_LABELS = [
r"linux-", # hide all linux32 tasks by default - bug 1599197
r"linux1804-32", # hide linux32 tests - bug 1599197
# Test tasks
- r"web-platform-tests.*backlog", # hide wpt jobs that are not implemented yet - bug 1572820
+ r"web-platform-tests(?!-webgpu).*backlog", # hide wpt jobs that are not implemented yet - bug 1572820
r"-ccov",
r"-profiling-", # talos/raptor profiling jobs are run too often
r"-32-.*-webgpu", # webgpu gets little benefit from these tests.
@@ -396,7 +396,7 @@ def _try_option_syntax(full_task_graph, parameters, graph_config):
return target_tasks_labels
-@_target_task("try_tasks")
+@register_target_task("try_tasks")
def target_tasks_try(full_task_graph, parameters, graph_config):
try_mode = parameters["try_mode"]
if try_mode == "try_task_config":
@@ -408,13 +408,13 @@ def target_tasks_try(full_task_graph, parameters, graph_config):
return []
-@_target_task("try_select_tasks")
+@register_target_task("try_select_tasks")
def target_tasks_try_select(full_task_graph, parameters, graph_config):
tasks = target_tasks_try_select_uncommon(full_task_graph, parameters, graph_config)
return [l for l in tasks if filter_by_uncommon_try_tasks(l)]
-@_target_task("try_select_tasks_uncommon")
+@register_target_task("try_select_tasks_uncommon")
def target_tasks_try_select_uncommon(full_task_graph, parameters, graph_config):
from gecko_taskgraph.decision import PER_PROJECT_PARAMETERS
@@ -440,7 +440,7 @@ def target_tasks_try_select_uncommon(full_task_graph, parameters, graph_config):
return sorted(tasks)
-@_target_task("try_auto")
+@register_target_task("try_auto")
def target_tasks_try_auto(full_task_graph, parameters, graph_config):
"""Target the tasks which have indicated they should be run on autoland
(rather than try) via the `run_on_projects` attributes.
@@ -471,7 +471,7 @@ def target_tasks_try_auto(full_task_graph, parameters, graph_config):
]
-@_target_task("default")
+@register_target_task("default")
def target_tasks_default(full_task_graph, parameters, graph_config):
"""Target the tasks which have indicated they should be run on this project
via the `run_on_projects` attributes."""
@@ -484,7 +484,7 @@ def target_tasks_default(full_task_graph, parameters, graph_config):
]
-@_target_task("autoland_tasks")
+@register_target_task("autoland_tasks")
def target_tasks_autoland(full_task_graph, parameters, graph_config):
"""In addition to doing the filtering by project that the 'default'
filter does, also remove any tests running against shippable builds
@@ -510,7 +510,7 @@ def target_tasks_autoland(full_task_graph, parameters, graph_config):
return [l for l in filtered_for_project if filter(full_task_graph[l])]
-@_target_task("mozilla_central_tasks")
+@register_target_task("mozilla_central_tasks")
def target_tasks_mozilla_central(full_task_graph, parameters, graph_config):
"""In addition to doing the filtering by project that the 'default'
filter does, also remove any tests running against regular (aka not shippable,
@@ -550,7 +550,7 @@ def target_tasks_mozilla_central(full_task_graph, parameters, graph_config):
return [l for l in filtered_for_project if filter(full_task_graph[l])]
-@_target_task("graphics_tasks")
+@register_target_task("graphics_tasks")
def target_tasks_graphics(full_task_graph, parameters, graph_config):
"""In addition to doing the filtering by project that the 'default'
filter does, also remove artifact builds because we have csets on
@@ -568,7 +568,7 @@ def target_tasks_graphics(full_task_graph, parameters, graph_config):
return [l for l in filtered_for_project if filter(full_task_graph[l])]
-@_target_task("mozilla_beta_tasks")
+@register_target_task("mozilla_beta_tasks")
def target_tasks_mozilla_beta(full_task_graph, parameters, graph_config):
"""Select the set of tasks required for a promotable beta or release build
of desktop, plus android CI. The candidates build process involves a pipeline
@@ -581,7 +581,7 @@ def target_tasks_mozilla_beta(full_task_graph, parameters, graph_config):
]
-@_target_task("mozilla_release_tasks")
+@register_target_task("mozilla_release_tasks")
def target_tasks_mozilla_release(full_task_graph, parameters, graph_config):
"""Select the set of tasks required for a promotable beta or release build
of desktop, plus android CI. The candidates build process involves a pipeline
@@ -594,7 +594,7 @@ def target_tasks_mozilla_release(full_task_graph, parameters, graph_config):
]
-@_target_task("mozilla_esr115_tasks")
+@register_target_task("mozilla_esr115_tasks")
def target_tasks_mozilla_esr115(full_task_graph, parameters, graph_config):
"""Select the set of tasks required for a promotable beta or release build
of desktop, without android CI. The candidates build process involves a pipeline
@@ -618,7 +618,7 @@ def target_tasks_mozilla_esr115(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t)]
-@_target_task("promote_desktop")
+@register_target_task("promote_desktop")
def target_tasks_promote_desktop(full_task_graph, parameters, graph_config):
"""Select the superset of tasks required to promote a beta or release build
of a desktop product. This should include all non-android
@@ -642,7 +642,7 @@ def target_tasks_promote_desktop(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t)]
-@_target_task("push_desktop")
+@register_target_task("push_desktop")
def target_tasks_push_desktop(full_task_graph, parameters, graph_config):
"""Select the set of tasks required to push a build of desktop to cdns.
Previous build deps will be optimized out via action task."""
@@ -668,7 +668,7 @@ def target_tasks_push_desktop(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t)]
-@_target_task("ship_desktop")
+@register_target_task("ship_desktop")
def target_tasks_ship_desktop(full_task_graph, parameters, graph_config):
"""Select the set of tasks required to ship desktop.
Previous build deps will be optimized out via action task."""
@@ -709,7 +709,7 @@ def target_tasks_ship_desktop(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t)]
-@_target_task("pine_tasks")
+@register_target_task("pine_tasks")
def target_tasks_pine(full_task_graph, parameters, graph_config):
"""Bug 1879960 - no reftests or wpt needed"""
filtered_for_project = target_tasks_default(
@@ -717,6 +717,8 @@ def target_tasks_pine(full_task_graph, parameters, graph_config):
)
def filter(task):
+ if "android" in task.attributes.get("build_platform", ""):
+ return False
suite = task.attributes.get("unittest_suite", "")
if "reftest" in suite or "web-platform" in suite:
return False
@@ -725,7 +727,7 @@ def target_tasks_pine(full_task_graph, parameters, graph_config):
return [l for l in filtered_for_project if filter(full_task_graph[l])]
-@_target_task("larch_tasks")
+@register_target_task("larch_tasks")
def target_tasks_larch(full_task_graph, parameters, graph_config):
"""Bug 1879213 - only run necessary tasks on larch"""
filtered_for_project = target_tasks_default(
@@ -749,7 +751,7 @@ def target_tasks_larch(full_task_graph, parameters, graph_config):
return [l for l in filtered_for_project if filter(full_task_graph[l])]
-@_target_task("kaios_tasks")
+@register_target_task("kaios_tasks")
def target_tasks_kaios(full_task_graph, parameters, graph_config):
"""The set of tasks to run for kaios integration"""
@@ -760,7 +762,7 @@ def target_tasks_kaios(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t)]
-@_target_task("custom-car_perf_testing")
+@register_target_task("custom-car_perf_testing")
def target_tasks_custom_car_perf_testing(full_task_graph, parameters, graph_config):
"""Select tasks required for running daily performance tests for custom chromium-as-release."""
@@ -787,7 +789,7 @@ def target_tasks_custom_car_perf_testing(full_task_graph, parameters, graph_conf
return [l for l, t in full_task_graph.tasks.items() if filter(t)]
-@_target_task("general_perf_testing")
+@register_target_task("general_perf_testing")
def target_tasks_general_perf_testing(full_task_graph, parameters, graph_config):
"""
Select tasks required for running performance tests 3 times a week.
@@ -910,7 +912,7 @@ def make_desktop_nightly_filter(platforms):
return filter
-@_target_task("sp-perftests")
+@register_target_task("sp-perftests")
def target_tasks_speedometer_tests(full_task_graph, parameters, graph_config):
def filter(task):
platform = task.attributes.get("test_platform")
@@ -934,7 +936,7 @@ def target_tasks_speedometer_tests(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t)]
-@_target_task("nightly_linux")
+@register_target_task("nightly_linux")
def target_tasks_nightly_linux(full_task_graph, parameters, graph_config):
"""Select the set of tasks required for a nightly build of linux. The
nightly build process involves a pipeline of builds, signing,
@@ -945,7 +947,7 @@ def target_tasks_nightly_linux(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t, parameters)]
-@_target_task("nightly_macosx")
+@register_target_task("nightly_macosx")
def target_tasks_nightly_macosx(full_task_graph, parameters, graph_config):
"""Select the set of tasks required for a nightly build of macosx. The
nightly build process involves a pipeline of builds, signing,
@@ -954,7 +956,7 @@ def target_tasks_nightly_macosx(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t, parameters)]
-@_target_task("nightly_win32")
+@register_target_task("nightly_win32")
def target_tasks_nightly_win32(full_task_graph, parameters, graph_config):
"""Select the set of tasks required for a nightly build of win32 and win64.
The nightly build process involves a pipeline of builds, signing,
@@ -963,7 +965,7 @@ def target_tasks_nightly_win32(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t, parameters)]
-@_target_task("nightly_win64")
+@register_target_task("nightly_win64")
def target_tasks_nightly_win64(full_task_graph, parameters, graph_config):
"""Select the set of tasks required for a nightly build of win32 and win64.
The nightly build process involves a pipeline of builds, signing,
@@ -972,7 +974,7 @@ def target_tasks_nightly_win64(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t, parameters)]
-@_target_task("nightly_win64_aarch64")
+@register_target_task("nightly_win64_aarch64")
def target_tasks_nightly_win64_aarch64(full_task_graph, parameters, graph_config):
"""Select the set of tasks required for a nightly build of win32 and win64.
The nightly build process involves a pipeline of builds, signing,
@@ -981,7 +983,7 @@ def target_tasks_nightly_win64_aarch64(full_task_graph, parameters, graph_config
return [l for l, t in full_task_graph.tasks.items() if filter(t, parameters)]
-@_target_task("nightly_asan")
+@register_target_task("nightly_asan")
def target_tasks_nightly_asan(full_task_graph, parameters, graph_config):
"""Select the set of tasks required for a nightly build of asan. The
nightly build process involves a pipeline of builds, signing,
@@ -992,7 +994,7 @@ def target_tasks_nightly_asan(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t, parameters)]
-@_target_task("daily_releases")
+@register_target_task("daily_releases")
def target_tasks_daily_releases(full_task_graph, parameters, graph_config):
"""Select the set of tasks required to identify if we should release.
If we determine that we should the task will communicate to ship-it to
@@ -1004,7 +1006,7 @@ def target_tasks_daily_releases(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t)]
-@_target_task("nightly_desktop")
+@register_target_task("nightly_desktop")
def target_tasks_nightly_desktop(full_task_graph, parameters, graph_config):
"""Select the set of tasks required for a nightly build of linux, mac,
windows."""
@@ -1042,7 +1044,7 @@ def target_tasks_nightly_desktop(full_task_graph, parameters, graph_config):
)
-@_target_task("nightly_all")
+@register_target_task("nightly_all")
def target_tasks_nightly_all(full_task_graph, parameters, graph_config):
"""Select the set of tasks required for a nightly build of firefox desktop and android"""
index_path = (
@@ -1065,7 +1067,7 @@ def target_tasks_nightly_all(full_task_graph, parameters, graph_config):
# Run Searchfox analysis once daily.
-@_target_task("searchfox_index")
+@register_target_task("searchfox_index")
def target_tasks_searchfox(full_task_graph, parameters, graph_config):
"""Select tasks required for indexing Firefox for Searchfox web site each day"""
return [
@@ -1081,7 +1083,7 @@ def target_tasks_searchfox(full_task_graph, parameters, graph_config):
# Run build linux64-plain-clang-trunk/opt on mozilla-central/beta with perf tests
-@_target_task("linux64_clang_trunk_perf")
+@register_target_task("linux64_clang_trunk_perf")
def target_tasks_build_linux64_clang_trunk_perf(
full_task_graph, parameters, graph_config
):
@@ -1097,19 +1099,19 @@ def target_tasks_build_linux64_clang_trunk_perf(
# Run Updatebot's cron job 4 times daily.
-@_target_task("updatebot_cron")
+@register_target_task("updatebot_cron")
def target_tasks_updatebot_cron(full_task_graph, parameters, graph_config):
"""Select tasks required to run Updatebot's cron job"""
return ["updatebot-cron"]
-@_target_task("customv8_update")
+@register_target_task("customv8_update")
def target_tasks_customv8_update(full_task_graph, parameters, graph_config):
"""Select tasks required for building latest d8/v8 version."""
return ["toolchain-linux64-custom-v8"]
-@_target_task("file_update")
+@register_target_task("file_update")
def target_tasks_file_update(full_task_graph, parameters, graph_config):
"""Select the set of tasks required to perform nightly in-tree file updates"""
@@ -1120,7 +1122,7 @@ def target_tasks_file_update(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t)]
-@_target_task("l10n_bump")
+@register_target_task("l10n_bump")
def target_tasks_l10n_bump(full_task_graph, parameters, graph_config):
"""Select the set of tasks required to perform l10n bumping."""
@@ -1131,7 +1133,7 @@ def target_tasks_l10n_bump(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t)]
-@_target_task("merge_automation")
+@register_target_task("merge_automation")
def target_tasks_merge_automation(full_task_graph, parameters, graph_config):
"""Select the set of tasks required to perform repository merges."""
@@ -1142,7 +1144,7 @@ def target_tasks_merge_automation(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t)]
-@_target_task("scriptworker_canary")
+@register_target_task("scriptworker_canary")
def target_tasks_scriptworker_canary(full_task_graph, parameters, graph_config):
"""Select the set of tasks required to run scriptworker canaries."""
@@ -1153,7 +1155,7 @@ def target_tasks_scriptworker_canary(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t)]
-@_target_task("cron_bouncer_check")
+@register_target_task("cron_bouncer_check")
def target_tasks_bouncer_check(full_task_graph, parameters, graph_config):
"""Select the set of tasks required to perform bouncer version verification."""
@@ -1166,7 +1168,7 @@ def target_tasks_bouncer_check(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t)]
-@_target_task("staging_release_builds")
+@register_target_task("staging_release_builds")
def target_tasks_staging_release(full_task_graph, parameters, graph_config):
"""
Select all builds that are part of releases.
@@ -1190,7 +1192,7 @@ def target_tasks_staging_release(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t)]
-@_target_task("release_simulation")
+@register_target_task("release_simulation")
def target_tasks_release_simulation(full_task_graph, parameters, graph_config):
"""
Select builds that would run on push on a release branch.
@@ -1227,7 +1229,7 @@ def target_tasks_release_simulation(full_task_graph, parameters, graph_config):
]
-@_target_task("codereview")
+@register_target_task("codereview")
def target_tasks_codereview(full_task_graph, parameters, graph_config):
"""Select all code review tasks needed to produce a report"""
@@ -1245,13 +1247,13 @@ def target_tasks_codereview(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t)]
-@_target_task("nothing")
+@register_target_task("nothing")
def target_tasks_nothing(full_task_graph, parameters, graph_config):
"""Select nothing, for DONTBUILD pushes"""
return []
-@_target_task("daily_beta_perf")
+@register_target_task("daily_beta_perf")
def target_tasks_daily_beta_perf(full_task_graph, parameters, graph_config):
"""
Select performance tests on the beta branch to be run daily
@@ -1353,7 +1355,7 @@ def target_tasks_daily_beta_perf(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t)]
-@_target_task("weekly_release_perf")
+@register_target_task("weekly_release_perf")
def target_tasks_weekly_release_perf(full_task_graph, parameters, graph_config):
"""
Select performance tests on the release branch to be run weekly
@@ -1421,7 +1423,7 @@ def target_tasks_weekly_release_perf(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t)]
-@_target_task("raptor_tp6m")
+@register_target_task("raptor_tp6m")
def target_tasks_raptor_tp6m(full_task_graph, parameters, graph_config):
"""
Select tasks required for running raptor cold page-load tests on fenix and refbrow
@@ -1448,7 +1450,7 @@ def target_tasks_raptor_tp6m(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t)]
-@_target_task("backfill_all_browsertime")
+@register_target_task("backfill_all_browsertime")
def target_tasks_backfill_all_browsertime(full_task_graph, parameters, graph_config):
"""
Search for revisions that contains patches that were reviewed by perftest reviewers
@@ -1516,7 +1518,7 @@ def target_tasks_backfill_all_browsertime(full_task_graph, parameters, graph_con
return []
-@_target_task("condprof")
+@register_target_task("condprof")
def target_tasks_condprof(full_task_graph, parameters, graph_config):
"""
Select tasks required for building conditioned profiles.
@@ -1527,7 +1529,7 @@ def target_tasks_condprof(full_task_graph, parameters, graph_config):
yield name
-@_target_task("system_symbols")
+@register_target_task("system_symbols")
def target_tasks_system_symbols(full_task_graph, parameters, graph_config):
"""
Select tasks for scraping and uploading system symbols.
@@ -1541,7 +1543,7 @@ def target_tasks_system_symbols(full_task_graph, parameters, graph_config):
yield name
-@_target_task("perftest")
+@register_target_task("perftest")
def target_tasks_perftest(full_task_graph, parameters, graph_config):
"""
Select perftest tasks we want to run daily
@@ -1553,7 +1555,7 @@ def target_tasks_perftest(full_task_graph, parameters, graph_config):
yield name
-@_target_task("perftest-on-autoland")
+@register_target_task("perftest-on-autoland")
def target_tasks_perftest_autoland(full_task_graph, parameters, graph_config):
"""
Select perftest tasks we want to run daily
@@ -1567,7 +1569,7 @@ def target_tasks_perftest_autoland(full_task_graph, parameters, graph_config):
yield name
-@_target_task("l10n-cross-channel")
+@register_target_task("l10n-cross-channel")
def target_tasks_l10n_cross_channel(full_task_graph, parameters, graph_config):
"""Select the set of tasks required to run l10n cross-channel."""
@@ -1577,7 +1579,7 @@ def target_tasks_l10n_cross_channel(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t)]
-@_target_task("eslint-build")
+@register_target_task("eslint-build")
def target_tasks_eslint_build(full_task_graph, parameters, graph_config):
"""Select the task to run additional ESLint rules which require a build."""
@@ -1588,7 +1590,7 @@ def target_tasks_eslint_build(full_task_graph, parameters, graph_config):
yield name
-@_target_task("holly_tasks")
+@register_target_task("holly_tasks")
def target_tasks_holly(full_task_graph, parameters, graph_config):
"""Bug 1814661: only run updatebot tasks on holly"""
@@ -1598,7 +1600,7 @@ def target_tasks_holly(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t)]
-@_target_task("snap_upstream_tests")
+@register_target_task("snap_upstream_tests")
def target_tasks_snap_upstream_tests(full_task_graph, parameters, graph_config):
"""
Select tasks for testing Snap package built as upstream. Omit -try because
@@ -1609,7 +1611,7 @@ def target_tasks_snap_upstream_tests(full_task_graph, parameters, graph_config):
yield name
-@_target_task("nightly-android")
+@register_target_task("nightly-android")
def target_tasks_nightly_android(full_task_graph, parameters, graph_config):
def filter(task, parameters):
# geckoview
@@ -1645,11 +1647,11 @@ def target_tasks_nightly_android(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t, parameters)]
-@_target_task("android-l10n-import")
+@register_target_task("android-l10n-import")
def target_tasks_android_l10n_import(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if l == "android-l10n-import"]
-@_target_task("android-l10n-sync")
+@register_target_task("android-l10n-sync")
def target_tasks_android_l10n_sync(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if l == "android-l10n-sync"]
diff --git a/taskcluster/gecko_taskgraph/test/automationrelevance.json b/taskcluster/gecko_taskgraph/test/automationrelevance.json
deleted file mode 100644
index 3bdfa9ed9e..0000000000
--- a/taskcluster/gecko_taskgraph/test/automationrelevance.json
+++ /dev/null
@@ -1,358 +0,0 @@
-{
- "changesets": [
- {
- "author": "James Long <longster@gmail.com>",
- "backsoutnodes": [],
- "bugs": [
- {
- "no": "1300866",
- "url": "https://bugzilla.mozilla.org/show_bug.cgi?id=1300866"
- }
- ],
- "date": [1473196655.0, 14400],
- "desc": "Bug 1300866 - expose devtools require to new debugger r=jlast,bgrins",
- "extra": {
- "branch": "default"
- },
- "files": ["devtools/client/debugger/index.html"],
- "node": "ae2144aa4356b65c2f8c0de8c9082dcb7e330e24",
- "parents": ["37c9349b4e8167a61b08b7e119c21ea177b98942"],
- "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&originalRevision=a14f88a9af7a59e677478694bafd9375ac53683e&newProject=mozilla-central&newRevision=ae2144aa4356b65c2f8c0de8c9082dcb7e330e24",
- "pushdate": [1473261248, 0],
- "pushhead": "a14f88a9af7a59e677478694bafd9375ac53683e",
- "pushid": 30664,
- "pushnodes": [
- "ae2144aa4356b65c2f8c0de8c9082dcb7e330e24",
- "73a6a267a50a0e1c41e689b265ad3eebe43d7ac6",
- "16a1a91f9269ab95dd83eb29dc5d0227665f7d94",
- "99c542fa43a72ee863c813b5624048d1b443549b",
- "a6b6a93eb41a05e310a11f0172f01ba9b21d3eac",
- "541c9086c0f27fba60beecc9bc94543103895c86",
- "041a925171e431bf51fb50193ab19d156088c89a",
- "a14f88a9af7a59e677478694bafd9375ac53683e"
- ],
- "pushuser": "cbook@mozilla.com",
- "rev": 312890,
- "reviewers": [
- {
- "name": "jlast",
- "revset": "reviewer(jlast)"
- },
- {
- "name": "bgrins",
- "revset": "reviewer(bgrins)"
- }
- ],
- "treeherderrepo": "mozilla-central",
- "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=mozilla-central"
- },
- {
- "author": "Wes Kocher <wkocher@mozilla.com>",
- "backsoutnodes": [],
- "bugs": [],
- "date": [1473208638.0, 25200],
- "desc": "Merge m-c to fx-team, a=merge",
- "extra": {
- "branch": "default"
- },
- "files": ["taskcluster/scripts/builder/build-l10n.sh"],
- "node": "73a6a267a50a0e1c41e689b265ad3eebe43d7ac6",
- "parents": [
- "ae2144aa4356b65c2f8c0de8c9082dcb7e330e24",
- "91c2b9d5c1354ca79e5b174591dbb03b32b15bbf"
- ],
- "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&originalRevision=a14f88a9af7a59e677478694bafd9375ac53683e&newProject=mozilla-central&newRevision=ae2144aa4356b65c2f8c0de8c9082dcb7e330e24",
- "pushdate": [1473261248, 0],
- "pushhead": "a14f88a9af7a59e677478694bafd9375ac53683e",
- "pushid": 30664,
- "pushnodes": [
- "ae2144aa4356b65c2f8c0de8c9082dcb7e330e24",
- "73a6a267a50a0e1c41e689b265ad3eebe43d7ac6",
- "16a1a91f9269ab95dd83eb29dc5d0227665f7d94",
- "99c542fa43a72ee863c813b5624048d1b443549b",
- "a6b6a93eb41a05e310a11f0172f01ba9b21d3eac",
- "541c9086c0f27fba60beecc9bc94543103895c86",
- "041a925171e431bf51fb50193ab19d156088c89a",
- "a14f88a9af7a59e677478694bafd9375ac53683e"
- ],
- "pushuser": "cbook@mozilla.com",
- "rev": 312891,
- "reviewers": [
- {
- "name": "merge",
- "revset": "reviewer(merge)"
- }
- ],
- "treeherderrepo": "mozilla-central",
- "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=mozilla-central"
- },
- {
- "author": "Towkir Ahmed <towkir17@gmail.com>",
- "backsoutnodes": [],
- "bugs": [
- {
- "no": "1296648",
- "url": "https://bugzilla.mozilla.org/show_bug.cgi?id=1296648"
- }
- ],
- "date": [1472957580.0, 14400],
- "desc": "Bug 1296648 - Fix direction of .ruleview-expander.theme-twisty in RTL locales. r=ntim",
- "extra": {
- "branch": "default"
- },
- "files": ["devtools/client/themes/rules.css"],
- "node": "16a1a91f9269ab95dd83eb29dc5d0227665f7d94",
- "parents": ["73a6a267a50a0e1c41e689b265ad3eebe43d7ac6"],
- "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&originalRevision=a14f88a9af7a59e677478694bafd9375ac53683e&newProject=mozilla-central&newRevision=ae2144aa4356b65c2f8c0de8c9082dcb7e330e24",
- "pushdate": [1473261248, 0],
- "pushhead": "a14f88a9af7a59e677478694bafd9375ac53683e",
- "pushid": 30664,
- "pushnodes": [
- "ae2144aa4356b65c2f8c0de8c9082dcb7e330e24",
- "73a6a267a50a0e1c41e689b265ad3eebe43d7ac6",
- "16a1a91f9269ab95dd83eb29dc5d0227665f7d94",
- "99c542fa43a72ee863c813b5624048d1b443549b",
- "a6b6a93eb41a05e310a11f0172f01ba9b21d3eac",
- "541c9086c0f27fba60beecc9bc94543103895c86",
- "041a925171e431bf51fb50193ab19d156088c89a",
- "a14f88a9af7a59e677478694bafd9375ac53683e"
- ],
- "pushuser": "cbook@mozilla.com",
- "rev": 312892,
- "reviewers": [
- {
- "name": "ntim",
- "revset": "reviewer(ntim)"
- }
- ],
- "treeherderrepo": "mozilla-central",
- "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=mozilla-central"
- },
- {
- "author": "Oriol <oriol-bugzilla@hotmail.com>",
- "backsoutnodes": [],
- "bugs": [
- {
- "no": "1300336",
- "url": "https://bugzilla.mozilla.org/show_bug.cgi?id=1300336"
- }
- ],
- "date": [1472921160.0, 14400],
- "desc": "Bug 1300336 - Allow pseudo-arrays to have a length property. r=fitzgen",
- "extra": {
- "branch": "default"
- },
- "files": [
- "devtools/client/webconsole/test/browser_webconsole_output_06.js",
- "devtools/server/actors/object.js"
- ],
- "node": "99c542fa43a72ee863c813b5624048d1b443549b",
- "parents": ["16a1a91f9269ab95dd83eb29dc5d0227665f7d94"],
- "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&originalRevision=a14f88a9af7a59e677478694bafd9375ac53683e&newProject=mozilla-central&newRevision=ae2144aa4356b65c2f8c0de8c9082dcb7e330e24",
- "pushdate": [1473261248, 0],
- "pushhead": "a14f88a9af7a59e677478694bafd9375ac53683e",
- "pushid": 30664,
- "pushnodes": [
- "ae2144aa4356b65c2f8c0de8c9082dcb7e330e24",
- "73a6a267a50a0e1c41e689b265ad3eebe43d7ac6",
- "16a1a91f9269ab95dd83eb29dc5d0227665f7d94",
- "99c542fa43a72ee863c813b5624048d1b443549b",
- "a6b6a93eb41a05e310a11f0172f01ba9b21d3eac",
- "541c9086c0f27fba60beecc9bc94543103895c86",
- "041a925171e431bf51fb50193ab19d156088c89a",
- "a14f88a9af7a59e677478694bafd9375ac53683e"
- ],
- "pushuser": "cbook@mozilla.com",
- "rev": 312893,
- "reviewers": [
- {
- "name": "fitzgen",
- "revset": "reviewer(fitzgen)"
- }
- ],
- "treeherderrepo": "mozilla-central",
- "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=mozilla-central"
- },
- {
- "author": "Ruturaj Vartak <ruturaj@gmail.com>",
- "backsoutnodes": [],
- "bugs": [
- {
- "no": "1295010",
- "url": "https://bugzilla.mozilla.org/show_bug.cgi?id=1295010"
- }
- ],
- "date": [1472854020.0, -7200],
- "desc": "Bug 1295010 - Don't move the eyedropper to the out of browser window by keyboard navigation. r=pbro\n\nMozReview-Commit-ID: vBwmSxVNXK",
- "extra": {
- "amend_source": "6885024ef00cfa33d73c59dc03c48ebcda9ccbdd",
- "branch": "default",
- "histedit_source": "c43167f0a7cbe9f4c733b15da726e5150a9529ba",
- "rebase_source": "b74df421630fc46dab6b6cc026bf3e0ae6b4a651"
- },
- "files": [
- "devtools/client/inspector/test/browser_inspector_highlighter-eyedropper-events.js",
- "devtools/client/inspector/test/head.js",
- "devtools/server/actors/highlighters/eye-dropper.js"
- ],
- "node": "a6b6a93eb41a05e310a11f0172f01ba9b21d3eac",
- "parents": ["99c542fa43a72ee863c813b5624048d1b443549b"],
- "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&originalRevision=a14f88a9af7a59e677478694bafd9375ac53683e&newProject=mozilla-central&newRevision=ae2144aa4356b65c2f8c0de8c9082dcb7e330e24",
- "pushdate": [1473261248, 0],
- "pushhead": "a14f88a9af7a59e677478694bafd9375ac53683e",
- "pushid": 30664,
- "pushnodes": [
- "ae2144aa4356b65c2f8c0de8c9082dcb7e330e24",
- "73a6a267a50a0e1c41e689b265ad3eebe43d7ac6",
- "16a1a91f9269ab95dd83eb29dc5d0227665f7d94",
- "99c542fa43a72ee863c813b5624048d1b443549b",
- "a6b6a93eb41a05e310a11f0172f01ba9b21d3eac",
- "541c9086c0f27fba60beecc9bc94543103895c86",
- "041a925171e431bf51fb50193ab19d156088c89a",
- "a14f88a9af7a59e677478694bafd9375ac53683e"
- ],
- "pushuser": "cbook@mozilla.com",
- "rev": 312894,
- "reviewers": [
- {
- "name": "pbro",
- "revset": "reviewer(pbro)"
- }
- ],
- "treeherderrepo": "mozilla-central",
- "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=mozilla-central"
- },
- {
- "author": "Matteo Ferretti <mferretti@mozilla.com>",
- "backsoutnodes": [],
- "bugs": [
- {
- "no": "1299154",
- "url": "https://bugzilla.mozilla.org/show_bug.cgi?id=1299154"
- }
- ],
- "date": [1472629906.0, -7200],
- "desc": "Bug 1299154 - added Set/GetOverrideDPPX to restorefromHistory; r=mstange\n\nMozReview-Commit-ID: AsyAcG3Igbn\n",
- "extra": {
- "branch": "default",
- "committer": "Matteo Ferretti <mferretti@mozilla.com> 1473236511 -7200"
- },
- "files": [
- "docshell/base/nsDocShell.cpp",
- "dom/tests/mochitest/general/test_contentViewer_overrideDPPX.html"
- ],
- "node": "541c9086c0f27fba60beecc9bc94543103895c86",
- "parents": ["a6b6a93eb41a05e310a11f0172f01ba9b21d3eac"],
- "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&originalRevision=a14f88a9af7a59e677478694bafd9375ac53683e&newProject=mozilla-central&newRevision=ae2144aa4356b65c2f8c0de8c9082dcb7e330e24",
- "pushdate": [1473261248, 0],
- "pushhead": "a14f88a9af7a59e677478694bafd9375ac53683e",
- "pushid": 30664,
- "pushnodes": [
- "ae2144aa4356b65c2f8c0de8c9082dcb7e330e24",
- "73a6a267a50a0e1c41e689b265ad3eebe43d7ac6",
- "16a1a91f9269ab95dd83eb29dc5d0227665f7d94",
- "99c542fa43a72ee863c813b5624048d1b443549b",
- "a6b6a93eb41a05e310a11f0172f01ba9b21d3eac",
- "541c9086c0f27fba60beecc9bc94543103895c86",
- "041a925171e431bf51fb50193ab19d156088c89a",
- "a14f88a9af7a59e677478694bafd9375ac53683e"
- ],
- "pushuser": "cbook@mozilla.com",
- "rev": 312895,
- "reviewers": [
- {
- "name": "mstange",
- "revset": "reviewer(mstange)"
- }
- ],
- "treeherderrepo": "mozilla-central",
- "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=mozilla-central"
- },
- {
- "author": "Patrick Brosset <pbrosset@mozilla.com>",
- "backsoutnodes": [],
- "bugs": [
- {
- "no": "1295010",
- "url": "https://bugzilla.mozilla.org/show_bug.cgi?id=1295010"
- }
- ],
- "date": [1473239449.0, -7200],
- "desc": "Bug 1295010 - Removed testActor from highlighterHelper in inspector tests; r=me\n\nMozReview-Commit-ID: GMksl81iGcp",
- "extra": {
- "branch": "default"
- },
- "files": [
- "devtools/client/inspector/test/browser_inspector_highlighter-eyedropper-events.js",
- "devtools/client/inspector/test/head.js"
- ],
- "node": "041a925171e431bf51fb50193ab19d156088c89a",
- "parents": ["541c9086c0f27fba60beecc9bc94543103895c86"],
- "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&originalRevision=a14f88a9af7a59e677478694bafd9375ac53683e&newProject=mozilla-central&newRevision=ae2144aa4356b65c2f8c0de8c9082dcb7e330e24",
- "pushdate": [1473261248, 0],
- "pushhead": "a14f88a9af7a59e677478694bafd9375ac53683e",
- "pushid": 30664,
- "pushnodes": [
- "ae2144aa4356b65c2f8c0de8c9082dcb7e330e24",
- "73a6a267a50a0e1c41e689b265ad3eebe43d7ac6",
- "16a1a91f9269ab95dd83eb29dc5d0227665f7d94",
- "99c542fa43a72ee863c813b5624048d1b443549b",
- "a6b6a93eb41a05e310a11f0172f01ba9b21d3eac",
- "541c9086c0f27fba60beecc9bc94543103895c86",
- "041a925171e431bf51fb50193ab19d156088c89a",
- "a14f88a9af7a59e677478694bafd9375ac53683e"
- ],
- "pushuser": "cbook@mozilla.com",
- "rev": 312896,
- "reviewers": [
- {
- "name": "me",
- "revset": "reviewer(me)"
- }
- ],
- "treeherderrepo": "mozilla-central",
- "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=mozilla-central"
- },
- {
- "author": "Carsten \"Tomcat\" Book <cbook@mozilla.com>",
- "backsoutnodes": [],
- "bugs": [],
- "date": [1473261233.0, -7200],
- "desc": "merge fx-team to mozilla-central a=merge",
- "extra": {
- "branch": "default"
- },
- "files": [],
- "node": "a14f88a9af7a59e677478694bafd9375ac53683e",
- "parents": [
- "3d0b41fdd93bd8233745eadb4e0358e385bf2cb9",
- "041a925171e431bf51fb50193ab19d156088c89a"
- ],
- "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&originalRevision=a14f88a9af7a59e677478694bafd9375ac53683e&newProject=mozilla-central&newRevision=ae2144aa4356b65c2f8c0de8c9082dcb7e330e24",
- "pushdate": [1473261248, 0],
- "pushhead": "a14f88a9af7a59e677478694bafd9375ac53683e",
- "pushid": 30664,
- "pushnodes": [
- "ae2144aa4356b65c2f8c0de8c9082dcb7e330e24",
- "73a6a267a50a0e1c41e689b265ad3eebe43d7ac6",
- "16a1a91f9269ab95dd83eb29dc5d0227665f7d94",
- "99c542fa43a72ee863c813b5624048d1b443549b",
- "a6b6a93eb41a05e310a11f0172f01ba9b21d3eac",
- "541c9086c0f27fba60beecc9bc94543103895c86",
- "041a925171e431bf51fb50193ab19d156088c89a",
- "a14f88a9af7a59e677478694bafd9375ac53683e"
- ],
- "pushuser": "cbook@mozilla.com",
- "rev": 312897,
- "reviewers": [
- {
- "name": "merge",
- "revset": "reviewer(merge)"
- }
- ],
- "treeherderrepo": "mozilla-central",
- "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=mozilla-central"
- }
- ],
- "visible": true
-}
diff --git a/taskcluster/gecko_taskgraph/test/conftest.py b/taskcluster/gecko_taskgraph/test/conftest.py
index ff3d6ce2bd..758d3402b5 100644
--- a/taskcluster/gecko_taskgraph/test/conftest.py
+++ b/taskcluster/gecko_taskgraph/test/conftest.py
@@ -47,7 +47,7 @@ def enable_logging():
@pytest.fixture(scope="session")
def graph_config():
- return load_graph_config(os.path.join(GECKO, "taskcluster", "ci"))
+ return load_graph_config(os.path.join(GECKO, "taskcluster"))
@pytest.fixture(scope="session")
diff --git a/taskcluster/gecko_taskgraph/test/test_actions_util.py b/taskcluster/gecko_taskgraph/test/test_actions_util.py
index 7c38caea57..0838dafc11 100644
--- a/taskcluster/gecko_taskgraph/test/test_actions_util.py
+++ b/taskcluster/gecko_taskgraph/test/test_actions_util.py
@@ -155,6 +155,7 @@ def is_subset(subset, superset):
def test_extract_applicable_action(
responses, monkeypatch, actions_json, task_def, expected
):
+ actions.util.get_task_definition.cache_clear()
base_url = "https://taskcluster"
decision_task_id = "dddd"
task_id = "tttt"
diff --git a/taskcluster/gecko_taskgraph/test/test_files_changed.py b/taskcluster/gecko_taskgraph/test/test_files_changed.py
index 5b9a016649..389dbb4093 100644
--- a/taskcluster/gecko_taskgraph/test/test_files_changed.py
+++ b/taskcluster/gecko_taskgraph/test/test_files_changed.py
@@ -3,14 +3,11 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-import json
-import os
import unittest
from mozunit import main
from gecko_taskgraph import files_changed
-from gecko_taskgraph.util import hg
PARAMS = {
"head_repository": "https://hg.mozilla.org/mozilla-central",
@@ -31,40 +28,17 @@ FILES_CHANGED = [
]
-class FakeResponse:
- def json(self):
- with open(
- os.path.join(os.path.dirname(__file__), "automationrelevance.json")
- ) as f:
- return json.load(f)
-
-
-class TestGetChangedFiles(unittest.TestCase):
- def setUp(self):
- files_changed.get_changed_files.clear()
- self.old_get = hg.requests.get
-
- def fake_get(url, **kwargs):
- return FakeResponse()
-
- hg.requests.get = fake_get
-
- def tearDown(self):
- hg.requests.get = self.old_get
- files_changed.get_changed_files.clear()
-
- def test_get_changed_files(self):
- """Get_changed_files correctly gets the list of changed files in a push.
- This tests against the production hg.mozilla.org so that it will detect
- any changes in the format of the returned data."""
- self.assertEqual(
- sorted(
- files_changed.get_changed_files(
- PARAMS["head_repository"], PARAMS["head_rev"]
- )
- ),
- FILES_CHANGED,
+def test_get_changed_files(responses):
+ url = f"{PARAMS['head_repository']}/json-pushchangedfiles/{PARAMS['head_rev']}"
+ responses.add(responses.GET, url, status=200, json={"files": FILES_CHANGED})
+ assert (
+ sorted(
+ files_changed.get_changed_files(
+ PARAMS["head_repository"], PARAMS["head_rev"]
+ )
)
+ == FILES_CHANGED
+ )
class TestCheck(unittest.TestCase):
diff --git a/taskcluster/gecko_taskgraph/test/test_optimize_strategies.py b/taskcluster/gecko_taskgraph/test/test_optimize_strategies.py
index 1240d71cf8..2c10ba449a 100644
--- a/taskcluster/gecko_taskgraph/test/test_optimize_strategies.py
+++ b/taskcluster/gecko_taskgraph/test/test_optimize_strategies.py
@@ -19,6 +19,7 @@ from gecko_taskgraph.optimize.bugbug import (
DisperseGroups,
SkipUnlessDebug,
)
+from gecko_taskgraph.optimize.mozlint import SkipUnlessMozlint
from gecko_taskgraph.optimize.strategies import SkipUnlessSchedules
from gecko_taskgraph.util.backstop import BACKSTOP_PUSH_INTERVAL
from gecko_taskgraph.util.bugbug import (
@@ -511,5 +512,79 @@ def test_project_autoland_test(monkeypatch, responses, params):
assert scheduled == {"task-0-label", "task-1-label"}
+@pytest.mark.parametrize(
+ "pushed_files,to_lint,expected",
+ [
+ pytest.param(
+ ["a/b/c.txt"],
+ [],
+ True,
+ ),
+ pytest.param(
+ ["python/mozlint/a/support_file.txt", "b/c/d.txt"],
+ ["python/mozlint/a/support_file.txt"],
+ False,
+ ),
+ ],
+ ids=idfn,
+)
+def test_mozlint_should_remove_task(
+ monkeypatch, params, pushed_files, to_lint, expected
+):
+ import mozlint.pathutils
+
+ class MockParser:
+ def __call__(self, *args, **kwargs):
+ return []
+
+ def mock_filterpaths(*args, **kwargs):
+ return to_lint, None
+
+ monkeypatch.setattr(mozlint.pathutils, "filterpaths", mock_filterpaths)
+
+ opt = SkipUnlessMozlint("")
+ monkeypatch.setattr(opt, "mozlint_parser", MockParser())
+ params["files_changed"] = pushed_files
+
+ result = opt.should_remove_task(default_tasks[0], params, "")
+ assert result == expected
+
+
+@pytest.mark.parametrize(
+ "pushed_files,linter_config,expected",
+ [
+ pytest.param(
+ ["a/b/c.txt"],
+ [{"include": ["b/c"]}],
+ True,
+ ),
+ pytest.param(
+ ["a/b/c.txt"],
+ [{"include": ["a/b"], "exclude": ["a/b/c.txt"]}],
+ True,
+ ),
+ pytest.param(
+ ["python/mozlint/a/support_file.txt", "b/c/d.txt"],
+ [{}],
+ False,
+ ),
+ ],
+ ids=idfn,
+)
+def test_mozlint_should_remove_task2(
+ monkeypatch, params, pushed_files, linter_config, expected
+):
+ class MockParser:
+ def __call__(self, *args, **kwargs):
+ return linter_config
+
+ opt = SkipUnlessMozlint("")
+ monkeypatch.setattr(opt, "mozlint_parser", MockParser())
+ params["files_changed"] = pushed_files
+
+ result = opt.should_remove_task(default_tasks[0], params, "")
+ assert result == expected
+
+
if __name__ == "__main__":
main()
diff --git a/taskcluster/gecko_taskgraph/test/test_transforms_job.py b/taskcluster/gecko_taskgraph/test/test_transforms_job.py
index b032307ea6..6161a36054 100644
--- a/taskcluster/gecko_taskgraph/test/test_transforms_job.py
+++ b/taskcluster/gecko_taskgraph/test/test_transforms_job.py
@@ -37,7 +37,7 @@ TASK_DEFAULTS = {
@pytest.fixture(scope="module")
def config():
- graph_config = load_graph_config(os.path.join(GECKO, "taskcluster", "ci"))
+ graph_config = load_graph_config(os.path.join(GECKO, "taskcluster"))
params = FakeParameters(
{
"base_repository": "http://hg.example.com",
diff --git a/taskcluster/gecko_taskgraph/transforms/bouncer_submission.py b/taskcluster/gecko_taskgraph/transforms/bouncer_submission.py
index fb5b17d3b3..1434b4013a 100644
--- a/taskcluster/gecko_taskgraph/transforms/bouncer_submission.py
+++ b/taskcluster/gecko_taskgraph/transforms/bouncer_submission.py
@@ -101,6 +101,7 @@ CONFIG_PER_BOUNCER_PRODUCT = {
"file_names": {
"win": "{pretty_product}%20Setup%20{version}.msix",
"win64": "{pretty_product}%20Setup%20{version}.msix",
+ "win64-aarch64": "{pretty_product}%20Setup%20{version}.msix",
},
},
"pkg": {
diff --git a/taskcluster/gecko_taskgraph/transforms/build.py b/taskcluster/gecko_taskgraph/transforms/build.py
index 4e73c5aef2..3ab22f2923 100644
--- a/taskcluster/gecko_taskgraph/transforms/build.py
+++ b/taskcluster/gecko_taskgraph/transforms/build.py
@@ -139,6 +139,10 @@ def use_artifact(config, jobs):
and job.get("index", {}).get("job-name") in ARTIFACT_JOBS
# If tests aren't packaged, then we are not able to rebuild all the packages
and job["worker"]["env"].get("MOZ_AUTOMATION_PACKAGE_TESTS") == "1"
+ # Android shippable artifact builds are not supported
+ and not (
+ "android" in job["name"] and job["attributes"].get("shippable", False)
+ )
):
job["treeherder"]["symbol"] = add_suffix(job["treeherder"]["symbol"], "a")
job["worker"]["env"]["USE_ARTIFACT"] = "1"
diff --git a/taskcluster/gecko_taskgraph/transforms/build_schedules.py b/taskcluster/gecko_taskgraph/transforms/build_schedules.py
index ed6262b8b2..f9621adf77 100644
--- a/taskcluster/gecko_taskgraph/transforms/build_schedules.py
+++ b/taskcluster/gecko_taskgraph/transforms/build_schedules.py
@@ -19,15 +19,7 @@ def set_build_schedules_optimization(config, tasks):
continue
schedules = []
- if config.kind == "build":
- family = platform_family(task["attributes"]["build_platform"])
- schedules = [family]
-
- if "android" not in family:
- # These are not GeckoView builds, so are associated with Firefox.
- schedules.append("firefox")
-
- elif config.kind in (
+ if config.kind in (
"build-components",
"build-samples-browser",
"test-components",
@@ -44,5 +36,13 @@ def set_build_schedules_optimization(config, tasks):
elif "focus" in task["name"] or "klar" in task["name"]:
schedules.append("focus-android")
+ else:
+ family = platform_family(task["attributes"]["build_platform"])
+ schedules = [family]
+
+ if "android" not in family:
+ # These are not GeckoView builds, so are associated with Firefox.
+ schedules.append("firefox")
+
task["optimization"] = {"build": schedules}
yield task
diff --git a/taskcluster/gecko_taskgraph/transforms/diffoscope.py b/taskcluster/gecko_taskgraph/transforms/diffoscope.py
index b74dc5bb8f..05c6617950 100644
--- a/taskcluster/gecko_taskgraph/transforms/diffoscope.py
+++ b/taskcluster/gecko_taskgraph/transforms/diffoscope.py
@@ -32,7 +32,7 @@ diff_description_schema = Schema(
Required("original"): index_or_string,
Required("new"): index_or_string,
# Arguments to pass to diffoscope, used for job-defaults in
- # taskcluster/ci/diffoscope/kind.yml
+ # taskcluster/kinds/diffoscope/kind.yml
Optional("args"): str,
# Extra arguments to pass to diffoscope, that can be set per job.
Optional("extra-args"): str,
diff --git a/taskcluster/gecko_taskgraph/transforms/github_sync.py b/taskcluster/gecko_taskgraph/transforms/github_sync.py
deleted file mode 100644
index 6f48f794ce..0000000000
--- a/taskcluster/gecko_taskgraph/transforms/github_sync.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 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/.
-
-from taskgraph.transforms.base import TransformSequence
-
-transforms = TransformSequence()
-
-
-@transforms.add
-def sync_github(config, tasks):
- """Do transforms specific to github-sync tasks."""
- for task in tasks:
- # Add the secret to the scopes, only in m-c.
- # Doing this on any other tree will result in decision task failure
- # because m-c is the only one allowed to have that scope.
- secret = task["secret"]
- if config.params["project"] == "mozilla-central":
- task.setdefault("scopes", [])
- task["scopes"].append("secrets:get:" + secret)
- task["worker"].setdefault("env", {})["GITHUB_SECRET"] = secret
- del task["secret"]
- yield task
diff --git a/taskcluster/gecko_taskgraph/transforms/perftest.py b/taskcluster/gecko_taskgraph/transforms/perftest.py
index 47baafdad7..066db956f7 100644
--- a/taskcluster/gecko_taskgraph/transforms/perftest.py
+++ b/taskcluster/gecko_taskgraph/transforms/perftest.py
@@ -1,3 +1,4 @@
+# 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/.
"""
diff --git a/taskcluster/gecko_taskgraph/transforms/reprocess_symbols.py b/taskcluster/gecko_taskgraph/transforms/reprocess_symbols.py
index ea2cac3a68..48465b3ab7 100644
--- a/taskcluster/gecko_taskgraph/transforms/reprocess_symbols.py
+++ b/taskcluster/gecko_taskgraph/transforms/reprocess_symbols.py
@@ -3,7 +3,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
"""
Transform the reprocess-symbols task description template,
-taskcluster/ci/reprocess-symbols/job-template.yml into an actual task description.
+taskcluster/kinds/reprocess-symbols/job-template.yml into an actual task description.
"""
diff --git a/taskcluster/gecko_taskgraph/transforms/signing.py b/taskcluster/gecko_taskgraph/transforms/signing.py
index 1bf91effd1..760f9f122f 100644
--- a/taskcluster/gecko_taskgraph/transforms/signing.py
+++ b/taskcluster/gecko_taskgraph/transforms/signing.py
@@ -61,6 +61,14 @@ signing_description_schema = Schema(
)
+def get_locales_description(attributes, default):
+ """Returns the [list] of locales for task description usage"""
+ chunk_locales = attributes.get("chunk_locales")
+ if chunk_locales:
+ return ", ".join(chunk_locales)
+ return attributes.get("locale", default)
+
+
@transforms.add
def delete_name(config, jobs):
"""Delete the 'name' key if it exists, we don't use it."""
@@ -77,6 +85,7 @@ transforms.add_validate(signing_description_schema)
def add_requirements_link(config, jobs):
for job in jobs:
dep_job = get_primary_dependency(config, job)
+ assert dep_job
requirements_path = evaluate_keyed_by(
config.graph_config["mac-signing"]["mac-requirements"],
"mac requirements",
@@ -95,6 +104,7 @@ def add_requirements_link(config, jobs):
def make_task_description(config, jobs):
for job in jobs:
dep_job = get_primary_dependency(config, job)
+ assert dep_job
attributes = dep_job.attributes
signing_format_scopes = []
@@ -105,6 +115,7 @@ def make_task_description(config, jobs):
is_shippable = dep_job.attributes.get("shippable", False)
build_platform = dep_job.attributes.get("build_platform")
+ assert build_platform
treeherder = None
if "partner" not in config.kind and "eme-free" not in config.kind:
treeherder = job.get("treeherder", {})
@@ -139,9 +150,9 @@ def make_task_description(config, jobs):
label = job["label"]
description = (
- "Initial Signing for locale '{locale}' for build '"
+ "Signing of locale(s) '{locale}' for build '"
"{build_platform}/{build_type}'".format(
- locale=attributes.get("locale", "en-US"),
+ locale=get_locales_description(attributes, "en-US"),
build_platform=build_platform,
build_type=attributes.get("build_type"),
)
@@ -187,10 +198,16 @@ def make_task_description(config, jobs):
# build-mac-{signing,notarization} uses signingscript instead of iscript
if "macosx" in build_platform and config.kind.endswith("-mac-notarization"):
- task["worker"]["mac-behavior"] = "apple_notarization"
task["scopes"] = [
add_scope_prefix(config, "signing:cert:release-apple-notarization")
]
+ task[
+ "description"
+ ] = "Notarization of '{}' locales for build '{}/{}'".format(
+ get_locales_description(attributes, "en-US"),
+ build_platform,
+ attributes.get("build_type"),
+ )
elif "macosx" in build_platform:
# iscript overrides
task["worker"]["mac-behavior"] = "mac_sign_and_pkg"
diff --git a/taskcluster/gecko_taskgraph/transforms/source_checksums_signing.py b/taskcluster/gecko_taskgraph/transforms/source_checksums_signing.py
index 0c31f48cc0..2b846604f1 100644
--- a/taskcluster/gecko_taskgraph/transforms/source_checksums_signing.py
+++ b/taskcluster/gecko_taskgraph/transforms/source_checksums_signing.py
@@ -1,3 +1,4 @@
+# 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/.
"""
diff --git a/taskcluster/gecko_taskgraph/transforms/source_test.py b/taskcluster/gecko_taskgraph/transforms/source_test.py
index e3eeb7c819..266637a7a0 100644
--- a/taskcluster/gecko_taskgraph/transforms/source_test.py
+++ b/taskcluster/gecko_taskgraph/transforms/source_test.py
@@ -1,3 +1,4 @@
+# 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/.
"""
@@ -264,8 +265,8 @@ def remove_optimization_on_central(config, jobs):
if not job.get("attributes", {}).get("code-review", False):
yield job
continue
- if "when" not in job:
- yield job
- continue
- del job["when"]
+ if "when" in job:
+ del job["when"]
+ if "optimization" in job and "skip-unless-mozlint" in job["optimization"]:
+ del job["optimization"]
yield job
diff --git a/taskcluster/gecko_taskgraph/transforms/task.py b/taskcluster/gecko_taskgraph/transforms/task.py
index 4bfe0e9f6d..aa77c46d65 100644
--- a/taskcluster/gecko_taskgraph/transforms/task.py
+++ b/taskcluster/gecko_taskgraph/transforms/task.py
@@ -208,7 +208,7 @@ TC_TREEHERDER_SCHEMA_URL = (
UNKNOWN_GROUP_NAME = (
- "Treeherder group {} (from {}) has no name; " "add it to taskcluster/ci/config.yml"
+ "Treeherder group {} (from {}) has no name; " "add it to taskcluster/config.yml"
)
V2_ROUTE_TEMPLATES = [
@@ -313,7 +313,7 @@ def index_builder(name):
UNSUPPORTED_INDEX_PRODUCT_ERROR = """\
The gecko-v2 product {product} is not in the list of configured products in
-`taskcluster/ci/config.yml'.
+`taskcluster/config.yml'.
"""
@@ -842,6 +842,7 @@ def build_generic_worker_payload(config, task, task_def):
# behavior for mac iscript
Optional("mac-behavior"): Any(
"apple_notarization",
+ "apple_notarization_stacked",
"mac_sign_and_pkg",
"mac_sign_and_pkg_hardened",
"mac_geckodriver",
@@ -1612,7 +1613,7 @@ def task_name_from_label(config, tasks):
UNSUPPORTED_SHIPPING_PRODUCT_ERROR = """\
The shipping product {product} is not in the list of configured products in
-`taskcluster/ci/config.yml'.
+`taskcluster/config.yml'.
"""
diff --git a/taskcluster/gecko_taskgraph/transforms/test/other.py b/taskcluster/gecko_taskgraph/transforms/test/other.py
index 5d54467001..e01691c05a 100644
--- a/taskcluster/gecko_taskgraph/transforms/test/other.py
+++ b/taskcluster/gecko_taskgraph/transforms/test/other.py
@@ -419,26 +419,20 @@ def setup_browsertime(config, tasks):
"win32-chromedriver-122",
"win32-chromedriver-123",
],
- "windows.*-32.*": [
- "win32-chromedriver-122",
- "win32-chromedriver-123",
- "win32-chromedriver-124",
- ],
"windows.*-64.*": [
- "win32-chromedriver-122",
- "win32-chromedriver-123",
+ "win64-chromedriver-123",
"win64-chromedriver-124",
],
}
chromium_fetches = {
- "linux.*": ["linux64-chromium"],
- "macosx1015.*": ["mac-chromium"],
- "macosx1400.*": ["mac-chromium-arm"],
- "windows.*aarch64.*": ["win32-chromium"],
- "windows.*-32.*": ["win32-chromium"],
- "windows.*-64.*": ["win64-chromium"],
- "android.*": ["linux64-chromium"],
+ "linux.*": ["linux64-chromiumdriver"],
+ "macosx1015.*": ["mac-chromiumdriver"],
+ "macosx1400.*": ["mac-chromiumdriver-arm"],
+ "windows.*aarch64.*": ["win32-chromiumdriver"],
+ "windows.*-32.*": ["win32-chromiumdriver"],
+ "windows.*-64.*": ["win64-chromiumdriver"],
+ "android.*": ["linux64-chromiumdriver"],
}
cd_extracted_name = {
@@ -581,7 +575,9 @@ def enable_code_coverage(config, tasks):
yield task
continue
task["mozharness"].setdefault("extra-options", []).append("--code-coverage")
- task["instance-size"] = "xlarge"
+ task["instance-size"] = "xlarge-noscratch"
+ if "jittest" in task["test-name"]:
+ task["instance-size"] = "xlarge"
# Temporarily disable Mac tests on mozilla-central
if "mac" in task["build-platform"]:
diff --git a/taskcluster/gecko_taskgraph/transforms/test/variant.py b/taskcluster/gecko_taskgraph/transforms/test/variant.py
index bda91b2f25..6ee6c429f0 100644
--- a/taskcluster/gecko_taskgraph/transforms/test/variant.py
+++ b/taskcluster/gecko_taskgraph/transforms/test/variant.py
@@ -78,6 +78,14 @@ def split_variants(config, tasks):
remaining_variants.append(name)
return remaining_variants
+ def replace_task_items(task_key, variant_key):
+ for item in variant_key:
+ if isinstance(variant_key[item], dict):
+ task_key[item] = replace_task_items(task_key[item], variant_key[item])
+ else:
+ task_key[item] = variant_key[item]
+ return task_key
+
def apply_variant(variant, task):
task["description"] = variant["description"].format(**task)
@@ -94,7 +102,9 @@ def split_variants(config, tasks):
task["variant-suffix"] += suffix
# Replace and/or merge the configuration.
- task.update(variant.get("replace", {}))
+
+ # we only want to update the leaf node, the the entire top level dict
+ task = replace_task_items(task, variant.get("replace", {}))
return merge(task, variant.get("merge", {}))
expired_variants = find_expired_variants(TEST_VARIANTS)
diff --git a/taskcluster/gecko_taskgraph/transforms/upload_generated_sources.py b/taskcluster/gecko_taskgraph/transforms/upload_generated_sources.py
index aea948f90e..3828e912ec 100644
--- a/taskcluster/gecko_taskgraph/transforms/upload_generated_sources.py
+++ b/taskcluster/gecko_taskgraph/transforms/upload_generated_sources.py
@@ -3,7 +3,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
"""
Transform the upload-generated-files task description template,
-taskcluster/ci/upload-generated-sources/kind.yml, into an actual task description.
+taskcluster/kinds/upload-generated-sources/kind.yml, into an actual task description.
"""
from taskgraph.transforms.base import TransformSequence
diff --git a/taskcluster/gecko_taskgraph/transforms/upload_symbols.py b/taskcluster/gecko_taskgraph/transforms/upload_symbols.py
index 5c0bf18cb0..b216d2c8e1 100644
--- a/taskcluster/gecko_taskgraph/transforms/upload_symbols.py
+++ b/taskcluster/gecko_taskgraph/transforms/upload_symbols.py
@@ -3,7 +3,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
"""
Transform the upload-symbols task description template,
-taskcluster/ci/upload-symbols/job-template.yml into an actual task description.
+taskcluster/kinds/upload-symbols/job-template.yml into an actual task description.
"""
diff --git a/taskcluster/gecko_taskgraph/util/chunking.py b/taskcluster/gecko_taskgraph/util/chunking.py
index a8ae4d8b6b..9d8b98e07b 100644
--- a/taskcluster/gecko_taskgraph/util/chunking.py
+++ b/taskcluster/gecko_taskgraph/util/chunking.py
@@ -24,8 +24,8 @@ here = os.path.abspath(os.path.dirname(__file__))
resolver = TestResolver.from_environment(cwd=here, loader_cls=TestManifestLoader)
TEST_VARIANTS = {}
-if os.path.exists(os.path.join(GECKO, "taskcluster", "ci", "test", "variants.yml")):
- TEST_VARIANTS = load_yaml(GECKO, "taskcluster", "ci", "test", "variants.yml")
+if os.path.exists(os.path.join(GECKO, "taskcluster", "kinds", "test", "variants.yml")):
+ TEST_VARIANTS = load_yaml(GECKO, "taskcluster", "kinds", "test", "variants.yml")
WPT_SUBSUITES = {
"canvas": "html/canvas",
diff --git a/taskcluster/gecko_taskgraph/util/docker.py b/taskcluster/gecko_taskgraph/util/docker.py
index e8de7d1fdb..51e3f7e484 100644
--- a/taskcluster/gecko_taskgraph/util/docker.py
+++ b/taskcluster/gecko_taskgraph/util/docker.py
@@ -298,7 +298,7 @@ class ImagePathsMap(Mapping):
self.__update_image_paths(jobs, image_dir)
-image_paths = ImagePathsMap("taskcluster/ci/docker-image/kind.yml")
+image_paths = ImagePathsMap("taskcluster/kinds/docker-image/kind.yml")
def image_path(name):
diff --git a/taskcluster/gecko_taskgraph/util/hg.py b/taskcluster/gecko_taskgraph/util/hg.py
index 17d341cdc0..d03af87f13 100644
--- a/taskcluster/gecko_taskgraph/util/hg.py
+++ b/taskcluster/gecko_taskgraph/util/hg.py
@@ -96,15 +96,15 @@ def get_push_data(repository, project, push_id_start, push_id_end):
@memoize
-def get_json_automationrelevance(repository, revision):
- url = "{}/json-automationrelevance/{}".format(repository.rstrip("/"), revision)
+def get_json_pushchangedfiles(repository, revision):
+ url = "{}/json-pushchangedfiles/{}".format(repository.rstrip("/"), revision)
logger.debug("Querying version control for metadata: %s", url)
- def get_automationrelevance():
+ def get_pushchangedfiles():
response = requests.get(url, timeout=60)
return response.json()
- return retry(get_automationrelevance, attempts=10, sleeptime=10)
+ return retry(get_pushchangedfiles, attempts=10, sleeptime=10)
def get_hg_revision_branch(root, revision):
diff --git a/taskcluster/gecko_taskgraph/util/partners.py b/taskcluster/gecko_taskgraph/util/partners.py
index 2546e1ae88..f4b8b187cf 100644
--- a/taskcluster/gecko_taskgraph/util/partners.py
+++ b/taskcluster/gecko_taskgraph/util/partners.py
@@ -523,7 +523,7 @@ def apply_partner_priority(config, jobs):
# Reduce the priority of the partner repack jobs because they don't block QE. Meanwhile
# leave EME-free jobs alone because they do, and they'll get the branch priority like the rest
# of the release. Only bother with this in production, not on staging releases on try.
- # medium is the same as mozilla-central, see taskcluster/ci/config.yml. ie higher than
+ # medium is the same as mozilla-central, see taskcluster/config.yml. ie higher than
# integration branches because we don't want to wait a lot for the graph to be done, but
# for multiple releases the partner tasks always wait for non-partner.
if (
diff --git a/taskcluster/gecko_taskgraph/util/platforms.py b/taskcluster/gecko_taskgraph/util/platforms.py
index 2c423223fe..3010b32792 100644
--- a/taskcluster/gecko_taskgraph/util/platforms.py
+++ b/taskcluster/gecko_taskgraph/util/platforms.py
@@ -27,7 +27,8 @@ _executable_extension = {
_architectures = {
r"linux\b.*": "x86",
- r"linux64\b.*": "x86_64",
+ r"linux64\b(?!-aarch64).*": "x86_64",
+ r"linux64-aarch64\b.*": "aarch64",
r"macosx64\b.*": "macos-x86_64-aarch64",
r"win32\b.*": "x86",
r"win64\b(?!-aarch64).*": "x86_64",
diff --git a/taskcluster/gecko_taskgraph/util/signed_artifacts.py b/taskcluster/gecko_taskgraph/util/signed_artifacts.py
index 2467ff8046..61dad14abf 100644
--- a/taskcluster/gecko_taskgraph/util/signed_artifacts.py
+++ b/taskcluster/gecko_taskgraph/util/signed_artifacts.py
@@ -57,7 +57,7 @@ def generate_specifications_of_artifacts_to_sign(
elif "macosx" in build_platform:
langpack_formats = []
if is_notarization_kind(config.kind):
- formats = ["apple_notarization"]
+ formats = ["apple_notarization_stacked"]
artifacts_specifications = [
{
"artifacts": [
diff --git a/taskcluster/gecko_taskgraph/util/taskcluster.py b/taskcluster/gecko_taskgraph/util/taskcluster.py
index cddb01fd37..826eee4cdb 100644
--- a/taskcluster/gecko_taskgraph/util/taskcluster.py
+++ b/taskcluster/gecko_taskgraph/util/taskcluster.py
@@ -24,7 +24,7 @@ def insert_index(index_path, task_id, data=None, use_proxy=False):
index_url = get_index_url(index_path, use_proxy=use_proxy)
# Find task expiry.
- expires = get_task_definition(task_id, use_proxy=use_proxy)["expires"]
+ expires = get_task_definition(task_id, use_proxy)["expires"]
response = _do_request(
index_url,
diff --git a/taskcluster/ci/addon/kind.yml b/taskcluster/kinds/addon/kind.yml
index eb24cf6a41..eb24cf6a41 100644
--- a/taskcluster/ci/addon/kind.yml
+++ b/taskcluster/kinds/addon/kind.yml
diff --git a/taskcluster/kinds/android-l10n/kind.yml b/taskcluster/kinds/android-l10n/kind.yml
new file mode 100644
index 0000000000..774be4053c
--- /dev/null
+++ b/taskcluster/kinds/android-l10n/kind.yml
@@ -0,0 +1,56 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ run-on-projects: []
+ treeherder:
+ kind: build
+ platform: fenix-android-all/opt
+ tier: 1
+ worker-type: tree
+ worker:
+ implementation: treescript
+ tags: []
+ bump: false
+ dontbuild: false
+ push: true
+
+jobs:
+ import:
+ name: android_l10n_import
+ description: Import strings from android-l10n repo
+ treeherder:
+ symbol: android-l10n(I)
+ worker:
+ ignore-closed-tree: true
+ source-repo: https://hg.mozilla.org/integration/autoland
+ android-l10n-import-info:
+ from-repo-url: https://github.com/mozilla-l10n/android-l10n
+ toml-info:
+ - toml-path: mozilla-mobile/fenix/l10n.toml
+ dest-path: mobile/android/fenix
+ - toml-path: mozilla-mobile/focus-android/l10n.toml
+ dest-path: mobile/android/focus-android
+ - toml-path: mozilla-mobile/android-components/l10n.toml
+ dest-path: mobile/android/android-components
+
+ sync:
+ name: android_l10n_sync
+ description: Sync android-l10n strings from central to beta
+ treeherder:
+ symbol: android-l10n(S)
+ worker:
+ ignore-closed-tree: false
+ source-repo: https://hg.mozilla.org/releases/mozilla-beta
+ android-l10n-sync-info:
+ from-repo-url: https://hg.mozilla.org/mozilla-central
+ toml-info:
+ - toml-path: mobile/android/fenix/l10n.toml
+ - toml-path: mobile/android/focus-android/l10n.toml
+ - toml-path: mobile/android/android-components/l10n.toml
diff --git a/taskcluster/ci/android-startup-test/kind.yml b/taskcluster/kinds/android-startup-test/kind.yml
index d7fe550f99..d7fe550f99 100644
--- a/taskcluster/ci/android-startup-test/kind.yml
+++ b/taskcluster/kinds/android-startup-test/kind.yml
diff --git a/taskcluster/kinds/artifact-build/kind.yml b/taskcluster/kinds/artifact-build/kind.yml
new file mode 100644
index 0000000000..5029597c4e
--- /dev/null
+++ b/taskcluster/kinds/artifact-build/kind.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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - fetch
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.artifact:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ index:
+ product: firefox
+ treeherder:
+ kind: build
+ symbol: AB
+ tier: 1
+ run-on-projects: ['mozilla-central']
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 3600
+ env:
+ PERFHERDER_EXTRA_OPTIONS: artifact
+ MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
+ USE_ARTIFACT: '1'
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ keep-artifacts: false
+ use-python: default
+
+jobs:
+ linux64-artifact/opt:
+ description: "Linux64 Opt Artifact Build"
+ index:
+ job-name: linux64-artifact-opt
+ treeherder:
+ platform: linux64/opt
+ worker:
+ env:
+ MOZ_ARTIFACT_TASK: {task-reference: '<linux64-opt>'}
+ run:
+ config:
+ - builds/releng_base_linux_64_builds.py
+ dependencies:
+ linux64-opt: build-linux64/opt
+ fetches:
+ toolchain:
+ - linux64-node
+
+ macosx64-artifact/opt:
+ description: "MacOS X x64 Opt Artifact Build"
+ index:
+ job-name: macosx64-artifact-opt
+ treeherder:
+ platform: osx-cross/opt
+ worker:
+ env:
+ MOZ_ARTIFACT_TASK: {task-reference: '<macosx64-opt>'}
+ run:
+ config:
+ - builds/releng_base_mac_64_cross_builds.py
+ dependencies:
+ macosx64-opt: build-macosx64/opt
+ fetches:
+ toolchain:
+ - linux64-hfsplus
+ - linux64-libdmg
+ - linux64-node
+
+ win64-artifact/opt:
+ description: "Win64 Opt Artifact Build"
+ index:
+ job-name: win64-artifact-opt
+ treeherder:
+ platform: windows2012-64/opt
+ worker:
+ env:
+ MOZ_ARTIFACT_TASK: {task-reference: '<win64-opt>'}
+ run:
+ config:
+ - builds/releng_base_linux_64_builds.py
+ extra-config:
+ mozconfig_platform: win64
+ dependencies:
+ win64-opt: build-win64/opt
+ fetches:
+ toolchain:
+ - linux64-node
+ - linux64-wine
+ - nsis
+ fetch:
+ - upx-3.95-win
diff --git a/taskcluster/ci/attribution-l10n/kind.yml b/taskcluster/kinds/attribution-l10n/kind.yml
index 48774cb1f6..48774cb1f6 100644
--- a/taskcluster/ci/attribution-l10n/kind.yml
+++ b/taskcluster/kinds/attribution-l10n/kind.yml
diff --git a/taskcluster/ci/attribution/kind.yml b/taskcluster/kinds/attribution/kind.yml
index 9fac5ac71d..9fac5ac71d 100644
--- a/taskcluster/ci/attribution/kind.yml
+++ b/taskcluster/kinds/attribution/kind.yml
diff --git a/taskcluster/ci/balrog/kind.yml b/taskcluster/kinds/balrog/kind.yml
index 324ef2c521..324ef2c521 100644
--- a/taskcluster/ci/balrog/kind.yml
+++ b/taskcluster/kinds/balrog/kind.yml
diff --git a/taskcluster/ci/beetmover-android-app/kind.yml b/taskcluster/kinds/beetmover-android-app/kind.yml
index 59ef9cb149..59ef9cb149 100644
--- a/taskcluster/ci/beetmover-android-app/kind.yml
+++ b/taskcluster/kinds/beetmover-android-app/kind.yml
diff --git a/taskcluster/kinds/beetmover-apt/kind.yml b/taskcluster/kinds/beetmover-apt/kind.yml
new file mode 100644
index 0000000000..f19fe59fb1
--- /dev/null
+++ b/taskcluster/kinds/beetmover-apt/kind.yml
@@ -0,0 +1,30 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.release:run_on_releases
+ - gecko_taskgraph.transforms.beetmover_apt
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - beetmover-repackage
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux64-shippable/opt
+ - linux64-aarch64-shippable/opt
+ - linux-devedition/opt
+ - linux64-devedition/opt
+
+jobs:
+ beetmover-apt:
+ from-deps:
+ group-by: single-with-filters
+ run-on-releases:
+ - nightly
+ - beta
+ - release
diff --git a/taskcluster/ci/beetmover-checksums/kind.yml b/taskcluster/kinds/beetmover-checksums/kind.yml
index 7ecf79ea58..7ecf79ea58 100644
--- a/taskcluster/ci/beetmover-checksums/kind.yml
+++ b/taskcluster/kinds/beetmover-checksums/kind.yml
diff --git a/taskcluster/ci/beetmover-components/kind.yml b/taskcluster/kinds/beetmover-components/kind.yml
index 3b3fd5c8ea..3b3fd5c8ea 100644
--- a/taskcluster/ci/beetmover-components/kind.yml
+++ b/taskcluster/kinds/beetmover-components/kind.yml
diff --git a/taskcluster/ci/beetmover-geckoview/kind.yml b/taskcluster/kinds/beetmover-geckoview/kind.yml
index d37316c5da..d37316c5da 100644
--- a/taskcluster/ci/beetmover-geckoview/kind.yml
+++ b/taskcluster/kinds/beetmover-geckoview/kind.yml
diff --git a/taskcluster/kinds/beetmover-repackage/kind.yml b/taskcluster/kinds/beetmover-repackage/kind.yml
new file mode 100644
index 0000000000..e037f5ca86
--- /dev/null
+++ b/taskcluster/kinds/beetmover-repackage/kind.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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.beetmover_repackage_l10n
+ - gecko_taskgraph.transforms.beetmover_repackage
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ # Primary dependencies
+ - repackage
+ - repackage-l10n
+ # Other dependencies
+ - build
+ - build-signing
+ - build-mac-signing
+ - build-mac-notarization
+ - repackage-signing
+ - shippable-l10n
+ - shippable-l10n-signing
+ - shippable-l10n-mac-signing
+ - shippable-l10n-mac-notarization
+ - repackage-signing-l10n
+ - partials
+ - partials-signing
+ - repackage-signing-msi
+ - repackage-signing-shippable-l10n-msix
+ - mar-signing
+ - mar-signing-l10n
+ - attribution
+ - attribution-l10n
+ - repackage-deb
+ - repackage-deb-l10n
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux64-shippable/opt
+ - linux64-aarch64-shippable/opt
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win64-aarch64-shippable/opt
+ - linux-devedition/opt
+ - linux64-devedition/opt
+ - macosx64-devedition/opt
+ - win32-devedition/opt
+ - win64-devedition/opt
+ - win64-aarch64-devedition/opt
+ - linux64-asan-reporter-shippable/opt
+ - win64-asan-reporter-shippable/opt
+
+jobs:
+ beetmover-repackage:
+ from-deps:
+ group-by: single-locale
+ shipping-phase: promote
+ attributes:
+ artifact_map:
+ by-release-type:
+ beta|release.*|esr.*: taskcluster/gecko_taskgraph/manifests/firefox_candidates.yml
+ default: taskcluster/gecko_taskgraph/manifests/firefox_nightly.yml
diff --git a/taskcluster/ci/beetmover-source/kind.yml b/taskcluster/kinds/beetmover-source/kind.yml
index cd86d812b5..cd86d812b5 100644
--- a/taskcluster/ci/beetmover-source/kind.yml
+++ b/taskcluster/kinds/beetmover-source/kind.yml
diff --git a/taskcluster/ci/bootstrap/kind.yml b/taskcluster/kinds/bootstrap/kind.yml
index 0ce8f8f68a..0ce8f8f68a 100644
--- a/taskcluster/ci/bootstrap/kind.yml
+++ b/taskcluster/kinds/bootstrap/kind.yml
diff --git a/taskcluster/ci/bouncer-locations/kind.yml b/taskcluster/kinds/bouncer-locations/kind.yml
index 4234939369..4234939369 100644
--- a/taskcluster/ci/bouncer-locations/kind.yml
+++ b/taskcluster/kinds/bouncer-locations/kind.yml
diff --git a/taskcluster/kinds/build-apk/kind.yml b/taskcluster/kinds/build-apk/kind.yml
new file mode 100644
index 0000000000..ef909b2c44
--- /dev/null
+++ b/taskcluster/kinds/build-apk/kind.yml
@@ -0,0 +1,520 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - android_taskgraph.transforms.build_android_app:transforms
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - toolchain
+ - build-fat-aar
+
+job-defaults:
+ apk-artifact-template:
+ type: file
+ name: 'public/build/target.{abi}.apk'
+ path: '/builds/worker/checkouts/gecko/mobile/android/{source_project_name}/app/build/outputs/apk/{gradle_build}/{gradle_build_type}/{fileName}'
+ attributes:
+ build_platform: android
+
+
+jobs:
+ focus-debug:
+ attributes:
+ shipping-product: focus
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ description: 'Focus debug build from source code'
+ run:
+ gradle-build-type: debug
+ gradle-build-name: focusDebug
+ gradle-build: focus
+ source-project-name: "focus-android"
+ treeherder:
+ symbol: focus-debug(Bf)
+ platform: focus-android-all/opt
+
+ klar-debug:
+ attributes:
+ shipping-product: focus
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ description: 'Klar debug build from source code'
+ run:
+ gradle-build-type: debug
+ gradle-build-name: klarDebug
+ gradle-build: klar
+ source-project-name: "focus-android"
+ treeherder:
+ symbol: focus-debug(Bkl)
+ platform: focus-android-all/opt
+
+ fenix-debug:
+ attributes:
+ shipping-product: fenix
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ description: 'Fenix debug build from source code'
+ run:
+ gradle-build-type: debug
+ gradle-build-name: fenixDebug
+ gradle-build: fenix
+ gradle-extra-options:
+ - -PdisableLeakCanary
+ track-apk-size: true
+ source-project-name: "fenix"
+ treeherder:
+ symbol: fenix-debug(Bf)
+ platform: fenix-android-all/opt
+
+ focus-release:
+ description: 'Release Focus build'
+ attributes:
+ release-type: release
+ shipping-product: focus
+ shipping-product: firefox-android
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ include-shippable-secrets: true
+ include-release-version: true
+ run:
+ gradle-build-type: release
+ gradle-build-name: focusRelease
+ gradle-build: focus
+ run-on-projects: []
+ shipping-phase: promote
+ source-project-name: "focus-android"
+ treeherder:
+ symbol: focus-release(Bf)
+ platform: focus-android-all/opt
+
+ klar-release:
+ description: 'Release Klar build'
+ attributes:
+ release-type: release
+ shipping-product: focus
+ shipping-product: firefox-android
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ include-shippable-secrets: true
+ include-release-version: true
+ run:
+ gradle-build-type: release
+ gradle-build-name: klarRelease
+ gradle-build: klar
+ run-on-projects: []
+ shipping-phase: promote
+ source-project-name: "focus-android"
+ treeherder:
+ symbol: focus-release(Bkl)
+ platform: focus-android-all/opt
+
+ fenix-release:
+ description: 'Release Fenix build'
+ attributes:
+ release-type: release
+ shipping-product: fenix
+ shipping-product: firefox-android
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ include-shippable-secrets: true
+ include-release-version: true
+ run:
+ gradle-build-type: release
+ gradle-build-name: fenixRelease
+ gradle-build: fenix
+ track-apk-size: true
+ run-on-projects: []
+ shipping-phase: promote
+ source-project-name: "fenix"
+ treeherder:
+ symbol: fenix-release(Bf)
+ platform: fenix-android-all/opt
+
+ focus-nightly:
+ description: 'Nightly focus build'
+ attributes:
+ # any tasks that have this as a primary dependency will
+ # inherit this attribute via the multi_dep loader
+ shipping-product: focus
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ include-shippable-secrets: true
+ include-nightly-version: true
+ run:
+ gradle-build-type: nightly
+ gradle-build-name: focusNightly
+ gradle-build: focus
+ run-on-projects: []
+ source-project-name: "focus-android"
+ treeherder:
+ symbol: focus-nightly(B)
+ platform: focus-android-all/opt
+
+ fenix-nightly:
+ description: 'Nightly fenix build'
+ attributes:
+ # any tasks that have this as a primary dependency will
+ # inherit this attribute via the multi_dep loader
+ shipping-product: fenix
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ include-shippable-secrets: true
+ include-nightly-version: true
+ source-project-name: "fenix"
+ run:
+ gradle-build-type: nightly
+ gradle-build-name: fenixNightly
+ gradle-build: fenix
+ track-apk-size: true
+ run-on-projects: []
+ treeherder:
+ symbol: fenix-nightly(B)
+ platform: fenix-android-all/opt
+
+ focus-beta:
+ description: 'Beta focus build'
+ attributes:
+ release-type: beta
+ shipping-product: focus
+ shipping-product: firefox-android
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ include-shippable-secrets: true
+ include-release-version: true
+ run:
+ gradle-build-type: beta
+ gradle-build-name: focusBeta
+ gradle-build: focus
+ run-on-projects: []
+ shipping-phase: promote
+ source-project-name: "focus-android"
+ treeherder:
+ symbol: focus-beta(B)
+ platform: focus-android-all/opt
+
+ fenix-beta:
+ description: 'Beta fenix build'
+ attributes:
+ release-type: beta
+ shipping-product: fenix
+ shipping-product: firefox-android
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ include-shippable-secrets: true
+ include-release-version: true
+ run:
+ gradle-build-type: beta
+ gradle-build-name: fenixBeta
+ gradle-build: fenix
+ track-apk-size: true
+ run-on-projects: []
+ shipping-phase: promote
+ source-project-name: "fenix"
+ treeherder:
+ symbol: fenix-beta(B)
+ platform: fenix-android-all/opt
+
+ focus-nightly-firebase:
+ attributes:
+ shipping-product: focus
+ description: 'Focus Nightly build for UI tests'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ disable-optimization: true
+ run:
+ gradle-build-type: nightly
+ gradle-build-name: focusNightly
+ gradle-build: focus
+ test-build-type: nightly
+ run-on-projects: [trunk]
+ source-project-name: "focus-android"
+ treeherder:
+ symbol: focus-nightly(Bf)
+ platform: focus-android-all/opt
+
+ fenix-nightly-firebase:
+ attributes:
+ shipping-product: fenix
+ description: 'Fenix Nightly build for UI tests'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ disable-optimization: true
+ run:
+ gradle-build-type: nightly
+ gradle-build-name: fenixNightly
+ gradle-build: fenix
+ test-build-type: nightly
+ run-on-projects: [trunk]
+ source-project-name: "fenix"
+ treeherder:
+ symbol: fenix-nightly(Bf)
+ platform: fenix-android-all/opt
+
+ focus-beta-firebase:
+ attributes:
+ shipping-product: focus
+ description: 'Focus Beta build for UI tests'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ disable-optimization: true
+ run:
+ gradle-build-type: beta
+ gradle-build-name: focusBeta
+ gradle-build: focus
+ test-build-type: beta
+ run-on-projects: ['release']
+ source-project-name: "focus-android"
+ treeherder:
+ symbol: focus-beta(Bf)
+ platform: focus-android-all/opt
+
+ fenix-beta-firebase:
+ attributes:
+ shipping-product: fenix
+ description: 'Fenix Beta build for UI tests'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ disable-optimization: true
+ run:
+ gradle-build-type: beta
+ gradle-build-name: fenixBeta
+ gradle-build: fenix
+ test-build-type: beta
+ run-on-projects: ['release']
+ source-project-name: "fenix"
+ treeherder:
+ symbol: fenix-beta(Bf)
+ platform: fenix-android-all/opt
+
+ focus-android-test-debug:
+ attributes:
+ shipping-product: focus
+ description: 'Focus Android Test for debugging'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ run:
+ gradle-build-type: androidTest
+ gradle-build-name: androidTest
+ gradle-build: focus
+ source-project-name: "focus-android"
+ apk-artifact-template:
+ # this path is determined by the gradle build configs
+ path: '/builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/outputs/apk/androidTest/focus/debug/app-focus-debug-androidTest.apk'
+ treeherder:
+ symbol: focus-debug(Bat)
+ platform: focus-android-all/opt
+
+ fenix-android-test-debug:
+ attributes:
+ shipping-product: fenix
+ description: 'Fenix Debug Android Test for debugging'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ run:
+ gradle-build-type: androidTest
+ gradle-build-name: androidTest
+ gradle-build: fenix
+ source-project-name: "fenix"
+ apk-artifact-template:
+ # 3 differences here:
+ # * "androidTest/" is added
+ # * "{gradle_build_type}" is forced to "debug"
+ # * "{fileName}" is forced to "app-fenix-debug-androidTest.apk"
+ path: '/builds/worker/checkouts/gecko/mobile/android/fenix/app/build/outputs/apk/androidTest/fenix/debug/app-fenix-debug-androidTest.apk'
+ treeherder:
+ symbol: fenix-debug(Bat)
+ platform: fenix-android-all/opt
+
+ # android-test-nightly and android-test-beta, while still being debug builds, are meant to be signed
+ # with the nightly/beta key. The Firebase testing infrastructure requires both the androidTest APK
+ # and the APK under test to be signed with the same key. Thus, the nightly APK being signed with
+ # nightly means we need an androidTest APK with the same signature.
+
+ focus-android-test-nightly:
+ attributes:
+ shipping-product: focus
+ description: 'Focus Nightly Android Test for debugging'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ run:
+ gradle-build-type: androidTest
+ gradle-build-name: androidTest
+ gradle-build: focus
+ test-build-type: nightly
+ run-on-projects: [trunk]
+ source-project-name: "focus-android"
+ apk-artifact-template:
+ path: '/builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/outputs/apk/androidTest/focus/nightly/app-focus-nightly-androidTest.apk'
+ treeherder:
+ symbol: focus-nightly(Bat)
+ platform: focus-android-all/opt
+
+ # android-test-nightly and android-test-beta, while still being debug builds, are meant to be signed
+ # with the nightly/beta key. The Firebase testing infrastructure requires both the androidTest APK
+ # and the APK under test to be signed with the same key. Thus, the nightly APK being signed with
+ # nightly means we need an androidTest APK with the same signature.
+ #
+ # TODO: See if we can tweak the signing kind to make 2 signing jobs out of a single `android-test`
+ # job.
+ fenix-android-test-nightly:
+ attributes:
+ nightly: true
+ shipping-product: fenix
+ description: 'Fenix Nightly Android Test for debugging'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ apk-artifact-template:
+ # 3 differences here:
+ # * "androidTest/" is added
+ # * "{gradle_build_type}" is forced to "debug"
+ # * "{fileName}" is forced to "app-fenix-nightly-androidTest.apk"
+ path: '/builds/worker/checkouts/gecko/mobile/android/fenix/app/build/outputs/apk/androidTest/fenix/nightly/app-fenix-nightly-androidTest.apk'
+ disable-optimization: true
+ run:
+ gradle-build-type: androidTest
+ gradle-build-name: androidTest
+ gradle-build: fenix
+ test-build-type: nightly
+ run-on-projects: [trunk]
+ source-project-name: "fenix"
+ treeherder:
+ symbol: fenix-nightly(Bat)
+ platform: fenix-android-all/opt
+
+ focus-android-test-beta:
+ attributes:
+ shipping-product: focus
+ description: 'Focus Beta Android Test for debugging'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ run:
+ gradle-build-type: androidTest
+ gradle-build-name: androidTest
+ gradle-build: focus
+ test-build-type: beta
+ run-on-projects: ['release']
+ source-project-name: "focus-android"
+ apk-artifact-template:
+ path: '/builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/outputs/apk/androidTest/focus/beta/app-focus-beta-androidTest.apk'
+ treeherder:
+ symbol: focus-beta(Bat)
+ platform: focus-android-all/opt
+
+ fenix-android-test-beta:
+ attributes:
+ shipping-product: fenix
+ description: 'Fenix Beta Android Test for debugging'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ apk-artifact-template:
+ # 3 differences here:
+ # * "androidTest/" is added
+ # * "{gradle_build_type}" is forced to "beta"
+ # * "{fileName}" is forced to "app-fenix-beta-androidTest.apk"
+ path: '/builds/worker/checkouts/gecko/mobile/android/fenix/app/build/outputs/apk/androidTest/fenix/beta/app-fenix-beta-androidTest.apk'
+ disable-optimization: true
+ run:
+ gradle-build-type: androidTest
+ gradle-build-name: androidTest
+ gradle-build: fenix
+ test-build-type: beta
+ run-on-projects: ['release']
+ source-project-name: "fenix"
+ treeherder:
+ symbol: fenix-beta(Bat)
+ platform: fenix-android-all/opt
+
+ fenix-android-test-mozillaonline:
+ attributes:
+ shipping-product: fenix
+ description: 'Fenix Android Test mozillaonline'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ apk-artifact-template:
+ # 3 differences here:
+ # * "androidTest/" is added
+ # * "{gradle_build_type}" is forced to "beta"
+ # * "{fileName}" is forced to "app-fenix-beta-androidTest.apk"
+ path: '/builds/worker/checkouts/gecko/mobile/android/fenix/app/build/outputs/apk/androidTest/fenix/beta/app-fenix-beta-androidTest.apk'
+ run-on-projects: []
+ disable-optimization: true
+ run:
+ gradle-build-type: androidTest
+ gradle-build-name: androidTest
+ gradle-build: fenix
+ gradle-extra-options:
+ - -PmozillaOnline
+ test-build-type: beta
+ source-project-name: "fenix"
+ treeherder:
+ symbol: fenix-beta(Bat-mo)
+ platform: fenix-android-all/opt
+
+ fenix-nightly-simulation:
+ description: 'Fenix Nightly Simulation'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ attributes:
+ nightly: false
+ shipping-product: fenix
+ include-nightly-version: true
+ include-shippable-secrets: true
+ run-on-projects: []
+ run:
+ gradle-build-type: nightly
+ gradle-build-name: fenixNightly
+ gradle-build: fenix
+ source-project-name: "fenix"
+ treeherder:
+ symbol: fenix-nightlySim(B)
+ platform: fenix-android-all/opt
+
+ fenix-beta-mozillaonline:
+ description: 'Fenix Beta mozillaonline'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ attributes:
+ release-type: beta
+ shipping_phase: promote
+ shipping-product: fenix
+ include-release-version: true
+ include-shippable-secrets: true
+ run:
+ gradle-build-type: beta
+ gradle-build-name: fenixBeta
+ gradle-build: fenix
+ gradle-extra-options:
+ - -PmozillaOnline
+ run-on-projects: []
+ source-project-name: "fenix"
+ treeherder:
+ symbol: fenix-beta(Bmo)
+ platform: fenix-android-all/opt
+
+ fenix-release-mozillaonline:
+ description: 'Fenix Release mozillaonline'
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ attributes:
+ release-type: release
+ shipping_phase: promote
+ shipping-product: fenix
+ include-release-version: true
+ include-shippable-secrets: true
+ run:
+ gradle-build-type: release
+ gradle-build-name: fenixRelease
+ gradle-build: fenix
+ gradle-extra-options:
+ - -PmozillaOnline
+ run-on-projects: []
+ source-project-name: "fenix"
+ treeherder:
+ symbol: fenix-release(Bmo)
+ platform: fenix-android-all/opt
diff --git a/taskcluster/kinds/build-bundle/kind.yml b/taskcluster/kinds/build-bundle/kind.yml
new file mode 100644
index 0000000000..7db4cfdd81
--- /dev/null
+++ b/taskcluster/kinds/build-bundle/kind.yml
@@ -0,0 +1,215 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - android_taskgraph.transforms.build_android_app:transforms
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - toolchain
+ - build-fat-aar
+
+job-defaults:
+ aab-artifact-template:
+ type: file
+ name: 'public/build/target.aab'
+ path: '/builds/worker/checkouts/gecko/mobile/android/{source_project_name}/app/build/outputs/bundle/{variant_name}/app-{gradle_build}-{gradle_build_type}.aab'
+ attributes:
+ build_platform: android
+ run:
+ gradle-package-command: bundle
+ gradle-extra-options:
+ - -Paab
+
+
+jobs:
+ focus-debug:
+ attributes:
+ shipping-product: focus
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ description: 'Focus debug AAB build from source code'
+ run:
+ gradle-build-type: debug
+ gradle-build-name: focusDebug
+ gradle-build: focus
+ source-project-name: "focus-android"
+ treeherder:
+ platform: focus-android-all/opt
+ symbol: focus-debug(AABf)
+
+ klar-debug:
+ attributes:
+ shipping-product: focus
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ description: 'Klar debug AAB build from source code'
+ run:
+ gradle-build-type: debug
+ gradle-build-name: klarDebug
+ gradle-build: klar
+ source-project-name: "focus-android"
+ treeherder:
+ platform: focus-android-all/opt
+ symbol: focus-debug(AABkl)
+
+ fenix-debug:
+ attributes:
+ shipping-product: fenix
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ description: 'Fenix debug AAB build from source code'
+ run:
+ gradle-build-type: debug
+ gradle-build-name: fenixDebug
+ gradle-build: fenix
+ source-project-name: "fenix"
+ treeherder:
+ platform: fenix-android-all/opt
+ symbol: fenix-debug(AAB)
+
+ focus-release:
+ attributes:
+ release-type: release
+ shipping-product: focus
+ shipping-product: firefox-android
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ description: 'Focus release AAB build from source code'
+ include-shippable-secrets: true
+ include-release-version: true
+ run-on-projects: ["mozilla-release"]
+ run:
+ gradle-build-type: release
+ gradle-build-name: focusRelease
+ gradle-build: focus
+ shipping-phase: promote
+ source-project-name: "focus-android"
+ treeherder:
+ platform: focus-android-all/opt
+ symbol: focus-release(AABf)
+
+ klar-release:
+ attributes:
+ release-type: release
+ shipping-product: focus
+ shipping-product: firefox-android
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ description: 'Klar release AAB build from source code'
+ include-shippable-secrets: true
+ include-release-version: true
+ run-on-projects: ["mozilla-release"]
+ run:
+ gradle-build-type: release
+ gradle-build-name: klarRelease
+ gradle-build: klar
+ shipping-phase: promote
+ source-project-name: "focus-android"
+ treeherder:
+ platform: focus-android-all/opt
+ symbol: focus-release(AABkl)
+
+ fenix-release:
+ attributes:
+ release-type: release
+ shipping-product: fenix
+ shipping-product: firefox-android
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ description: 'Fenix release AAB build from source code'
+ include-shippable-secrets: true
+ include-release-version: true
+ run-on-projects: ["mozilla-release"]
+ run:
+ gradle-build-type: release
+ gradle-build-name: fenixRelease
+ gradle-build: fenix
+ shipping-phase: promote
+ source-project-name: "fenix"
+ treeherder:
+ platform: fenix-android-all/opt
+ symbol: fenix-release(AAB)
+
+ focus-nightly:
+ attributes:
+ shipping-product: focus
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ description: 'Focus nightly AAB build from source code'
+ include-shippable-secrets: true
+ include-nightly-version: true
+ run-on-projects: ["mozilla-central"]
+ run:
+ gradle-build-type: nightly
+ gradle-build-name: focusNightly
+ gradle-build: focus
+ source-project-name: "focus-android"
+ treeherder:
+ platform: focus-android-all/opt
+ symbol: focus-nightly(AABf)
+
+ fenix-nightly:
+ attributes:
+ shipping-product: fenix
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ description: 'Fenix nightly AAB build from source code'
+ include-shippable-secrets: true
+ include-nightly-version: true
+ run-on-projects: ["mozilla-central"]
+ run:
+ gradle-build-type: nightly
+ gradle-build-name: fenixNightly
+ gradle-build: fenix
+ source-project-name: "fenix"
+ treeherder:
+ platform: fenix-android-all/opt
+ symbol: fenix-nightly(AAB)
+
+ focus-beta:
+ attributes:
+ release-type: beta
+ shipping-product: focus
+ shipping-product: firefox-android
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ description: 'Focus beta AAB build from source code'
+ include-shippable-secrets: true
+ include-release-version: true
+ run-on-projects: ["mozilla-beta"]
+ run:
+ gradle-build-type: beta
+ gradle-build-name: focusBeta
+ gradle-build: focus
+ shipping-phase: promote
+ source-project-name: "focus-android"
+ treeherder:
+ platform: focus-android-all/opt
+ symbol: focus-beta(AABf)
+
+ fenix-beta:
+ attributes:
+ release-type: beta
+ shipping-product: fenix
+ shipping-product: firefox-android
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ description: 'Fenix beta AAB build from source code'
+ include-shippable-secrets: true
+ include-release-version: true
+ run-on-projects: ["mozilla-beta"]
+ run:
+ gradle-build-type: beta
+ gradle-build-name: fenixBeta
+ gradle-build: fenix
+ shipping-phase: promote
+ source-project-name: "fenix"
+ treeherder:
+ platform: fenix-android-all/opt
+ symbol: fenix-beta(AAB)
diff --git a/taskcluster/kinds/build-components/kind.yml b/taskcluster/kinds/build-components/kind.yml
new file mode 100644
index 0000000000..52793cb3f1
--- /dev/null
+++ b/taskcluster/kinds/build-components/kind.yml
@@ -0,0 +1,135 @@
+# 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/.
+---
+loader: android_taskgraph.loader.build_config:components_loader
+
+transforms:
+ - android_taskgraph.transforms.build_components:transforms
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+not-for-components:
+ - samples-browser # Their configs are too different, so they're handled in a specific kind
+
+kind-dependencies:
+ - toolchain
+ - build-fat-aar
+
+job-defaults:
+ artifact-template:
+ type: file
+ name: public/build/{artifact_file_name}
+ path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/maven/org/mozilla/components/{component}/{version}/{artifact_file_name}'
+ tests-artifact-template:
+ type: directory
+ name: public/reports/tests
+ path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/reports/tests'
+ lint-artifact-template:
+ type: file
+ name: public/reports/lint-results-release.html
+ path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/reports/lint-results-release.html'
+ jacoco-coverage-template:
+ type: directory
+ name: public/reports/jacoco
+ path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/reports/jacoco'
+ description: Execute Gradle tasks for component "{component}"
+ fetches:
+ toolchain:
+ - android-sdk-linux
+ - android-gradle-dependencies
+ - linux64-jdk
+ build-fat-aar:
+ - target.maven.tar.xz
+ attributes:
+ build_platform: android
+ dependencies:
+ build-fat-aar:
+ by-build-type:
+ release|nightly|beta: build-fat-aar-android-geckoview-fat-aar-shippable/opt
+ default: build-fat-aar-android-geckoview-fat-aar/opt
+ include-coverage:
+ by-build-type:
+ release: false
+ beta: false
+ nightly: false
+ default: true
+ run:
+ gradlew:
+ by-build-type:
+ release:
+ - ':{component}:assembleRelease'
+ - ':{component}:testRelease'
+ - ':{component}:lintRelease'
+ - ':{component}:publish'
+ beta:
+ # /!\ Beta builds are considered Release in gradle
+ - ':{component}:assembleRelease'
+ - ':{component}:testRelease'
+ - ':{component}:lintRelease'
+ - ':{component}:publish'
+ nightly:
+ - '-PnightlyVersion={nightlyVersion}'
+ - ':{component}:assembleRelease'
+ - ':{component}:testRelease'
+ - ':{component}:lintRelease'
+ - ':{component}:publish'
+ default:
+ by-component:
+ # No lintRelease on this task, gradle task isn't defined
+ tooling-lint:
+ - ':{component}:assemble'
+ - ':{component}:assembleAndroidTest'
+ - ':{component}:test'
+ - ':{component}:lint'
+ # No testRelease on this task, gradle task isn't defined
+ tooling-detekt:
+ - ':{component}:assemble'
+ - ':{component}:assembleAndroidTest'
+ - ':{component}:test'
+ - ':{component}:lintRelease'
+ # No publish on these tasks
+ tooling-fetch-tests|samples-.*:
+ - ':{component}:assemble'
+ - ':{component}:assembleAndroidTest'
+ - ':{component}:testRelease'
+ - ':{component}:lintRelease'
+ default:
+ - ':{component}:assemble'
+ - ':{component}:assembleAndroidTest'
+ - ':{component}:testRelease'
+ - ':{component}:lintRelease'
+ - ':{component}:publish'
+ pre-gradlew:
+ - ["cd", "mobile/android/android-components"]
+ using: gradlew
+ use-caches: false
+ run-on-projects:
+ by-build-type:
+ release: []
+ beta: []
+ nightly: []
+ default: [all]
+ shipping-phase:
+ by-build-type:
+ (nightly|beta|release): promote
+ default: null
+ shipping-product: firefox-android
+ treeherder:
+ kind: build
+ symbol:
+ by-build-type:
+ release: '{treeherder_group}(BR)'
+ beta: '{treeherder_group}(BB)'
+ nightly: '{treeherder_group}(BN)'
+ default: '{treeherder_group}(B)'
+ platform: AC-android-all/opt
+ tier: 1
+ worker-type: b-linux-medium-gcp
+ worker:
+ chain-of-trust: true
+ docker-image: {in-tree: android-components}
+ max-run-time: 1200
+ env:
+ ANDROID_SDK_ROOT: /builds/worker/fetches/android-sdk-linux
diff --git a/taskcluster/kinds/build-fat-aar/kind.yml b/taskcluster/kinds/build-fat-aar/kind.yml
new file mode 100644
index 0000000000..38d40efc92
--- /dev/null
+++ b/taskcluster/kinds/build-fat-aar/kind.yml
@@ -0,0 +1,204 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - build
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.build:transforms
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.build_fat_aar:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.artifact:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ attributes:
+ artifact_map: taskcluster/gecko_taskgraph/manifests/fennec_geckoview.yml
+ index:
+ product: mobile
+ worker-type: b-linux-gcp
+ use-python: default
+ worker:
+ docker-image: {in-tree: android-build}
+ max-run-time: 7200
+ env:
+ # Online in order to download the per-architecture AARs.
+ GRADLE_USER_HOME: "/builds/worker/checkouts/build/gecko/mobile/android/gradle/dotgradle-online"
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ MOZ_ANDROID_FAT_AAR_ARCHITECTURES: "armeabi-v7a,arm64-v8a,x86,x86_64"
+ MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
+ artifacts:
+ - name: public/build/maven
+ path: /builds/worker/workspace/obj-build/gradle/maven/
+ type: directory
+ - name: public/build/target.maven.tar.xz
+ path: /builds/worker/workspace/obj-build/gradle/target.maven.tar.xz
+ type: file
+ - name: public/build
+ path: /builds/worker/artifacts/
+ type: directory
+ - name: public/build/geckoview-androidTest.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk
+ type: file
+ - name: public/build/geckoview-test_runner.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk
+ type: file
+ - name: public/build/geckoview-test_runner.aab
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab
+ type: file
+ - name: public/build/geckoview_example.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk
+ type: file
+ - name: public/build/geckoview_example.aab
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab
+ type: file
+ - name: public/build/mozconfig
+ path: /builds/worker/workspace/obj-build/.mozconfig
+ type: file
+ run:
+ using: mozharness
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ mozconfig-variant: null
+ tooltool-downloads: internal
+ # Note: These settings are only honored by nightly (i.e. shipping) builds
+ update-channel:
+ by-release-type:
+ nightly:
+ by-project:
+ try: nightly-try
+ default: nightly
+ nightly-larch: nightly-larch
+ nightly-oak: nightly-oak
+ nightly-pine: nightly-pine
+ beta:
+ by-shipping-product:
+ devedition: aurora
+ default: beta
+ release.*: release
+ esr.*: esr
+ default: null
+ fetches:
+ toolchain:
+ - android-ndk-linux
+ - android-sdk-linux
+ - linux64-clang
+ - linux64-jdk
+ - linux64-rust-android
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+jobs:
+ android-geckoview-fat-aar-shippable/opt:
+ description: "Android GeckoView multi-architecture fat AAR Shippable"
+ attributes:
+ shippable: true
+ enable-full-crashsymbols: true
+ disable-push-apk: true
+ maven_packages:
+ - geckoview
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ job-name: android-geckoview-fat-aar-opt
+ type: shippable-with-multi-l10n
+ treeherder:
+ platform: android-5-0-geckoview-fat-aar-shippable/opt
+ symbol: Bgv
+ dependencies:
+ android-x86-shippable: build-android-x86-shippable/opt
+ android-x86_64-shippable: build-android-x86_64-shippable/opt
+ android-arm-shippable: build-android-arm-shippable/opt
+ android-aarch64-shippable: build-android-aarch64-shippable/opt
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: android-geckoview-fat-aar-nightly
+ run:
+ actions: [get-secrets, build, multi-l10n]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - taskcluster_nightly.py
+ custom-build-variant-cfg: arm
+ fetches:
+ toolchain:
+ - android-gradle-dependencies
+ optimization:
+ skip-unless-backstop: null
+
+ android-geckoview-fat-aar-shippable-lite/opt:
+ description: "Android GeckoView Lite multi-architecture fat AAR Shippable"
+ attributes:
+ shippable: true
+ enable-full-crashsymbols: true
+ disable-push-apk: true
+ maven_packages:
+ - geckoview
+ - geckoview-exoplayer2
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ job-name: android-geckoview-fat-aar-opt-lite
+ type: shippable-with-multi-l10n
+ treeherder:
+ platform: android-4-1-geckoview-fat-aar-shippable/opt
+ symbol: Bgvl
+ dependencies:
+ android-x86-shippable-lite: build-android-x86-shippable-lite/opt
+ android-x86_64-shippable-lite: build-android-x86_64-shippable-lite/opt
+ android-arm-shippable-lite: build-android-arm-shippable-lite/opt
+ android-aarch64-shippable-lite: build-android-aarch64-shippable-lite/opt
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: android-geckoview-fat-aar-nightly-lite
+ run:
+ actions: [get-secrets, build, multi-l10n]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - taskcluster_nightly.py
+ custom-build-variant-cfg: arm-lite
+ fetches:
+ toolchain:
+ - android-gradle-dependencies-lite
+ optimization:
+ skip-unless-backstop: null
+
+ android-geckoview-fat-aar/opt:
+ description: "Android GeckoView multi-architecture fat AAR Opt"
+ attributes:
+ maven_packages:
+ - geckoview
+ index:
+ job-name: android-geckoview-fat-aar-opt
+ treeherder:
+ platform: android-5-0-geckoview-fat-aar/opt
+ symbol: Bgv
+ dependencies:
+ android-x86-opt: build-android-x86/opt
+ android-x86_64-opt: build-android-x86_64/opt
+ android-arm-opt: build-android-arm/opt
+ android-aarch64-opt: build-android-aarch64/opt
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: android-geckoview-fat-aar-opt
+ USE_ARTIFACT: '1'
+ MOZ_ARTIFACT_TASK: {task-reference: '<android-arm-opt>'}
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: arm
+ fetches:
+ toolchain:
+ - linux64-sccache
+ - android-gradle-dependencies
diff --git a/taskcluster/kinds/build-mac-notarization/kind.yml b/taskcluster/kinds/build-mac-notarization/kind.yml
new file mode 100644
index 0000000000..910d6a1797
--- /dev/null
+++ b/taskcluster/kinds/build-mac-notarization/kind.yml
@@ -0,0 +1,34 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.mac_notarization
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.signing
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - build-mac-signing
+
+only-for-attributes:
+ - shippable
+
+jobs:
+ build-mac-notarization:
+ from-deps:
+ group-by: single-with-filters
+ copy-attributes: true
+ treeherder:
+ symbol: BMN
+ upstream-artifacts:
+ - taskType: signing
+ paths:
+ - public/build/target.tar.gz
+ - public/build/target.pkg
+ formats: ["apple_notarization_stacked"]
+ taskId:
+ task-reference: <build-mac-signing>
diff --git a/taskcluster/ci/build-mac-signing/kind.yml b/taskcluster/kinds/build-mac-signing/kind.yml
index d90813cd96..d90813cd96 100644
--- a/taskcluster/ci/build-mac-signing/kind.yml
+++ b/taskcluster/kinds/build-mac-signing/kind.yml
diff --git a/taskcluster/kinds/build-samples-browser/kind.yml b/taskcluster/kinds/build-samples-browser/kind.yml
new file mode 100644
index 0000000000..6d1d903321
--- /dev/null
+++ b/taskcluster/kinds/build-samples-browser/kind.yml
@@ -0,0 +1,64 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - android_taskgraph.transforms.build_components:transforms
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - toolchain
+ - build-fat-aar
+
+
+job-defaults:
+ attributes:
+ build_platform: android
+ build-type: regular
+ component: samples-browser
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ description: Execute Gradle tasks for component "{component}"
+ fetches:
+ toolchain:
+ - android-sdk-linux
+ - android-gradle-dependencies
+ - linux64-jdk
+ build-fat-aar:
+ - target.maven.tar.xz
+ include-coverage: true
+ run:
+ pre-gradlew:
+ - ["cd", "mobile/android/android-components"]
+ using: gradlew
+ use-caches: false
+ treeherder:
+ kind: build
+ platform: AC-android-all/opt
+ tier: 1
+ symbol: 'samples-browser(B)'
+ worker-type: b-linux-medium-gcp
+ worker:
+ chain-of-trust: true
+ docker-image: {in-tree: android-components}
+ max-run-time: 1200
+ env:
+ ANDROID_SDK_ROOT: /builds/worker/fetches/android-sdk-linux
+
+jobs:
+ gecko:
+ run:
+ gradlew:
+ - ':samples-browser:assembleGecko'
+ - ':samples-browser:testGeckoDebugUnitTest'
+ - ':samples-browser:lintGeckoDebug'
+
+ system:
+ run:
+ gradlew: [':samples-browser:assembleSystem']
+ treeherder:
+ symbol: 'samples-browser-system(B)'
diff --git a/taskcluster/ci/build-signing/kind.yml b/taskcluster/kinds/build-signing/kind.yml
index 7e4bbab419..7e4bbab419 100644
--- a/taskcluster/ci/build-signing/kind.yml
+++ b/taskcluster/kinds/build-signing/kind.yml
diff --git a/taskcluster/ci/build/android-asan.yml b/taskcluster/kinds/build/android-asan.yml
index ac0ff56251..4cc846dece 100644
--- a/taskcluster/ci/build/android-asan.yml
+++ b/taskcluster/kinds/build/android-asan.yml
@@ -71,6 +71,5 @@ android-x86_64-asan-fuzzing/opt:
- linux64-clang
- linux64-sccache
- android-gradle-dependencies
- - android-gradle-python-envs
optimization:
skip-unless-expanded: null
diff --git a/taskcluster/ci/build/android-stuff.yml b/taskcluster/kinds/build/android-stuff.yml
index cf4c44124d..52bed7b18f 100644
--- a/taskcluster/ci/build/android-stuff.yml
+++ b/taskcluster/kinds/build/android-stuff.yml
@@ -43,7 +43,6 @@ android-geckoview-docs/opt:
fetches:
toolchain:
- android-gradle-dependencies
- - android-gradle-python-envs
- android-sdk-linux
- linux64-jdk
- linux64-node
diff --git a/taskcluster/kinds/build/android.yml b/taskcluster/kinds/build/android.yml
new file mode 100644
index 0000000000..7c37b2680f
--- /dev/null
+++ b/taskcluster/kinds/build/android.yml
@@ -0,0 +1,644 @@
+# 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/.
+---
+job-defaults:
+ attributes:
+ artifact_map: taskcluster/gecko_taskgraph/manifests/fennec_geckoview.yml
+ maven_packages:
+ - geckoview
+ index:
+ product: mobile
+ worker:
+ docker-image: {in-tree: android-build}
+ max-run-time: 7200
+ env:
+ GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline"
+ artifacts:
+ - name: public/build/maven
+ path: /builds/worker/workspace/obj-build/gradle/maven/
+ type: directory
+ - name: public/build/target.maven.tar.xz
+ path: /builds/worker/workspace/obj-build/gradle/target.maven.tar.xz
+ type: file
+ - name: public/build/geckoview-androidTest.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk
+ type: file
+ - name: public/build/geckoview-test_runner.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk
+ type: file
+ - name: public/build/geckoview-test_runner.aab
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab
+ type: file
+ - name: public/build/geckoview_example.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk
+ type: file
+ - name: public/build/geckoview_example.aab
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab
+ type: file
+ - name: public/build
+ path: /builds/worker/artifacts/
+ type: directory
+ run:
+ using: mozharness
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ mozconfig-variant: null
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - android-ndk-linux
+ - android-sdk-linux
+ - linux64-jdk
+ - linux64-rust-android
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+android-arm/debug:
+ description: "Android 5.0 Arm Debug"
+ index:
+ job-name: android-arm-debug
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-armv7/debug
+ symbol: B
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: arm-debug
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ - android-gradle-dependencies
+
+android-x86/opt:
+ description: "Android 5.0 x86 Opt"
+ index:
+ job-name: android-x86-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-x86/opt
+ symbol: B
+ run-on-projects: ['integration']
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: x86
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ - android-gradle-dependencies
+
+android-x86-lite/opt:
+ description: "Android 4.1 x86 Opt"
+ index:
+ job-name: android-x86-lite-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-4-1-x86/opt
+ symbol: Bl
+ run-on-projects: ['integration']
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ PERFHERDER_EXTRA_OPTIONS: lite
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: x86-lite
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ - android-gradle-dependencies-lite
+
+android-x86-shippable/opt:
+ description: "Android 5.0 x86 Shippable"
+ use-pgo: true
+ attributes:
+ enable-full-crashsymbols: true
+ shippable: true
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ job-name: android-x86-opt
+ type: android-shippable
+ treeherder:
+ platform: android-5-0-x86-shippable/opt
+ symbol: B
+ run-on-projects: ['release']
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build, multi-l10n]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - taskcluster_nightly.py
+ custom-build-variant-cfg: x86
+ fetches:
+ toolchain:
+ - linux64-clang
+ - android-gradle-dependencies
+
+android-x86-shippable-lite/opt:
+ description: "Android 4.1 x86 Shippable Lite"
+ use-pgo: android-x86-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ shippable: true
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ job-name: android-x86-lite-opt
+ type: android-shippable
+ treeherder:
+ platform: android-4-1-x86-shippable-lite/opt
+ symbol: Bl
+ run-on-projects: ['release']
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build, multi-l10n]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - taskcluster_nightly.py
+ custom-build-variant-cfg: x86-lite
+ fetches:
+ toolchain:
+ - linux64-clang
+ - android-gradle-dependencies-lite
+
+android-arm/opt:
+ description: "Android 5.0 Arm Opt"
+ index:
+ job-name: android-arm-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-armv7/opt
+ symbol: B
+ run-on-projects: ['integration']
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: arm
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - android-gradle-dependencies
+ - linux64-sccache
+
+android-arm-lite/opt:
+ description: "Android 4.1 Arm Opt Lite"
+ index:
+ job-name: android-arm-lite-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-4-1-armv7/opt
+ symbol: Bl
+ run-on-projects: ['integration']
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: arm-lite
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ - android-gradle-dependencies-lite
+
+android-arm-shippable/opt:
+ description: "Android 5.0 Arm Shippable"
+ use-pgo: android-x86-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ shippable: true
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ job-name: android-arm-opt
+ type: android-shippable-with-multi-l10n
+ treeherder:
+ platform: android-5-0-armv7-shippable/opt
+ symbol: Bpgo(B)
+ run-on-projects: ['release']
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build, multi-l10n]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - taskcluster_nightly.py
+ custom-build-variant-cfg: arm
+ fetches:
+ toolchain:
+ - linux64-clang
+ - android-gradle-dependencies
+
+android-arm-shippable-lite/opt:
+ description: "Android 4.1 Arm Shippable Lite"
+ use-pgo: android-x86-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ shippable: true
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ job-name: android-arm-lite-opt
+ type: android-shippable-with-multi-l10n
+ treeherder:
+ platform: android-4-1-armv7-shippable-lite/opt
+ symbol: Bpgo(Bl)
+ run-on-projects: ['release']
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build, multi-l10n]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - taskcluster_nightly.py
+ custom-build-variant-cfg: arm-lite
+ fetches:
+ toolchain:
+ - linux64-clang
+ - android-gradle-dependencies-lite
+
+android-aarch64/opt:
+ description: "Android 5.0 AArch64 Opt"
+ index:
+ job-name: android-aarch64-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-aarch64/opt
+ symbol: B
+ run-on-projects: ['integration']
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: aarch64
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ - android-gradle-dependencies
+
+android-aarch64-lite/opt:
+ description: "Android 5.0 AArch64 Opt Lite"
+ index:
+ job-name: android-aarch64-lite-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-aarch64/opt
+ symbol: Bl
+ run-on-projects: ['integration']
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ PERFHERDER_EXTRA_OPTIONS: lite
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: aarch64-lite
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ - android-gradle-dependencies-lite
+
+android-aarch64/debug:
+ description: "Android 5.0 AArch64 Debug"
+ index:
+ job-name: android-aarch64-debug
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-aarch64/debug
+ symbol: B
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: aarch64-debug
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ - android-gradle-dependencies
+
+android-aarch64-shippable/opt:
+ description: "Android 5.0 AArch64 Shippable"
+ use-pgo: android-aarch64-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ shippable: true
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ job-name: android-aarch64-opt
+ type: android-shippable
+ treeherder:
+ platform: android-5-0-aarch64-shippable/opt
+ symbol: Bpgo(B)
+ run-on-projects: ['release']
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build, multi-l10n]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - taskcluster_nightly.py
+ custom-build-variant-cfg: aarch64
+ fetches:
+ toolchain:
+ - linux64-clang
+ - android-gradle-dependencies
+
+android-aarch64-shippable-lite/opt:
+ description: "Android 5.0 AArch64 Shippable Lite"
+ use-pgo: android-aarch64-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ shippable: true
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ job-name: android-aarch64-lite-opt
+ type: android-shippable
+ treeherder:
+ platform: android-5-0-aarch64-shippable-lite/opt
+ symbol: Bpgo(Bl)
+ run-on-projects: ['release']
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ PERFHERDER_EXTRA_OPTIONS: lite
+ run:
+ actions: [get-secrets, build, multi-l10n]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - taskcluster_nightly.py
+ custom-build-variant-cfg: aarch64-lite
+ fetches:
+ toolchain:
+ - linux64-clang
+ - android-gradle-dependencies-lite
+
+android-x86_64/opt:
+ description: "Android 5.0 x86-64 Opt"
+ index:
+ job-name: android-x86_64-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-x86_64/opt
+ symbol: B
+ run-on-projects: ['integration']
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: x86_64
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ - android-gradle-dependencies
+
+android-x86_64-lite/opt:
+ description: "Android 5.0 x86-64 Opt Lite"
+ index:
+ job-name: android-x86_64-lite-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-x86_64/opt
+ symbol: Bl
+ run-on-projects: ['integration']
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ PERFHERDER_EXTRA_OPTIONS: lite
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: x86_64-lite
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ - android-gradle-dependencies-lite
+
+android-x86_64-fuzzing/debug:
+ description: "Android x86_64 Fuzzing Debug"
+ index:
+ job-name: android-x86_64-fuzzing-debug
+ treeherder:
+ platform: android-5-0-x86_64/debug
+ symbol: Bf
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ PERFHERDER_EXTRA_OPTIONS: fuzzing
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: fuzzing-debug
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ - android-gradle-dependencies
+ optimization:
+ skip-unless-expanded: null
+
+android-x86_64-shippable/opt:
+ description: "Android 5.0 x86-64 Shippable"
+ use-pgo: true
+ attributes:
+ enable-full-crashsymbols: true
+ shippable: true
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ job-name: android-x86_64-opt
+ type: android-shippable
+ treeherder:
+ platform: android-5-0-x86_64-shippable/opt
+ symbol: B
+ run-on-projects: ['release']
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build, multi-l10n]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - taskcluster_nightly.py
+ custom-build-variant-cfg: x86_64
+ fetches:
+ toolchain:
+ - linux64-clang
+ - android-gradle-dependencies
+
+android-x86_64-shippable-lite/opt:
+ description: "Android 5.0 x86-64 Shippable Lite"
+ use-pgo: android-x86_64-shippable/opt
+ attributes:
+ enable-full-crashsymbols: true
+ shippable: true
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ job-name: android-x86_64-lite-opt
+ type: android-shippable
+ treeherder:
+ platform: android-5-0-x86_64-shippable-lite/opt
+ symbol: Bl
+ run-on-projects: ['release']
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ PERFHERDER_EXTRA_OPTIONS: lite
+ run:
+ actions: [get-secrets, build, multi-l10n]
+ config:
+ - builds/releng_base_android_64_builds.py
+ - taskcluster_nightly.py
+ custom-build-variant-cfg: x86_64-lite
+ fetches:
+ toolchain:
+ - linux64-clang
+ - android-gradle-dependencies-lite
+
+android-x86_64/debug:
+ description: "Android 5.0 x86-64 Debug"
+ index:
+ job-name: android-x86_64-debug
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-x86_64/debug
+ symbol: B
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: x86_64-debug
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ - android-gradle-dependencies
+
+android-x86_64/debug-isolated-process:
+ description: "Android 5.0 x86-64 Debug with Isolated Process"
+ index:
+ job-name: android-x86_64-debug-isolated-process
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: android-5-0-x86_64/debug-isolated-process
+ symbol: Bip
+ worker-type: b-linux-gcp
+ worker:
+ env:
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ PERFHERDER_EXTRA_OPTIONS: isolated-process
+ run:
+ actions: [get-secrets, build]
+ config: ["builds/releng_base_android_64_builds.py"]
+ custom-build-variant-cfg: x86_64-debug-isolated-process
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-sccache
+ - android-gradle-dependencies
diff --git a/taskcluster/ci/build/ios.yml b/taskcluster/kinds/build/ios.yml
index 1e8c18caab..1e8c18caab 100644
--- a/taskcluster/ci/build/ios.yml
+++ b/taskcluster/kinds/build/ios.yml
diff --git a/taskcluster/ci/build/kind.yml b/taskcluster/kinds/build/kind.yml
index 2e49ca18c5..2e49ca18c5 100644
--- a/taskcluster/ci/build/kind.yml
+++ b/taskcluster/kinds/build/kind.yml
diff --git a/taskcluster/ci/build/linux-base-toolchains.yml b/taskcluster/kinds/build/linux-base-toolchains.yml
index 1cde0b229f..1cde0b229f 100644
--- a/taskcluster/ci/build/linux-base-toolchains.yml
+++ b/taskcluster/kinds/build/linux-base-toolchains.yml
diff --git a/taskcluster/ci/build/linux.yml b/taskcluster/kinds/build/linux.yml
index 99eae6639e..0cf201a22d 100644
--- a/taskcluster/ci/build/linux.yml
+++ b/taskcluster/kinds/build/linux.yml
@@ -1084,6 +1084,56 @@ linux64-asan-fuzzing/noopt:
optimization:
skip-unless-expanded: null
+linux64-asan-fuzzing-afl/opt:
+ description: "Linux64 Fuzzing Opt ASAN AFL"
+ index:
+ product: firefox
+ job-name: linux64-fuzzing-asan-afl-opt
+ attributes:
+ # The gtest libxul contains libFuzzer targets
+ skip-verify-test-packaging: true
+ treeherder:
+ platform: linux64/asan
+ symbol: Boaf
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: asan-fuzzing-afl
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ AFL_CC: /builds/worker/fetches/clang/bin/clang
+ AFL_CXX: /builds/worker/fetches/clang/bin/clang++
+ AFL_LLVM_INSTRUMENT: llvmnative
+ AFL_LLVM_NO_RPATH: "1"
+ max-run-time: 7200
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: fuzzing-asan-tc
+ mozconfig-variant: nightly-fuzzing-asan-afl
+ tooltool-downloads: public
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-afl-instrumentation
+ - linux64-clang
+ - linux64-rust-dev
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-llvm-symbolizer
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ optimization:
+ skip-unless-expanded: null
+
linux64-asan-fuzzing-nyx/opt:
description: "Linux64 Fuzzing Opt ASAN NYX"
index:
diff --git a/taskcluster/ci/build/macosx-native.yml b/taskcluster/kinds/build/macosx-native.yml
index ad77b6e5aa..ad77b6e5aa 100644
--- a/taskcluster/ci/build/macosx-native.yml
+++ b/taskcluster/kinds/build/macosx-native.yml
diff --git a/taskcluster/ci/build/macosx.yml b/taskcluster/kinds/build/macosx.yml
index 928350e1bf..64e71a0b4b 100644
--- a/taskcluster/ci/build/macosx.yml
+++ b/taskcluster/kinds/build/macosx.yml
@@ -409,6 +409,9 @@ macosx64-devedition/opt:
- artifact: target.perftests.tests.tar.gz
extract: false
dest: ../artifacts
+ - artifact: target.update_framework_artifacts.zip
+ extract: false
+ dest: ../artifacts
- artifact: target.xpt_artifacts.zip
extract: false
dest: ../artifacts
@@ -831,6 +834,9 @@ macosx64-shippable/opt:
- artifact: target.perftests.tests.tar.gz
extract: false
dest: ../artifacts
+ - artifact: target.update_framework_artifacts.zip
+ extract: false
+ dest: ../artifacts
- artifact: target.xpt_artifacts.zip
extract: false
dest: ../artifacts
diff --git a/taskcluster/ci/build/windows-mingw.yml b/taskcluster/kinds/build/windows-mingw.yml
index 09c3ee0022..09c3ee0022 100644
--- a/taskcluster/ci/build/windows-mingw.yml
+++ b/taskcluster/kinds/build/windows-mingw.yml
diff --git a/taskcluster/ci/build/windows.yml b/taskcluster/kinds/build/windows.yml
index af0bebb4f0..af0bebb4f0 100644
--- a/taskcluster/ci/build/windows.yml
+++ b/taskcluster/kinds/build/windows.yml
diff --git a/taskcluster/ci/code-review/kind.yml b/taskcluster/kinds/code-review/kind.yml
index 16586e5a20..16586e5a20 100644
--- a/taskcluster/ci/code-review/kind.yml
+++ b/taskcluster/kinds/code-review/kind.yml
diff --git a/taskcluster/ci/condprof/kind.yml b/taskcluster/kinds/condprof/kind.yml
index d1e50620c8..d1e50620c8 100644
--- a/taskcluster/ci/condprof/kind.yml
+++ b/taskcluster/kinds/condprof/kind.yml
diff --git a/taskcluster/ci/cron-bouncer-check/kind.yml b/taskcluster/kinds/cron-bouncer-check/kind.yml
index 62d2c80960..62d2c80960 100644
--- a/taskcluster/ci/cron-bouncer-check/kind.yml
+++ b/taskcluster/kinds/cron-bouncer-check/kind.yml
diff --git a/taskcluster/ci/diffoscope/artifacts.yml b/taskcluster/kinds/diffoscope/artifacts.yml
index b06604f3cb..a89dfcbfee 100644
--- a/taskcluster/ci/diffoscope/artifacts.yml
+++ b/taskcluster/kinds/diffoscope/artifacts.yml
@@ -17,8 +17,12 @@ job-defaults:
# bug 1825141 - telemetry.fog.artifact_build isn't stable between
# artifact and not-artifact builds, so remove its line if present.
- sed -i '/telemetry\.fog\.artifact\_build/d' b/"$RESOURCE_DIR"/browser/defaults/preferences/firefox.js
- # artifact builds are not fed with accepted-mar-channel-ids
+ # non-macOS artifact builds are not fed with accepted-mar-channel-ids.
- if [ -f a/"$RESOURCE_DIR"/update-settings.ini ]; then sed -i '/ACCEPTED_MAR_CHANNEL_IDS/d' {a,b}/"$RESOURCE_DIR"/update-settings.ini; fi
+ # macOS artifact builds have local update configurations, not Nightly
+ # update configurations.
+ - rm -f {a,b}/"$RESOURCE_DIR"/../Frameworks/ChannelPrefs.framework/ChannelPrefs
+ - rm -f {a,b}/"$RESOURCE_DIR"/../MacOS/updater.app/Contents/Frameworks/UpdateSettings.framework/UpdateSettings
# Extra diffoscope arguments to account for:
# - about:buildconfig being expectedly different.
extra-args: >-
diff --git a/taskcluster/ci/diffoscope/kind.yml b/taskcluster/kinds/diffoscope/kind.yml
index 89b38fc665..89b38fc665 100644
--- a/taskcluster/ci/diffoscope/kind.yml
+++ b/taskcluster/kinds/diffoscope/kind.yml
diff --git a/taskcluster/ci/diffoscope/reproducible.yml b/taskcluster/kinds/diffoscope/reproducible.yml
index 4f89bfca4e..4f89bfca4e 100644
--- a/taskcluster/ci/diffoscope/reproducible.yml
+++ b/taskcluster/kinds/diffoscope/reproducible.yml
diff --git a/taskcluster/kinds/docker-image/kind.yml b/taskcluster/kinds/docker-image/kind.yml
new file mode 100644
index 0000000000..22b18cf16f
--- /dev/null
+++ b/taskcluster/kinds/docker-image/kind.yml
@@ -0,0 +1,250 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - packages
+
+transforms:
+ - gecko_taskgraph.transforms.docker_image:transforms
+ - gecko_taskgraph.transforms.cached_tasks:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+# 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
+jobs:
+ image_builder:
+ symbol: I(ib)
+ # Neither the ubuntu1804-*raw nor the ubuntu1804-*packages images can have
+ # packages dependencies.
+ ubuntu1804-raw:
+ symbol: I(ub18-raw)
+ definition: debian-raw
+ args:
+ BASE_IMAGE: ubuntu:bionic
+ ubuntu1804-packages:
+ symbol: I(ub18-pkg)
+ definition: debian-packages
+ parent: ubuntu1804-raw
+ ubuntu1804-i386-raw:
+ symbol: I(ub18-32-raw)
+ definition: debian-raw
+ args:
+ BASE_IMAGE: i386/ubuntu:bionic
+ ubuntu1804-i386-packages:
+ symbol: I(ub18-32-pkg)
+ definition: debian-packages
+ parent: ubuntu1804-i386-raw
+ ubuntu1804-base:
+ symbol: I(ub18-base)
+ parent: ubuntu1804-raw
+ packages:
+ - ub18-mercurial
+ - ub18-python-zstandard
+ - ub18-python-psutil
+ ubuntu1804-test-base:
+ symbol: I(ub18-test-base)
+ parent: ubuntu1804-base
+ packages:
+ - ub18-libc6
+ - ub18-pygobject
+ - ub18-pyatspi
+ - ub18-32-libc6
+ ubuntu1804-test:
+ symbol: I(ub18-test)
+ parent: ubuntu1804-test-base
+ ubuntu1804-build-python:
+ symbol: I(ub18-build-python)
+ parent: ubuntu1804-base
+ # Neither the ubuntu1804-*raw nor the ubuntu1804-*packages images can have
+ # packages dependencies.
+ ubuntu2004-raw:
+ symbol: I(ub20-raw)
+ definition: debian-raw
+ args:
+ BASE_IMAGE: ubuntu:focal
+ ubuntu2204-raw:
+ symbol: I(ub22-raw)
+ definition: debian-raw
+ args:
+ BASE_IMAGE: ubuntu:jammy
+ ubuntu2004-packages:
+ symbol: I(ub20-pkg)
+ definition: debian-packages
+ parent: ubuntu2004-raw
+ ubuntu2204-packages:
+ symbol: I(ub22-pkg)
+ definition: debian-packages
+ parent: ubuntu2204-raw
+ ubuntu2004-base:
+ symbol: I(ub20-base)
+ definition: debian-base
+ parent: ubuntu2004-raw
+ packages:
+ - ub20-mercurial
+ - ub20-python-zstandard
+ ubuntu2204-base:
+ symbol: I(ub22-base)
+ definition: debian-base
+ parent: ubuntu2204-raw
+ packages:
+ - ub22-mercurial
+ - ub22-python-zstandard
+ # Neither the debian8-*raw nor the debian8-*packages images can have
+ # packages dependencies.
+ debian8-raw:
+ symbol: I(deb8-raw)
+ definition: debian-raw
+ args:
+ BASE_IMAGE: debian:jessie-20210208
+ DIST: jessie
+ debian8-packages:
+ symbol: I(deb8-pkg)
+ definition: debian-packages
+ parent: debian8-raw
+ debian8-i386-raw:
+ symbol: I(deb8-32-raw)
+ definition: debian-raw
+ args:
+ BASE_IMAGE: i386/debian:jessie-20210208
+ DIST: jessie
+ debian8-i386-packages:
+ symbol: I(deb8-32-pkg)
+ definition: debian-packages
+ parent: debian8-i386-raw
+ custom-v8:
+ symbol: I(custom-v8)
+ parent: debian12-base
+ # Chromium-as-Release
+ custom-car-linux:
+ symbol: I(custom-car-linux)
+ parent: debian12-base
+ # Chromium-as-Release Android
+ custom-car-android:
+ symbol: I(custom-car-android)
+ parent: debian12-base
+ valgrind-build:
+ symbol: I(vb)
+ parent: debian12-amd64-build
+ packages:
+ - deb12-valgrind
+ lint:
+ symbol: I(lnt)
+ parent: debian12-base
+ # Neither the debian12-raw nor the debian12-packages images can have
+ # packages dependencies.
+ debian12-raw:
+ symbol: I(deb12-raw)
+ definition: debian-raw
+ args:
+ BASE_IMAGE: debian:bookworm-20230612
+ DIST: bookworm
+ SNAPSHOT: '20230611T210420Z'
+ debian12-packages:
+ symbol: I(deb12-pkg)
+ definition: debian-packages
+ parent: debian12-raw
+ debian12-base:
+ symbol: I(deb12-base)
+ definition: debian-base
+ parent: debian12-raw
+ packages:
+ - deb12-mercurial
+ - deb12-python-zstandard
+ debian12-amd64-build:
+ symbol: I(deb12)
+ parent: debian12-base
+ definition: debian-build
+ debian12-repackage:
+ symbol: I(deb12-rpk)
+ parent: debian12-base
+ definition: debian-repackage
+ packages:
+ - deb12-mercurial
+ deb12-toolchain-build:
+ symbol: I(deb12-toolchain)
+ parent: debian12-base
+ definition: toolchain-build
+ android-build:
+ symbol: I(agb)
+ parent: debian12-base
+ fetch:
+ symbol: I(fetch)
+ parent: debian12-raw
+ packages:
+ - deb12-python-zstandard
+ static-analysis-build:
+ symbol: I(static-analysis-build)
+ parent: debian12-base
+ gdb-test:
+ symbol: I(gdb)
+ parent: debian12-amd64-build
+ index-task:
+ symbol: I(idx)
+ funsize-update-generator:
+ symbol: I(pg)
+ update-verify:
+ symbol: I(uv)
+ parent: ubuntu2004-base
+ diffoscope:
+ symbol: I(diff)
+ parent: debian12-base
+ partner-repack:
+ symbol: I(PR)
+ parent: debian12-base
+ definition: partner-repack
+ updatebot:
+ symbol: I(3rdp)
+ parent: push-to-try
+ periodic-updates:
+ symbol: I(file)
+ parent: debian12-base
+ firefox-snap:
+ symbol: I(snap)
+ firefox-flatpak:
+ symbol: I(flatpak)
+ webrender:
+ symbol: I(webrender)
+ parent: debian12-base
+ condprof:
+ symbol: I(condprof)
+ parent: ubuntu1804-test
+ sentry:
+ symbol: I(sentry)
+ parent: debian12-base
+ system-symbols-mac:
+ symbol: I(system-symbols-mac)
+ parent: debian12-base
+ system-symbols-win:
+ symbol: I(system-symbols-win)
+ parent: debian12-base
+ system-symbols-win-gfx:
+ symbol: I(system-symbols-win-gfx)
+ parent: debian12-base
+ system-symbols-linux-scraper:
+ symbol: I(system-symbols-linux)
+ parent: debian12-base
+ push-to-try:
+ symbol: I(push-to-try)
+ parent: debian12-base
+ decision:
+ symbol: I(decision)
+ parent: ubuntu2004-base
+ snap-build-core22:
+ symbol: I(snap22-build)
+ parent: ubuntu2204-base
+ definition: snap-coreXX-build
+ args:
+ SNAP_BASE: core22
+ SNAP_LIST: "gnome-42-2204 gtk-common-themes gnome-42-2204-sdk"
+ android-components:
+ symbol: I(android-components)
+ parent: debian12-base
+ android-ui-tests:
+ symbol: I(android-ui-tests)
+ parent: android-components
diff --git a/taskcluster/ci/fetch/benchmarks.yml b/taskcluster/kinds/fetch/benchmarks.yml
index 7e31470baf..7e31470baf 100644
--- a/taskcluster/ci/fetch/benchmarks.yml
+++ b/taskcluster/kinds/fetch/benchmarks.yml
diff --git a/taskcluster/ci/fetch/browsertime.yml b/taskcluster/kinds/fetch/browsertime.yml
index 730ca3c279..a495ec04a3 100644
--- a/taskcluster/ci/fetch/browsertime.yml
+++ b/taskcluster/kinds/fetch/browsertime.yml
@@ -77,15 +77,15 @@ mac-arm-chromedriver-122:
sha256: 645f277c05d7f7d238c7a45412f42489767f48cba05d8632ce00b54b3704d4e1
size: 8293896
-win32-chromedriver-123:
- description: "Win32 chromedriver v123"
+win64-chromedriver-123:
+ description: "Win64 chromedriver v123"
fetch:
type: static-url
- artifact-name: chromedriver_win32_123.tar.zst
+ artifact-name: chromedriver_win64_123.tar.zst
add-prefix: "123"
- url: "https://storage.googleapis.com/chrome-for-testing-public/123.0.6312.58/win32/chromedriver-win32.zip"
- sha256: 5367d72e2a90463bda103450b893ec12a7272dc62094d230a4433c449b96993e
- size: 8125668
+ url: "https://storage.googleapis.com/chrome-for-testing-public/123.0.6312.58/win64/chromedriver-win64.zip"
+ sha256: 2c54d5c120fc4371d769c9ae30f3cb6708d7568c99c5965e4f1bb476d1d5997f
+ size: 8567770
linux64-chromedriver-123:
description: "Linux64 chromedriver v123"
@@ -117,16 +117,6 @@ mac-arm-chromedriver-123:
sha256: 4ccade08517d2e8fbd832ee4cd959df4c8dea740986b70b19f892bf413537641
size: 9325268
-win32-chromedriver-124:
- description: "Win32 chromedriver v124"
- fetch:
- type: static-url
- artifact-name: chromedriver_win32_124.tar.zst
- add-prefix: "124"
- url: "https://storage.googleapis.com/chrome-for-testing-public/124.0.6367.29/win32/chromedriver-win32.zip"
- sha256: 5a47fb7ed7094021fd3faa25fcdaf69e893082e3b0f5d31f9d341082eceb80dc
- size: 8171680
-
win64-chromedriver-124:
description: "Win64 chromedriver v124"
fetch:
diff --git a/taskcluster/kinds/fetch/chromium-fetch.yml b/taskcluster/kinds/fetch/chromium-fetch.yml
new file mode 100644
index 0000000000..f99e1325cd
--- /dev/null
+++ b/taskcluster/kinds/fetch/chromium-fetch.yml
@@ -0,0 +1,48 @@
+# 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/.
+---
+job-defaults:
+ fetch:
+ type: chromium-fetch
+ script: /builds/worker/bin/fetch-chromium.py
+
+linux64-chromiumdriver:
+ description: 'Linux64 Chromium Trunk Chromedriver Fetch'
+ attributes:
+ cached_task: false
+ fetch:
+ platform: linux
+ artifact-name: chromium-linux.tar.bz2
+
+win32-chromiumdriver:
+ description: 'Windows32 Chromium Trunk Chromedriver Fetch'
+ attributes:
+ cached_task: false
+ fetch:
+ platform: win32
+ artifact-name: chromium-win32.tar.bz2
+
+win64-chromiumdriver:
+ description: 'Windows64 Chromium Trunk Chromedriver Fetch'
+ attributes:
+ cached_task: false
+ fetch:
+ platform: win64
+ artifact-name: chromium-win64.tar.bz2
+
+mac-chromiumdriver:
+ description: 'MacOSX Chromium Trunk Chromedriver Fetch'
+ attributes:
+ cached_task: false
+ fetch:
+ platform: mac
+ artifact-name: chromium-mac.tar.bz2
+
+mac-chromiumdriver-arm:
+ description: 'MacOSX ARM Chromium Trunk Chromedriver Fetch'
+ attributes:
+ cached_task: false
+ fetch:
+ platform: mac-arm
+ artifact-name: chromium-mac-arm.tar.bz2
diff --git a/taskcluster/ci/fetch/kind.yml b/taskcluster/kinds/fetch/kind.yml
index 027ab7f1eb..027ab7f1eb 100644
--- a/taskcluster/ci/fetch/kind.yml
+++ b/taskcluster/kinds/fetch/kind.yml
diff --git a/taskcluster/ci/fetch/moz.build b/taskcluster/kinds/fetch/moz.build
index 28b8003edf..28b8003edf 100644
--- a/taskcluster/ci/fetch/moz.build
+++ b/taskcluster/kinds/fetch/moz.build
diff --git a/taskcluster/ci/fetch/resource-monitor.yml b/taskcluster/kinds/fetch/resource-monitor.yml
index 2fe94cb4f9..2fe94cb4f9 100644
--- a/taskcluster/ci/fetch/resource-monitor.yml
+++ b/taskcluster/kinds/fetch/resource-monitor.yml
diff --git a/taskcluster/ci/fetch/toolchain-clang-tidy-external.yml b/taskcluster/kinds/fetch/toolchain-clang-tidy-external.yml
index d71058c06b..d71058c06b 100644
--- a/taskcluster/ci/fetch/toolchain-clang-tidy-external.yml
+++ b/taskcluster/kinds/fetch/toolchain-clang-tidy-external.yml
diff --git a/taskcluster/ci/fetch/toolchains.yml b/taskcluster/kinds/fetch/toolchains.yml
index 9c58eaddc7..10a63bfffd 100644
--- a/taskcluster/ci/fetch/toolchains.yml
+++ b/taskcluster/kinds/fetch/toolchains.yml
@@ -362,11 +362,11 @@ clang-17:
revision: 6009708b4367171ccdbf4b5905cb6a803753fe18
clang-18:
- description: clang 18.1.1 source code
+ description: clang 18.1.5 source code
fetch:
type: git
repo: https://github.com/llvm/llvm-project
- revision: dba2a75e9c7ef81fe84774ba5eee5e67e01d801a
+ revision: 617a15a9eac96088ae5e9134248d8236e34b91b1
clang-trunk:
description: clang main branch source code
@@ -466,9 +466,9 @@ jdk-8-linux64:
description: Java 8 JDK
fetch:
type: static-url
- url: https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u312-b07/OpenJDK8U-jdk_x64_linux_hotspot_8u312b07.tar.gz
- sha256: 699981083983b60a7eeb511ad640fae3ae4b879de5a3980fe837e8ade9c34a08
- size: 103016010
+ url: https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u412-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u412b08.tar.gz
+ sha256: b9884a96f78543276a6399c3eb8c2fd8a80e6b432ea50e87d3d12d495d1d2808
+ size: 103005511
artifact-name: jdk-8.tar.zst
strip-components: 1
add-prefix: jdk-8/
@@ -594,7 +594,7 @@ symbol-scrapers:
fetch:
type: git
repo: https://github.com/mozilla/symbol-scrapers
- revision: 95ea2e4c5f82469cb394620c8d332e3457466e45
+ revision: defbe6b01a661b8c3f1de943e40554a093b26fe9
xz-5.4.4:
description: xz 5.4.4 source code
diff --git a/taskcluster/ci/fetch/updatebot.yml b/taskcluster/kinds/fetch/updatebot.yml
index b757a383f8..b757a383f8 100644
--- a/taskcluster/ci/fetch/updatebot.yml
+++ b/taskcluster/kinds/fetch/updatebot.yml
diff --git a/taskcluster/ci/fuzzing/kind.yml b/taskcluster/kinds/fuzzing/kind.yml
index 444240c619..444240c619 100644
--- a/taskcluster/ci/fuzzing/kind.yml
+++ b/taskcluster/kinds/fuzzing/kind.yml
diff --git a/taskcluster/ci/fxrecord/kind.yml b/taskcluster/kinds/fxrecord/kind.yml
index 7ff7816e7e..7ff7816e7e 100644
--- a/taskcluster/ci/fxrecord/kind.yml
+++ b/taskcluster/kinds/fxrecord/kind.yml
diff --git a/taskcluster/ci/geckodriver-mac-notarization/kind.yml b/taskcluster/kinds/geckodriver-mac-notarization/kind.yml
index a90e6faa2e..a90e6faa2e 100644
--- a/taskcluster/ci/geckodriver-mac-notarization/kind.yml
+++ b/taskcluster/kinds/geckodriver-mac-notarization/kind.yml
diff --git a/taskcluster/ci/geckodriver-signing/kind.yml b/taskcluster/kinds/geckodriver-signing/kind.yml
index 08007495e5..08007495e5 100644
--- a/taskcluster/ci/geckodriver-signing/kind.yml
+++ b/taskcluster/kinds/geckodriver-signing/kind.yml
diff --git a/taskcluster/kinds/generate-profile/kind.yml b/taskcluster/kinds/generate-profile/kind.yml
new file mode 100644
index 0000000000..35d751ca80
--- /dev/null
+++ b/taskcluster/kinds/generate-profile/kind.yml
@@ -0,0 +1,365 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - instrumented-build
+
+transforms:
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.run_pgo_profile:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+
+job-defaults:
+ treeherder:
+ symbol: Bpgo(run)
+ kind: build
+ tier: 1
+ use-python: default
+
+jobs:
+ linux-shippable/opt:
+ description: "Linux Profile Generation"
+ shipping-phase: build
+ shipping-product: firefox
+ index:
+ product: firefox
+ job-name: linux-profile
+ treeherder:
+ platform: linux32-shippable/opt
+ worker-type: b-linux-gcp
+ worker:
+ chain-of-trust: true
+ env:
+ NEED_XVFB: "true"
+ max-run-time: 1200
+ docker-image: {in-tree: ubuntu1804-test}
+ artifacts:
+ - type: directory
+ name: public/build
+ path: /builds/worker/artifacts/
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >
+ ./taskcluster/scripts/misc/run-profileserver.sh
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-minidump-stackwalk
+
+ linux64-shippable/opt:
+ description: "Linux64 Profile Generation"
+ shipping-phase: build
+ shipping-product: firefox
+ index:
+ product: firefox
+ job-name: linux64-profile
+ treeherder:
+ platform: linux64-shippable/opt
+ worker-type: b-linux-gcp
+ worker:
+ chain-of-trust: true
+ env:
+ NEED_XVFB: "true"
+ max-run-time: 1200
+ docker-image: {in-tree: ubuntu1804-test}
+ artifacts:
+ - type: directory
+ name: public/build
+ path: /builds/worker/artifacts/
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >
+ ./taskcluster/scripts/misc/run-profileserver.sh
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-minidump-stackwalk
+
+ android-x86-shippable/opt:
+ description: "Android 5.0 x86 Profile Generation"
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ product: mobile
+ job-name: android-x86-profile
+ treeherder:
+ platform: android-5-0-x86/pgo
+ worker-type: t-linux-xlarge-pgo
+ worker:
+ chain-of-trust: true
+ max-run-time: 3600
+ docker-image: {in-tree: ubuntu1804-test}
+ env:
+ WORKING_DIR: "/builds/worker"
+ MOZHARNESS_PATH: "/builds/worker/checkouts/gecko/testing/mozharness"
+ PYTHON: "/builds/worker/checkouts/gecko/mach python"
+ artifacts:
+ - type: directory
+ name: public/build
+ path: /builds/worker/artifacts/
+ run:
+ using: mozharness
+ job-script: taskcluster/scripts/tester/test-linux.sh
+ script: android_emulator_pgo.py
+ tooltool-downloads: internal
+ options: [installer-path=/builds/worker/fetches/geckoview-test_runner.apk]
+ config:
+ - android/android_common.py
+ - android/android-x86_64-profile-generation.py
+ - android/android_pgo.py
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-minidump-stackwalk
+ - linux64-hostutils
+ - android-sdk-linux
+ - android-system-image-x86_64-linux
+ - android-avd-x86_64-linux
+
+ android-x86_64-shippable/opt:
+ description: "Android 5.0 x86_64 Profile Generation"
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ product: mobile
+ job-name: android-x86_64-profile
+ treeherder:
+ platform: android-5-0-x86_64/pgo
+ worker-type: t-linux-xlarge-pgo
+ worker:
+ chain-of-trust: true
+ max-run-time: 3600
+ docker-image: {in-tree: ubuntu1804-test}
+ env:
+ WORKING_DIR: "/builds/worker"
+ MOZHARNESS_PATH: "/builds/worker/checkouts/gecko/testing/mozharness"
+ PYTHON: "/builds/worker/checkouts/gecko/mach python"
+ artifacts:
+ - type: directory
+ name: public/build
+ path: /builds/worker/artifacts/
+ run:
+ using: mozharness
+ job-script: taskcluster/scripts/tester/test-linux.sh
+ script: android_emulator_pgo.py
+ tooltool-downloads: internal
+ options: [installer-path=/builds/worker/fetches/geckoview-test_runner.apk]
+ config:
+ - android/android_common.py
+ - android/android-x86_64-profile-generation.py
+ - android/android_pgo.py
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-minidump-stackwalk
+ - linux64-hostutils
+ - android-sdk-linux
+ - android-system-image-x86_64-linux
+ - android-avd-x86_64-linux
+
+ android-aarch64-shippable/opt:
+ description: "Android 5.0 Aarch64 Profile Generation"
+ shipping-phase: build
+ shipping-product: fennec
+ index:
+ product: mobile
+ job-name: android-aarch64-profile
+ treeherder:
+ platform: android-5-0-aarch64/pgo
+ worker-type: b-linux-kvm-gcp
+ worker:
+ chain-of-trust: true
+ max-run-time: 2700
+ kvm: true # for access to /dev/kvm for hw accel in the emulator
+ docker-image: {in-tree: ubuntu1804-test}
+ env:
+ WORKING_DIR: "/builds/worker"
+ MOZHARNESS_PATH: "/builds/worker/checkouts/gecko/testing/mozharness"
+ PYTHON: "/builds/worker/checkouts/gecko/mach python"
+ artifacts:
+ - type: directory
+ name: public/build
+ path: /builds/worker/artifacts/
+ run:
+ using: mozharness
+ job-script: taskcluster/scripts/tester/test-linux.sh
+ script: android_emulator_pgo.py
+ tooltool-downloads: internal
+ options: [installer-path=/builds/worker/fetches/geckoview-test_runner.apk]
+ config:
+ - android/android_common.py
+ - android/android-aarch64-profile-generation.py
+ - android/android_pgo.py
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-minidump-stackwalk
+ - linux64-hostutils
+ - android-sdk-linux
+ - android31-system-image-x86_64-linux
+ - android31-avd-x86_64-linux
+
+ win32-shippable/opt:
+ description: "Win32 Profile Generation"
+ shipping-phase: build
+ shipping-product: firefox
+ index:
+ product: firefox
+ job-name: win32-profile
+ treeherder:
+ platform: windows2012-32-shippable/opt
+ worker-type: b-win2022
+ worker:
+ chain-of-trust: true
+ max-run-time: 2400
+ env:
+ UPLOAD_PATH: "artifacts"
+ artifacts:
+ - type: directory
+ name: public/build
+ path: build/src/artifacts/
+ run:
+ using: run-task
+ sparse-profile: profile-generate
+ cwd: '{checkout}'
+ command: ./taskcluster/scripts/misc/run-profileserver.sh
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - win64-clang-toolchain
+ - win32-minidump-stackwalk
+
+ win64-shippable/opt:
+ description: "Win64 Profile Generation"
+ shipping-phase: build
+ shipping-product: firefox
+ index:
+ product: firefox
+ job-name: win64-profile
+ treeherder:
+ platform: windows2012-64-shippable/opt
+ worker-type: b-win2022
+ worker:
+ chain-of-trust: true
+ max-run-time: 2400
+ env:
+ UPLOAD_PATH: "artifacts"
+ artifacts:
+ - type: directory
+ name: public/build
+ path: build/src/artifacts/
+ run:
+ using: run-task
+ sparse-profile: profile-generate
+ cwd: '{checkout}'
+ command: ./taskcluster/scripts/misc/run-profileserver.sh
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - win64-clang-toolchain
+ - win32-minidump-stackwalk
+
+ win64-nightlyasrelease/opt:
+ description: "Win64 Nightly-as-release Profile Generation"
+ shipping-phase: build
+ shipping-product: firefox
+ index:
+ product: firefox
+ job-name: win64-nightlyasrelease-profile
+ treeherder:
+ platform: win64-nightlyasrelease/opt
+ worker-type: b-win2022
+ worker:
+ chain-of-trust: true
+ max-run-time: 2400
+ env:
+ UPLOAD_PATH: "artifacts"
+ artifacts:
+ - type: directory
+ name: public/build
+ path: build/src/artifacts/
+ run:
+ using: run-task
+ sparse-profile: profile-generate
+ cwd: '{checkout}'
+ command: ./taskcluster/scripts/misc/run-profileserver.sh
+ run-on-projects: [trunk-only]
+ fetches:
+ toolchain:
+ - win64-clang-toolchain
+ - win32-minidump-stackwalk
+
+ macosx64-shippable/opt:
+ description: "macosx64 Profile Generation"
+ shipping-phase: build
+ shipping-product: firefox
+ index:
+ product: firefox
+ job-name: macosx64-profile
+ treeherder:
+ platform: macosx1015-64-shippable/opt
+ worker-type: b-osx-1015
+ worker:
+ chain-of-trust: true
+ max-run-time: 7200
+ env:
+ SHELL: "/bin/bash"
+ artifacts:
+ - type: directory
+ name: public/build
+ path: artifacts/
+ run:
+ using: run-task
+ sparse-profile: profile-generate
+ cwd: '{checkout}'
+ command: ./taskcluster/scripts/misc/run-profileserver-macos.sh
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - macosx64-clang
+ - macosx64-minidump-stackwalk
+
+ macosx64-aarch64-shippable/opt:
+ description: "macosx64 aarch64 Profile Generation"
+ shipping-phase: build
+ shipping-product: firefox
+ index:
+ product: firefox
+ job-name: macosx64-aarch64-profile
+ treeherder:
+ platform: macosx1100-64-shippable/opt
+ worker-type: b-osx-arm64
+ worker:
+ chain-of-trust: true
+ max-run-time: 7200
+ env:
+ SHELL: "/bin/bash"
+ artifacts:
+ - type: directory
+ name: public/build
+ path: artifacts/
+ run:
+ using: run-task
+ sparse-profile: profile-generate
+ cwd: '{checkout}'
+ command: ./taskcluster/scripts/misc/run-profileserver-macos.sh
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - macosx64-clang
+ - macosx64-minidump-stackwalk
diff --git a/taskcluster/kinds/hazard/kind.yml b/taskcluster/kinds/hazard/kind.yml
new file mode 100644
index 0000000000..495f6b10cc
--- /dev/null
+++ b/taskcluster/kinds/hazard/kind.yml
@@ -0,0 +1,84 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ attributes:
+ retrigger: true
+ treeherder:
+ kind: build
+ tier: 1
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 10800
+ docker-image: {in-tree: debian12-amd64-build}
+ use-python: default
+
+jobs:
+ linux64-shell-haz/debug:
+ description: "JS Shell Hazard Analysis Linux"
+ index:
+ product: firefox
+ job-name: shell-haz-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: SM(H)
+ run:
+ using: hazard
+ command: >
+ cd /builds/worker/checkouts/gecko/taskcluster/scripts/builder
+ && ./build-haz-linux.sh --project js $HOME/workspace
+ when:
+ files-changed:
+ - js/public/**
+ - js/src/**
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-gcc-9
+ - linux64-gcc-sixgill
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+
+ linux64-haz/debug:
+ description: "Browser Hazard Analysis Linux"
+ index:
+ product: firefox
+ job-name: browser-haz-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: H
+ run:
+ using: hazard
+ command: >
+ cd /builds/worker/checkouts/gecko/taskcluster/scripts/builder
+ && ./build-haz-linux.sh --project browser $HOME/workspace
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-gcc-9
+ - linux64-gcc-sixgill
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ optimization:
+ skip-unless-backstop: null
diff --git a/taskcluster/kinds/instrumented-build/kind.yml b/taskcluster/kinds/instrumented-build/kind.yml
new file mode 100644
index 0000000000..048bea725f
--- /dev/null
+++ b/taskcluster/kinds/instrumented-build/kind.yml
@@ -0,0 +1,491 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - fetch
+
+transforms:
+ - gecko_taskgraph.transforms.build:transforms
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.artifact:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ shipping-phase: build
+ treeherder:
+ symbol: Bpgo(instr)
+ tier: 1
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: instrumented
+ MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
+ use-python: default
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ use-sccache:
+ by-release-level:
+ production: false
+ staging: true
+ fetches:
+ toolchain:
+ - linux64-sccache
+
+jobs:
+ linux-shippable/opt:
+ description: "Linux Instrumented"
+ index:
+ product: firefox
+ job-name: instrumented-linux
+ shipping-product: firefox
+ treeherder:
+ platform: linux32-shippable/opt
+ worker-type: b-linux-gcp
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_32_builds.py
+ mozconfig-variant: profile-generate
+ tooltool-downloads: public
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-i686-linux-gnu
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+ linux64-shippable/opt:
+ description: "Linux64 Instrumented"
+ index:
+ product: firefox
+ job-name: instrumented-linux64
+ shipping-product: firefox
+ treeherder:
+ platform: linux64-shippable/opt
+ worker-type: b-linux-gcp
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ mozconfig-variant: profile-generate
+ tooltool-downloads: public
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+ linux64-aarch64-shippable/opt:
+ description: "Linux AArch64 (a.k.a. ARM64) Instrumented"
+ index:
+ product: firefox
+ job-name: instrumented-linux64-aarch64
+ shipping-product: firefox
+ treeherder:
+ platform: linux64-aarch64-shippable/opt
+ worker-type: b-linux-gcp
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ mozconfig-variant: profile-generate
+ extra-config:
+ extra_mozconfig_content:
+ - ac_add_options --target=aarch64
+ - unset MOZ_STDCXX_COMPAT
+ tooltool-downloads: public
+ run-on-projects: ['mozilla-central']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-aarch64-linux-gnu
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+ macosx64-shippable/opt:
+ description: "MacOS X x64 Cross-compile Instrumented"
+ shipping-phase: build
+ shipping-product: firefox
+ treeherder:
+ platform: osx-shippable/opt
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: instrumented
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_mac_64_cross_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ mozconfig-variant: profile-generate
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-hfsplus
+ - linux64-libdmg
+ - linux64-rust-macos
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - macosx64-sdk
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+ macosx64-aarch64-shippable/opt:
+ description: "MacOS X aarch64 Cross-compile Instrumented"
+ shipping-phase: build
+ shipping-product: firefox
+ treeherder:
+ platform: osx-aarch64-shippable/opt
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: instrumented
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_mac_64_cross_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ mozconfig-variant: profile-generate
+ extra-config:
+ mozconfig_platform: macosx64-aarch64
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-hfsplus
+ - linux64-libdmg
+ - linux64-rust-macos
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - macosx64-sdk
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+ android-x86-shippable/opt:
+ description: "Android 5.0 x86 PGO instrumented"
+ index:
+ product: mobile
+ job-name: instrumented-android-x86
+ shipping-product: fennec
+ treeherder:
+ platform: android-5-0-x86/pgo
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {in-tree: android-build}
+ env:
+ GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline"
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ artifacts:
+ - name: public/build
+ path: /builds/worker/artifacts/
+ type: directory
+ - name: public/build/geckoview-androidTest.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk
+ type: file
+ - name: public/build/geckoview-test_runner.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk
+ type: file
+ - name: public/build/geckoview-test_runner.aab
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab
+ type: file
+ - name: public/build/geckoview_example.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk
+ type: file
+ - name: public/build/geckoview_example.aab
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab
+ type: file
+ run:
+ config:
+ - builds/releng_base_android_64_builds.py
+ custom-build-variant-cfg: x86-profile-generate
+ tooltool-downloads: internal
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - android-gradle-dependencies
+ - android-ndk-linux
+ - android-sdk-linux
+ - linux64-jdk
+ - linux64-clang
+ - linux64-rust-android
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+ android-x86_64-shippable/opt:
+ description: "Android 5.0 x86_64 PGO instrumented"
+ index:
+ product: mobile
+ job-name: instrumented-android-x86_64
+ shipping-product: fennec
+ treeherder:
+ platform: android-5-0-x86_64/pgo
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {in-tree: android-build}
+ env:
+ GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline"
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ artifacts:
+ - name: public/build
+ path: /builds/worker/artifacts/
+ type: directory
+ - name: public/build/geckoview-androidTest.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk
+ type: file
+ - name: public/build/geckoview-test_runner.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk
+ type: file
+ - name: public/build/geckoview-test_runner.aab
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab
+ type: file
+ - name: public/build/geckoview_example.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk
+ type: file
+ - name: public/build/geckoview_example.aab
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab
+ type: file
+ run:
+ config:
+ - builds/releng_base_android_64_builds.py
+ custom-build-variant-cfg: x86_64-profile-generate
+ tooltool-downloads: internal
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - android-gradle-dependencies
+ - android-ndk-linux
+ - android-sdk-linux
+ - linux64-jdk
+ - linux64-clang
+ - linux64-rust-android
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+ android-aarch64-shippable/opt:
+ description: "Android 5.0 AArch64 PGO instrumented"
+ index:
+ product: mobile
+ job-name: instrumented-android-aarch64
+ shipping-product: fennec
+ treeherder:
+ platform: android-5-0-aarch64/pgo
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {in-tree: android-build}
+ env:
+ GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline"
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ artifacts:
+ - name: public/build
+ path: /builds/worker/artifacts/
+ type: directory
+ - name: public/build/geckoview-androidTest.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk
+ type: file
+ - name: public/build/geckoview-test_runner.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk
+ type: file
+ - name: public/build/geckoview-test_runner.aab
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab
+ type: file
+ - name: public/build/geckoview_example.apk
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk
+ type: file
+ - name: public/build/geckoview_example.aab
+ path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab
+ type: file
+ run:
+ config:
+ - builds/releng_base_android_64_builds.py
+ custom-build-variant-cfg: aarch64-profile-generate
+ tooltool-downloads: internal
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - android-gradle-dependencies
+ - android-ndk-linux
+ - android-sdk-linux
+ - linux64-jdk
+ - linux64-clang
+ - linux64-rust-android
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+ win32-shippable/opt:
+ description: "Win32 Shippable PGO Instrumented"
+ index:
+ product: firefox
+ job-name: instrumented-win32
+ shipping-product: firefox
+ treeherder:
+ platform: windows2012-32-shippable/opt
+ worker-type: b-linux-gcp
+ run:
+ options: [append-env-variables-from-configs]
+ mozconfig-variant: profile-generate
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ extra-config:
+ stage_platform: win32
+ mozconfig_platform: win32
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - vs
+ - windows-rs
+ fetch:
+ - upx-3.95-win
+
+ win64-nightlyasrelease/opt:
+ description: "Win64 Shippable PGO Instrumented"
+ index:
+ product: firefox
+ job-name: instrumented-nightlyasrelease-win64
+ shipping-product: firefox
+ treeherder:
+ platform: win64-nightlyasrelease/opt
+ worker-type: b-linux-gcp
+ run:
+ options: [append-env-variables-from-configs]
+ mozconfig-variant: profile-generate
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ extra-config:
+ stage_platform: win64
+ mozconfig_platform: win64
+ extra_mozconfig_content:
+ - ac_add_options --as-milestone=release
+ run-on-projects: [trunk-only]
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - vs
+ - windows-rs
+ fetch:
+ - upx-3.95-win
+
+ win64-shippable/opt:
+ description: "Win64 Shippable PGO Instrumented"
+ index:
+ product: firefox
+ job-name: instrumented-win64
+ shipping-product: firefox
+ treeherder:
+ platform: windows2012-64-shippable/opt
+ worker-type: b-linux-gcp
+ run:
+ options: [append-env-variables-from-configs]
+ mozconfig-variant: profile-generate
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ extra-config:
+ stage_platform: win64
+ mozconfig_platform: win64
+ run-on-projects: ['release']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - vs
+ - windows-rs
+ fetch:
+ - upx-3.95-win
diff --git a/taskcluster/ci/l10n-bump/kind.yml b/taskcluster/kinds/l10n-bump/kind.yml
index d40f9c48e9..d40f9c48e9 100644
--- a/taskcluster/ci/l10n-bump/kind.yml
+++ b/taskcluster/kinds/l10n-bump/kind.yml
diff --git a/taskcluster/ci/l10n-cross-channel/kind.yml b/taskcluster/kinds/l10n-cross-channel/kind.yml
index da30306599..da30306599 100644
--- a/taskcluster/ci/l10n-cross-channel/kind.yml
+++ b/taskcluster/kinds/l10n-cross-channel/kind.yml
diff --git a/taskcluster/ci/l10n/kind.yml b/taskcluster/kinds/l10n/kind.yml
index eeb0b2c54e..eeb0b2c54e 100644
--- a/taskcluster/ci/l10n/kind.yml
+++ b/taskcluster/kinds/l10n/kind.yml
diff --git a/taskcluster/ci/mar-signing-autograph-stage/kind.yml b/taskcluster/kinds/mar-signing-autograph-stage/kind.yml
index 711c28c44b..711c28c44b 100644
--- a/taskcluster/ci/mar-signing-autograph-stage/kind.yml
+++ b/taskcluster/kinds/mar-signing-autograph-stage/kind.yml
diff --git a/taskcluster/kinds/mar-signing-l10n/kind.yml b/taskcluster/kinds/mar-signing-l10n/kind.yml
new file mode 100644
index 0000000000..8016833c15
--- /dev/null
+++ b/taskcluster/kinds/mar-signing-l10n/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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.mar_signing
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - repackage-l10n
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux64-shippable/opt
+ - linux64-aarch64-shippable/opt
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win64-aarch64-shippable/opt
+ - linux64-asan-reporter-shippable/opt
+ - linux-devedition/opt
+ - linux64-devedition/opt
+ - macosx64-devedition/opt
+ - win32-devedition/opt
+ - win64-devedition/opt
+ - win64-aarch64-devedition/opt
+
+jobs:
+ mar-signing-l10n:
+ from-deps:
+ group-by: single-with-filters
+ shipping-phase: promote
+ treeherder-group: ms
+ description-suffix: 'mar signing'
+ required_signoffs:
+ - mar-signing
diff --git a/taskcluster/ci/mar-signing/kind.yml b/taskcluster/kinds/mar-signing/kind.yml
index e0feeaa0ff..e0feeaa0ff 100644
--- a/taskcluster/ci/mar-signing/kind.yml
+++ b/taskcluster/kinds/mar-signing/kind.yml
diff --git a/taskcluster/ci/maybe-release/kind.yml b/taskcluster/kinds/maybe-release/kind.yml
index 8664e52168..8664e52168 100644
--- a/taskcluster/ci/maybe-release/kind.yml
+++ b/taskcluster/kinds/maybe-release/kind.yml
diff --git a/taskcluster/ci/merge-automation/kind.yml b/taskcluster/kinds/merge-automation/kind.yml
index 8e2b34147e..8e2b34147e 100644
--- a/taskcluster/ci/merge-automation/kind.yml
+++ b/taskcluster/kinds/merge-automation/kind.yml
diff --git a/taskcluster/ci/openh264-plugin/kind.yml b/taskcluster/kinds/openh264-plugin/kind.yml
index e8459df438..e8459df438 100644
--- a/taskcluster/ci/openh264-plugin/kind.yml
+++ b/taskcluster/kinds/openh264-plugin/kind.yml
diff --git a/taskcluster/ci/openh264-signing/kind.yml b/taskcluster/kinds/openh264-signing/kind.yml
index e4dc174cc7..e4dc174cc7 100644
--- a/taskcluster/ci/openh264-signing/kind.yml
+++ b/taskcluster/kinds/openh264-signing/kind.yml
diff --git a/taskcluster/ci/packages/debian.yml b/taskcluster/kinds/packages/debian.yml
index 0a87ef6782..0a87ef6782 100644
--- a/taskcluster/ci/packages/debian.yml
+++ b/taskcluster/kinds/packages/debian.yml
diff --git a/taskcluster/ci/packages/kind.yml b/taskcluster/kinds/packages/kind.yml
index 5b21346de8..5b21346de8 100644
--- a/taskcluster/ci/packages/kind.yml
+++ b/taskcluster/kinds/packages/kind.yml
diff --git a/taskcluster/ci/packages/ubuntu.yml b/taskcluster/kinds/packages/ubuntu.yml
index d9bbd5f2ad..d9bbd5f2ad 100644
--- a/taskcluster/ci/packages/ubuntu.yml
+++ b/taskcluster/kinds/packages/ubuntu.yml
diff --git a/taskcluster/ci/partials-signing/kind.yml b/taskcluster/kinds/partials-signing/kind.yml
index 2c2bf0a9a0..2c2bf0a9a0 100644
--- a/taskcluster/ci/partials-signing/kind.yml
+++ b/taskcluster/kinds/partials-signing/kind.yml
diff --git a/taskcluster/ci/partials/kind.yml b/taskcluster/kinds/partials/kind.yml
index ea72198c5c..ea72198c5c 100644
--- a/taskcluster/ci/partials/kind.yml
+++ b/taskcluster/kinds/partials/kind.yml
diff --git a/taskcluster/ci/perftest/android.yml b/taskcluster/kinds/perftest/android.yml
index 1ed071a1a1..1ed071a1a1 100644
--- a/taskcluster/ci/perftest/android.yml
+++ b/taskcluster/kinds/perftest/android.yml
diff --git a/taskcluster/ci/perftest/kind.yml b/taskcluster/kinds/perftest/kind.yml
index 8a92fe55b2..8a92fe55b2 100644
--- a/taskcluster/ci/perftest/kind.yml
+++ b/taskcluster/kinds/perftest/kind.yml
diff --git a/taskcluster/ci/perftest/linux.yml b/taskcluster/kinds/perftest/linux.yml
index 1016469fb8..1016469fb8 100644
--- a/taskcluster/ci/perftest/linux.yml
+++ b/taskcluster/kinds/perftest/linux.yml
diff --git a/taskcluster/ci/perftest/macosx.yml b/taskcluster/kinds/perftest/macosx.yml
index d98f7524b8..d98f7524b8 100644
--- a/taskcluster/ci/perftest/macosx.yml
+++ b/taskcluster/kinds/perftest/macosx.yml
diff --git a/taskcluster/ci/perftest/windows.yml b/taskcluster/kinds/perftest/windows.yml
index 3e027e5741..3e027e5741 100644
--- a/taskcluster/ci/perftest/windows.yml
+++ b/taskcluster/kinds/perftest/windows.yml
diff --git a/taskcluster/ci/post-balrog-dummy/kind.yml b/taskcluster/kinds/post-balrog-dummy/kind.yml
index e1a9849bbc..e1a9849bbc 100644
--- a/taskcluster/ci/post-balrog-dummy/kind.yml
+++ b/taskcluster/kinds/post-balrog-dummy/kind.yml
diff --git a/taskcluster/ci/post-beetmover-checksums-dummy/kind.yml b/taskcluster/kinds/post-beetmover-checksums-dummy/kind.yml
index 40ff97dce8..40ff97dce8 100644
--- a/taskcluster/ci/post-beetmover-checksums-dummy/kind.yml
+++ b/taskcluster/kinds/post-beetmover-checksums-dummy/kind.yml
diff --git a/taskcluster/ci/post-beetmover-components-dummy/kind.yml b/taskcluster/kinds/post-beetmover-components-dummy/kind.yml
index bf8d98a83c..bf8d98a83c 100644
--- a/taskcluster/ci/post-beetmover-components-dummy/kind.yml
+++ b/taskcluster/kinds/post-beetmover-components-dummy/kind.yml
diff --git a/taskcluster/ci/post-beetmover-dummy/kind.yml b/taskcluster/kinds/post-beetmover-dummy/kind.yml
index e5d50ce256..e5d50ce256 100644
--- a/taskcluster/ci/post-beetmover-dummy/kind.yml
+++ b/taskcluster/kinds/post-beetmover-dummy/kind.yml
diff --git a/taskcluster/ci/post-langpack-dummy/kind.yml b/taskcluster/kinds/post-langpack-dummy/kind.yml
index 95fe9f7684..95fe9f7684 100644
--- a/taskcluster/ci/post-langpack-dummy/kind.yml
+++ b/taskcluster/kinds/post-langpack-dummy/kind.yml
diff --git a/taskcluster/ci/post-signing/kind.yml b/taskcluster/kinds/post-signing/kind.yml
index b07436b619..b07436b619 100644
--- a/taskcluster/ci/post-signing/kind.yml
+++ b/taskcluster/kinds/post-signing/kind.yml
diff --git a/taskcluster/ci/post-update-verify-dummy/kind.yml b/taskcluster/kinds/post-update-verify-dummy/kind.yml
index 6d7bfb3515..6d7bfb3515 100644
--- a/taskcluster/ci/post-update-verify-dummy/kind.yml
+++ b/taskcluster/kinds/post-update-verify-dummy/kind.yml
diff --git a/taskcluster/ci/push-bundle/kind.yml b/taskcluster/kinds/push-bundle/kind.yml
index 2c48a14177..2c48a14177 100644
--- a/taskcluster/ci/push-bundle/kind.yml
+++ b/taskcluster/kinds/push-bundle/kind.yml
diff --git a/taskcluster/ci/release-balrog-scheduling/kind.yml b/taskcluster/kinds/release-balrog-scheduling/kind.yml
index 64bd751ca3..64bd751ca3 100644
--- a/taskcluster/ci/release-balrog-scheduling/kind.yml
+++ b/taskcluster/kinds/release-balrog-scheduling/kind.yml
diff --git a/taskcluster/ci/release-balrog-submit-toplevel/kind.yml b/taskcluster/kinds/release-balrog-submit-toplevel/kind.yml
index dc1155df9d..dc1155df9d 100644
--- a/taskcluster/ci/release-balrog-submit-toplevel/kind.yml
+++ b/taskcluster/kinds/release-balrog-submit-toplevel/kind.yml
diff --git a/taskcluster/ci/release-beetmover-push-to-release/kind.yml b/taskcluster/kinds/release-beetmover-push-to-release/kind.yml
index affc0f2c77..affc0f2c77 100644
--- a/taskcluster/ci/release-beetmover-push-to-release/kind.yml
+++ b/taskcluster/kinds/release-beetmover-push-to-release/kind.yml
diff --git a/taskcluster/ci/release-beetmover-signed-langpacks-checksums/kind.yml b/taskcluster/kinds/release-beetmover-signed-langpacks-checksums/kind.yml
index 473f711a2a..473f711a2a 100644
--- a/taskcluster/ci/release-beetmover-signed-langpacks-checksums/kind.yml
+++ b/taskcluster/kinds/release-beetmover-signed-langpacks-checksums/kind.yml
diff --git a/taskcluster/kinds/release-beetmover-signed-langpacks/kind.yml b/taskcluster/kinds/release-beetmover-signed-langpacks/kind.yml
new file mode 100644
index 0000000000..744198c466
--- /dev/null
+++ b/taskcluster/kinds/release-beetmover-signed-langpacks/kind.yml
@@ -0,0 +1,37 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.release_beetmover_signed_addons
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - build-signing
+ - shippable-l10n-signing
+
+only-for-attributes:
+ - nightly
+ - shippable
+
+only-for-build-platforms:
+ - linux64-shippable/opt
+ - linux64-devedition/opt
+
+jobs:
+ release-beetmover-signed-langpacks:
+ description: Beetmover submission for platform-independent langpacks {locales} in {platform} directory
+ from-deps:
+ group-by: single-with-filters
+ worker-type: beetmover
+ run-on-projects: []
+ shipping-phase: promote
+ attributes:
+ artifact_map:
+ by-release-type:
+ beta|release.*|esr.*: taskcluster/gecko_taskgraph/manifests/firefox_candidates.yml
+ default: taskcluster/gecko_taskgraph/manifests/firefox_nightly.yml
diff --git a/taskcluster/ci/release-beetmover-source-checksums/kind.yml b/taskcluster/kinds/release-beetmover-source-checksums/kind.yml
index d7a5bf828f..d7a5bf828f 100644
--- a/taskcluster/ci/release-beetmover-source-checksums/kind.yml
+++ b/taskcluster/kinds/release-beetmover-source-checksums/kind.yml
diff --git a/taskcluster/ci/release-bouncer-aliases/kind.yml b/taskcluster/kinds/release-bouncer-aliases/kind.yml
index d1ce834c48..d1ce834c48 100644
--- a/taskcluster/ci/release-bouncer-aliases/kind.yml
+++ b/taskcluster/kinds/release-bouncer-aliases/kind.yml
diff --git a/taskcluster/ci/release-bouncer-check/kind.yml b/taskcluster/kinds/release-bouncer-check/kind.yml
index 7b7133ffd5..7b7133ffd5 100644
--- a/taskcluster/ci/release-bouncer-check/kind.yml
+++ b/taskcluster/kinds/release-bouncer-check/kind.yml
diff --git a/taskcluster/ci/release-bouncer-sub/kind.yml b/taskcluster/kinds/release-bouncer-sub/kind.yml
index 131b41b0a7..131b41b0a7 100644
--- a/taskcluster/ci/release-bouncer-sub/kind.yml
+++ b/taskcluster/kinds/release-bouncer-sub/kind.yml
diff --git a/taskcluster/ci/release-early-tagging/kind.yml b/taskcluster/kinds/release-early-tagging/kind.yml
index 775bb4ed7e..775bb4ed7e 100644
--- a/taskcluster/ci/release-early-tagging/kind.yml
+++ b/taskcluster/kinds/release-early-tagging/kind.yml
diff --git a/taskcluster/ci/release-eme-free-repack-beetmover-checksums/kind.yml b/taskcluster/kinds/release-eme-free-repack-beetmover-checksums/kind.yml
index c75a85ac54..c75a85ac54 100644
--- a/taskcluster/ci/release-eme-free-repack-beetmover-checksums/kind.yml
+++ b/taskcluster/kinds/release-eme-free-repack-beetmover-checksums/kind.yml
diff --git a/taskcluster/ci/release-eme-free-repack-beetmover/kind.yml b/taskcluster/kinds/release-eme-free-repack-beetmover/kind.yml
index 7a33d0fb69..7a33d0fb69 100644
--- a/taskcluster/ci/release-eme-free-repack-beetmover/kind.yml
+++ b/taskcluster/kinds/release-eme-free-repack-beetmover/kind.yml
diff --git a/taskcluster/ci/release-eme-free-repack-mac-notarization/kind.yml b/taskcluster/kinds/release-eme-free-repack-mac-notarization/kind.yml
index ff04daf61d..ff04daf61d 100644
--- a/taskcluster/ci/release-eme-free-repack-mac-notarization/kind.yml
+++ b/taskcluster/kinds/release-eme-free-repack-mac-notarization/kind.yml
diff --git a/taskcluster/ci/release-eme-free-repack-mac-signing/kind.yml b/taskcluster/kinds/release-eme-free-repack-mac-signing/kind.yml
index 84d0e17dd1..84d0e17dd1 100644
--- a/taskcluster/ci/release-eme-free-repack-mac-signing/kind.yml
+++ b/taskcluster/kinds/release-eme-free-repack-mac-signing/kind.yml
diff --git a/taskcluster/ci/release-eme-free-repack-repackage-signing/kind.yml b/taskcluster/kinds/release-eme-free-repack-repackage-signing/kind.yml
index c369761202..c369761202 100644
--- a/taskcluster/ci/release-eme-free-repack-repackage-signing/kind.yml
+++ b/taskcluster/kinds/release-eme-free-repack-repackage-signing/kind.yml
diff --git a/taskcluster/ci/release-eme-free-repack-repackage/kind.yml b/taskcluster/kinds/release-eme-free-repack-repackage/kind.yml
index 78bc18fe6d..78bc18fe6d 100644
--- a/taskcluster/ci/release-eme-free-repack-repackage/kind.yml
+++ b/taskcluster/kinds/release-eme-free-repack-repackage/kind.yml
diff --git a/taskcluster/ci/release-eme-free-repack/kind.yml b/taskcluster/kinds/release-eme-free-repack/kind.yml
index cc3e85071b..cc3e85071b 100644
--- a/taskcluster/ci/release-eme-free-repack/kind.yml
+++ b/taskcluster/kinds/release-eme-free-repack/kind.yml
diff --git a/taskcluster/ci/release-final-verify/kind.yml b/taskcluster/kinds/release-final-verify/kind.yml
index b1319665cd..b1319665cd 100644
--- a/taskcluster/ci/release-final-verify/kind.yml
+++ b/taskcluster/kinds/release-final-verify/kind.yml
diff --git a/taskcluster/kinds/release-flatpak-push/kind.yml b/taskcluster/kinds/release-flatpak-push/kind.yml
new file mode 100644
index 0000000000..94e0e42c16
--- /dev/null
+++ b/taskcluster/kinds/release-flatpak-push/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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release:run_on_releases
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_flatpak_push:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-flatpak-repackage
+
+job-defaults:
+ description: Pushes Flatpaks onto Flathub
+ run-on-projects: [] # to make sure this never runs as part of CI
+ run-on-releases: [beta, release, release-rc]
+ shipping-phase: ship
+ treeherder:
+ platform: linux64/opt
+ kind: build
+ tier: 2
+ worker-type: pushflatpak
+ worker:
+ implementation: push-flatpak
+ channel:
+ by-release-type:
+ beta: beta
+ release: stable
+ default: mock
+
+jobs:
+ firefox:
+ shipping-product: firefox
+ flathub-scope: "flathub:firefox"
+ treeherder:
+ symbol: Flatpak(push)
diff --git a/taskcluster/ci/release-flatpak-repackage/kind.yml b/taskcluster/kinds/release-flatpak-repackage/kind.yml
index ecc86bf4ab..ecc86bf4ab 100644
--- a/taskcluster/ci/release-flatpak-repackage/kind.yml
+++ b/taskcluster/kinds/release-flatpak-repackage/kind.yml
diff --git a/taskcluster/ci/release-generate-checksums-beetmover/kind.yml b/taskcluster/kinds/release-generate-checksums-beetmover/kind.yml
index ca998ea2f2..ca998ea2f2 100644
--- a/taskcluster/ci/release-generate-checksums-beetmover/kind.yml
+++ b/taskcluster/kinds/release-generate-checksums-beetmover/kind.yml
diff --git a/taskcluster/ci/release-generate-checksums-signing/kind.yml b/taskcluster/kinds/release-generate-checksums-signing/kind.yml
index a86b4c8dc5..a86b4c8dc5 100644
--- a/taskcluster/ci/release-generate-checksums-signing/kind.yml
+++ b/taskcluster/kinds/release-generate-checksums-signing/kind.yml
diff --git a/taskcluster/ci/release-generate-checksums/kind.yml b/taskcluster/kinds/release-generate-checksums/kind.yml
index 71018c8cef..71018c8cef 100644
--- a/taskcluster/ci/release-generate-checksums/kind.yml
+++ b/taskcluster/kinds/release-generate-checksums/kind.yml
diff --git a/taskcluster/ci/release-mark-as-shipped/kind.yml b/taskcluster/kinds/release-mark-as-shipped/kind.yml
index 05faa3f88e..05faa3f88e 100644
--- a/taskcluster/ci/release-mark-as-shipped/kind.yml
+++ b/taskcluster/kinds/release-mark-as-shipped/kind.yml
diff --git a/taskcluster/kinds/release-msix-push/kind.yml b/taskcluster/kinds/release-msix-push/kind.yml
new file mode 100644
index 0000000000..39de997bef
--- /dev/null
+++ b/taskcluster/kinds/release-msix-push/kind.yml
@@ -0,0 +1,42 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release:run_on_releases
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_msix_push:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - repackage-shippable-l10n-msix
+
+job-defaults:
+ description: Pushes msix archives to Microsoft Store
+ run-on-projects: [] # to make sure this never runs as part of CI
+ run-on-releases: [beta, release, release-rc]
+ shipping-phase: ship # note override in transform
+ treeherder:
+ platform: win32-shippable/opt
+ kind: build
+ tier: 2
+ worker-type: pushmsix
+ worker:
+ implementation: push-msix
+ channel:
+ by-release-type:
+ beta: beta
+ release.*: release
+ default: mock
+ publish-mode:
+ by-release-type:
+ beta: Immediate
+ default: Manual
+
+jobs:
+ firefox:
+ shipping-product: firefox
+ treeherder:
+ symbol: MSIX(push)
diff --git a/taskcluster/ci/release-notify-av-announce/kind.yml b/taskcluster/kinds/release-notify-av-announce/kind.yml
index 45a0e5db53..45a0e5db53 100644
--- a/taskcluster/ci/release-notify-av-announce/kind.yml
+++ b/taskcluster/kinds/release-notify-av-announce/kind.yml
diff --git a/taskcluster/ci/release-notify-promote/kind.yml b/taskcluster/kinds/release-notify-promote/kind.yml
index bc53da5a49..bc53da5a49 100644
--- a/taskcluster/ci/release-notify-promote/kind.yml
+++ b/taskcluster/kinds/release-notify-promote/kind.yml
diff --git a/taskcluster/ci/release-notify-push/kind.yml b/taskcluster/kinds/release-notify-push/kind.yml
index be1a7b5be8..be1a7b5be8 100644
--- a/taskcluster/ci/release-notify-push/kind.yml
+++ b/taskcluster/kinds/release-notify-push/kind.yml
diff --git a/taskcluster/ci/release-notify-ship/kind.yml b/taskcluster/kinds/release-notify-ship/kind.yml
index fe3eced6e7..fe3eced6e7 100644
--- a/taskcluster/ci/release-notify-ship/kind.yml
+++ b/taskcluster/kinds/release-notify-ship/kind.yml
diff --git a/taskcluster/ci/release-notify-started/kind.yml b/taskcluster/kinds/release-notify-started/kind.yml
index 929c07ec59..929c07ec59 100644
--- a/taskcluster/ci/release-notify-started/kind.yml
+++ b/taskcluster/kinds/release-notify-started/kind.yml
diff --git a/taskcluster/ci/release-notify-testrail/kind.yml b/taskcluster/kinds/release-notify-testrail/kind.yml
index 5e4fa41307..5e4fa41307 100644
--- a/taskcluster/ci/release-notify-testrail/kind.yml
+++ b/taskcluster/kinds/release-notify-testrail/kind.yml
diff --git a/taskcluster/ci/release-partner-attribution-beetmover/kind.yml b/taskcluster/kinds/release-partner-attribution-beetmover/kind.yml
index 2851ff7d37..2851ff7d37 100644
--- a/taskcluster/ci/release-partner-attribution-beetmover/kind.yml
+++ b/taskcluster/kinds/release-partner-attribution-beetmover/kind.yml
diff --git a/taskcluster/ci/release-partner-attribution/kind.yml b/taskcluster/kinds/release-partner-attribution/kind.yml
index 1da2656150..1da2656150 100644
--- a/taskcluster/ci/release-partner-attribution/kind.yml
+++ b/taskcluster/kinds/release-partner-attribution/kind.yml
diff --git a/taskcluster/ci/release-partner-repack-beetmover/kind.yml b/taskcluster/kinds/release-partner-repack-beetmover/kind.yml
index 164446f683..164446f683 100644
--- a/taskcluster/ci/release-partner-repack-beetmover/kind.yml
+++ b/taskcluster/kinds/release-partner-repack-beetmover/kind.yml
diff --git a/taskcluster/ci/release-partner-repack-bouncer-sub/kind.yml b/taskcluster/kinds/release-partner-repack-bouncer-sub/kind.yml
index 98fa149810..98fa149810 100644
--- a/taskcluster/ci/release-partner-repack-bouncer-sub/kind.yml
+++ b/taskcluster/kinds/release-partner-repack-bouncer-sub/kind.yml
diff --git a/taskcluster/ci/release-partner-repack-chunking-dummy/kind.yml b/taskcluster/kinds/release-partner-repack-chunking-dummy/kind.yml
index 4975931312..4975931312 100644
--- a/taskcluster/ci/release-partner-repack-chunking-dummy/kind.yml
+++ b/taskcluster/kinds/release-partner-repack-chunking-dummy/kind.yml
diff --git a/taskcluster/ci/release-partner-repack-mac-notarization/kind.yml b/taskcluster/kinds/release-partner-repack-mac-notarization/kind.yml
index ee7a78e54f..ee7a78e54f 100644
--- a/taskcluster/ci/release-partner-repack-mac-notarization/kind.yml
+++ b/taskcluster/kinds/release-partner-repack-mac-notarization/kind.yml
diff --git a/taskcluster/ci/release-partner-repack-mac-signing/kind.yml b/taskcluster/kinds/release-partner-repack-mac-signing/kind.yml
index dec5189979..dec5189979 100644
--- a/taskcluster/ci/release-partner-repack-mac-signing/kind.yml
+++ b/taskcluster/kinds/release-partner-repack-mac-signing/kind.yml
diff --git a/taskcluster/ci/release-partner-repack-repackage-signing/kind.yml b/taskcluster/kinds/release-partner-repack-repackage-signing/kind.yml
index 2242023f91..2242023f91 100644
--- a/taskcluster/ci/release-partner-repack-repackage-signing/kind.yml
+++ b/taskcluster/kinds/release-partner-repack-repackage-signing/kind.yml
diff --git a/taskcluster/ci/release-partner-repack-repackage/kind.yml b/taskcluster/kinds/release-partner-repack-repackage/kind.yml
index 099c55240f..099c55240f 100644
--- a/taskcluster/ci/release-partner-repack-repackage/kind.yml
+++ b/taskcluster/kinds/release-partner-repack-repackage/kind.yml
diff --git a/taskcluster/ci/release-partner-repack/kind.yml b/taskcluster/kinds/release-partner-repack/kind.yml
index 2a5d2fc996..2a5d2fc996 100644
--- a/taskcluster/ci/release-partner-repack/kind.yml
+++ b/taskcluster/kinds/release-partner-repack/kind.yml
diff --git a/taskcluster/ci/release-push-langpacks/kind.yml b/taskcluster/kinds/release-push-langpacks/kind.yml
index fbc5bcc8a9..fbc5bcc8a9 100644
--- a/taskcluster/ci/release-push-langpacks/kind.yml
+++ b/taskcluster/kinds/release-push-langpacks/kind.yml
diff --git a/taskcluster/ci/release-secondary-balrog-scheduling/kind.yml b/taskcluster/kinds/release-secondary-balrog-scheduling/kind.yml
index 9a230639b9..9a230639b9 100644
--- a/taskcluster/ci/release-secondary-balrog-scheduling/kind.yml
+++ b/taskcluster/kinds/release-secondary-balrog-scheduling/kind.yml
diff --git a/taskcluster/ci/release-secondary-balrog-submit-toplevel/kind.yml b/taskcluster/kinds/release-secondary-balrog-submit-toplevel/kind.yml
index d742b4fb61..d742b4fb61 100644
--- a/taskcluster/ci/release-secondary-balrog-submit-toplevel/kind.yml
+++ b/taskcluster/kinds/release-secondary-balrog-submit-toplevel/kind.yml
diff --git a/taskcluster/ci/release-secondary-final-verify/kind.yml b/taskcluster/kinds/release-secondary-final-verify/kind.yml
index 0d2e58d01d..0d2e58d01d 100644
--- a/taskcluster/ci/release-secondary-final-verify/kind.yml
+++ b/taskcluster/kinds/release-secondary-final-verify/kind.yml
diff --git a/taskcluster/kinds/release-secondary-flatpak-push/kind.yml b/taskcluster/kinds/release-secondary-flatpak-push/kind.yml
new file mode 100644
index 0000000000..0f915d8d26
--- /dev/null
+++ b/taskcluster/kinds/release-secondary-flatpak-push/kind.yml
@@ -0,0 +1,35 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release:run_on_releases
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_flatpak_push:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-flatpak-repackage
+
+job-defaults:
+ description: Pushes Flatpaks onto Flathub
+ run-on-projects: [] # to make sure this never runs as part of CI
+ run-on-releases: [release-rc]
+ shipping-phase: ship # ship-rc phase
+ treeherder:
+ platform: linux64/opt
+ kind: build
+ tier: 2
+ worker-type: pushflatpak
+ worker:
+ implementation: push-flatpak
+ channel: beta
+
+jobs:
+ firefox-rc:
+ shipping-product: firefox
+ flathub-scope: "flathub:firefox"
+ treeherder:
+ symbol: Flatpak(push-beta)
diff --git a/taskcluster/ci/release-secondary-notify-ship/kind.yml b/taskcluster/kinds/release-secondary-notify-ship/kind.yml
index ab9b20ed62..ab9b20ed62 100644
--- a/taskcluster/ci/release-secondary-notify-ship/kind.yml
+++ b/taskcluster/kinds/release-secondary-notify-ship/kind.yml
diff --git a/taskcluster/ci/release-secondary-update-verify-config/kind.yml b/taskcluster/kinds/release-secondary-update-verify-config/kind.yml
index 7e28131a5e..7e28131a5e 100644
--- a/taskcluster/ci/release-secondary-update-verify-config/kind.yml
+++ b/taskcluster/kinds/release-secondary-update-verify-config/kind.yml
diff --git a/taskcluster/ci/release-secondary-update-verify/kind.yml b/taskcluster/kinds/release-secondary-update-verify/kind.yml
index f567cf7ae3..f567cf7ae3 100644
--- a/taskcluster/ci/release-secondary-update-verify/kind.yml
+++ b/taskcluster/kinds/release-secondary-update-verify/kind.yml
diff --git a/taskcluster/ci/release-snap-repackage/kind.yml b/taskcluster/kinds/release-snap-repackage/kind.yml
index 73d9d8a410..73d9d8a410 100644
--- a/taskcluster/ci/release-snap-repackage/kind.yml
+++ b/taskcluster/kinds/release-snap-repackage/kind.yml
diff --git a/taskcluster/ci/release-source-checksums-signing/kind.yml b/taskcluster/kinds/release-source-checksums-signing/kind.yml
index de9f98acc0..de9f98acc0 100644
--- a/taskcluster/ci/release-source-checksums-signing/kind.yml
+++ b/taskcluster/kinds/release-source-checksums-signing/kind.yml
diff --git a/taskcluster/ci/release-source-signing/kind.yml b/taskcluster/kinds/release-source-signing/kind.yml
index 9ab9e37d88..9ab9e37d88 100644
--- a/taskcluster/ci/release-source-signing/kind.yml
+++ b/taskcluster/kinds/release-source-signing/kind.yml
diff --git a/taskcluster/kinds/release-source/kind.yml b/taskcluster/kinds/release-source/kind.yml
new file mode 100644
index 0000000000..ff2ee375f7
--- /dev/null
+++ b/taskcluster/kinds/release-source/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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.build:transforms
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+
+job-defaults:
+ shipping-phase: promote
+ treeherder:
+ symbol: Src
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 3600
+ env:
+ PKG_SRCPACK_BASENAME: source
+ attributes:
+ shippable: true
+ run:
+ using: mozharness
+ actions: [package-source]
+ script: "mozharness/scripts/fx_desktop_build.py"
+ config:
+ - builds/releng_sub_linux_configs/64_source.py
+ options: []
+ tooltool-downloads: public
+ run-on-projects: []
+ optimization: null
+
+jobs:
+ firefox-source/opt:
+ description: "Firefox source builder"
+ treeherder:
+ platform: firefox-release/opt
+ shipping-product: firefox
+
+ devedition-source/opt:
+ description: "Devedition source builder"
+ treeherder:
+ platform: devedition-release/opt
+ shipping-product: devedition
diff --git a/taskcluster/ci/release-update-verify-config-next/kind.yml b/taskcluster/kinds/release-update-verify-config-next/kind.yml
index 959d0afb9a..959d0afb9a 100644
--- a/taskcluster/ci/release-update-verify-config-next/kind.yml
+++ b/taskcluster/kinds/release-update-verify-config-next/kind.yml
diff --git a/taskcluster/ci/release-update-verify-config/kind.yml b/taskcluster/kinds/release-update-verify-config/kind.yml
index d4e40cda12..d4e40cda12 100644
--- a/taskcluster/ci/release-update-verify-config/kind.yml
+++ b/taskcluster/kinds/release-update-verify-config/kind.yml
diff --git a/taskcluster/ci/release-update-verify-next/kind.yml b/taskcluster/kinds/release-update-verify-next/kind.yml
index ad72e9b118..ad72e9b118 100644
--- a/taskcluster/ci/release-update-verify-next/kind.yml
+++ b/taskcluster/kinds/release-update-verify-next/kind.yml
diff --git a/taskcluster/ci/release-update-verify/kind.yml b/taskcluster/kinds/release-update-verify/kind.yml
index ec7f9874da..ec7f9874da 100644
--- a/taskcluster/ci/release-update-verify/kind.yml
+++ b/taskcluster/kinds/release-update-verify/kind.yml
diff --git a/taskcluster/ci/release-version-bump/kind.yml b/taskcluster/kinds/release-version-bump/kind.yml
index 114d52df95..114d52df95 100644
--- a/taskcluster/ci/release-version-bump/kind.yml
+++ b/taskcluster/kinds/release-version-bump/kind.yml
diff --git a/taskcluster/ci/repackage-deb-l10n/kind.yml b/taskcluster/kinds/repackage-deb-l10n/kind.yml
index a22e50787a..a22e50787a 100644
--- a/taskcluster/ci/repackage-deb-l10n/kind.yml
+++ b/taskcluster/kinds/repackage-deb-l10n/kind.yml
diff --git a/taskcluster/kinds/repackage-deb/kind.yml b/taskcluster/kinds/repackage-deb/kind.yml
new file mode 100644
index 0000000000..779aaf2659
--- /dev/null
+++ b/taskcluster/kinds/repackage-deb/kind.yml
@@ -0,0 +1,54 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.repackage
+ - gecko_taskgraph.transforms.repackage_routes
+ - gecko_taskgraph.transforms.job
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - build-signing
+ - toolchain
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux-devedition/opt
+ - linux64-shippable/opt
+ - linux64-devedition/opt
+ - linux64-aarch64-shippable/opt
+
+only-for-attributes:
+ - nightly
+ - shippable
+
+jobs:
+ repackage-deb:
+ from-deps:
+ group-by: single-with-filters
+ shipping-phase: promote
+ worker-type: b-linux-gcp
+ worker:
+ docker-image:
+ in-tree: debian12-repackage
+ mozharness:
+ run-as-root: true
+ use-caches: false
+ config:
+ by-build-platform:
+ linux\b.*:
+ - repackage/base.py
+ - repackage/linux32_signed.py
+ linux64\b.*:
+ - repackage/base.py
+ - repackage/linux64_signed.py
+ treeherder:
+ symbol: Rpk-deb
+ package-formats:
+ by-build-platform:
+ linux.*: [deb]
diff --git a/taskcluster/kinds/repackage-l10n/kind.yml b/taskcluster/kinds/repackage-l10n/kind.yml
new file mode 100644
index 0000000000..8be0cb19cc
--- /dev/null
+++ b/taskcluster/kinds/repackage-l10n/kind.yml
@@ -0,0 +1,87 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.repackage_set_upstream_mac_kind
+ - gecko_taskgraph.transforms.repackage_l10n
+ - gecko_taskgraph.transforms.name_sanity
+ - gecko_taskgraph.transforms.repackage
+ - gecko_taskgraph.transforms.job
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - shippable-l10n-signing
+ - shippable-l10n-mac-signing
+ - shippable-l10n-mac-notarization
+ - toolchain
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux64-shippable/opt
+ - linux64-aarch64-shippable/opt
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win64-aarch64-shippable/opt
+ - linux-devedition/opt
+ - linux64-devedition/opt
+ - macosx64-devedition/opt
+ - win32-devedition/opt
+ - win64-devedition/opt
+ - win64-aarch64-devedition/opt
+
+jobs:
+ repackage-l10n:
+ from-deps:
+ group-by: single-with-filters
+ upstream-mac-kind:
+ by-build-type:
+ debug: shippable-l10n-mac-signing
+ default:
+ by-project:
+ mozilla-(central|beta|release|esr.*): shippable-l10n-mac-notarization
+ default: shippable-l10n-mac-signing
+ worker-type: b-linux-gcp
+ mozharness:
+ config:
+ by-build-platform:
+ linux-.*:
+ - repackage/base.py
+ - repackage/linux32_signed.py
+ linux64-.*:
+ - repackage/base.py
+ - repackage/linux64_signed.py
+ macosx64-.*:
+ - repackage/base.py
+ - repackage/osx_signed.py
+ win32\b.*:
+ - repackage/base.py
+ - repackage/win32_sfx_stub.py
+ - repackage/win32_signed.py
+ win64(?!-aarch64)\b.*:
+ - repackage/base.py
+ - repackage/win32_sfx_stub.py
+ - repackage/win64_signed.py
+ win64-aarch64\b.*:
+ - repackage/base.py
+ - repackage/win64-aarch64_sfx_stub.py
+ - repackage/win64_signed.py
+ package-formats:
+ by-build-platform:
+ macosx64\b.*:
+ by-build-type:
+ # Debug builds can't be attributable
+ debug: [dmg, mar, pkg]
+ default: [dmg-attrib, mar, pkg]
+ linux.*: [mar]
+ win32\b.*: [mar, installer]
+ win64\b.*: [mar, installer]
+ fetches:
+ toolchain:
+ - linux64-mar-tools
+ - linux64-upx
+ treeherder-group: L10n-Rpk
diff --git a/taskcluster/ci/repackage-msi/kind.yml b/taskcluster/kinds/repackage-msi/kind.yml
index fa2fb3ada3..fa2fb3ada3 100644
--- a/taskcluster/ci/repackage-msi/kind.yml
+++ b/taskcluster/kinds/repackage-msi/kind.yml
diff --git a/taskcluster/ci/repackage-msix/kind.yml b/taskcluster/kinds/repackage-msix/kind.yml
index 96ff07c77c..96ff07c77c 100644
--- a/taskcluster/ci/repackage-msix/kind.yml
+++ b/taskcluster/kinds/repackage-msix/kind.yml
diff --git a/taskcluster/ci/repackage-shippable-l10n-msix/kind.yml b/taskcluster/kinds/repackage-shippable-l10n-msix/kind.yml
index 021896a7ad..021896a7ad 100644
--- a/taskcluster/ci/repackage-shippable-l10n-msix/kind.yml
+++ b/taskcluster/kinds/repackage-shippable-l10n-msix/kind.yml
diff --git a/taskcluster/ci/repackage-signing-l10n/kind.yml b/taskcluster/kinds/repackage-signing-l10n/kind.yml
index 9d274b1ee3..9d274b1ee3 100644
--- a/taskcluster/ci/repackage-signing-l10n/kind.yml
+++ b/taskcluster/kinds/repackage-signing-l10n/kind.yml
diff --git a/taskcluster/ci/repackage-signing-msi/kind.yml b/taskcluster/kinds/repackage-signing-msi/kind.yml
index 8a6691413a..8a6691413a 100644
--- a/taskcluster/ci/repackage-signing-msi/kind.yml
+++ b/taskcluster/kinds/repackage-signing-msi/kind.yml
diff --git a/taskcluster/ci/repackage-signing-msix/kind.yml b/taskcluster/kinds/repackage-signing-msix/kind.yml
index 4976f08366..4976f08366 100644
--- a/taskcluster/ci/repackage-signing-msix/kind.yml
+++ b/taskcluster/kinds/repackage-signing-msix/kind.yml
diff --git a/taskcluster/ci/repackage-signing-shippable-l10n-msix/kind.yml b/taskcluster/kinds/repackage-signing-shippable-l10n-msix/kind.yml
index 0f6f7787ee..0f6f7787ee 100644
--- a/taskcluster/ci/repackage-signing-shippable-l10n-msix/kind.yml
+++ b/taskcluster/kinds/repackage-signing-shippable-l10n-msix/kind.yml
diff --git a/taskcluster/ci/repackage-signing/kind.yml b/taskcluster/kinds/repackage-signing/kind.yml
index 49ea244a9e..49ea244a9e 100644
--- a/taskcluster/ci/repackage-signing/kind.yml
+++ b/taskcluster/kinds/repackage-signing/kind.yml
diff --git a/taskcluster/ci/repackage/kind.yml b/taskcluster/kinds/repackage/kind.yml
index b9f94f4a89..b9f94f4a89 100644
--- a/taskcluster/ci/repackage/kind.yml
+++ b/taskcluster/kinds/repackage/kind.yml
diff --git a/taskcluster/ci/repo-update/kind.yml b/taskcluster/kinds/repo-update/kind.yml
index 50c7c0ac0e..50c7c0ac0e 100644
--- a/taskcluster/ci/repo-update/kind.yml
+++ b/taskcluster/kinds/repo-update/kind.yml
diff --git a/taskcluster/ci/scriptworker-canary/kind.yml b/taskcluster/kinds/scriptworker-canary/kind.yml
index a1ee225b89..a1ee225b89 100644
--- a/taskcluster/ci/scriptworker-canary/kind.yml
+++ b/taskcluster/kinds/scriptworker-canary/kind.yml
diff --git a/taskcluster/kinds/searchfox/kind.yml b/taskcluster/kinds/searchfox/kind.yml
new file mode 100644
index 0000000000..4ea3203d9f
--- /dev/null
+++ b/taskcluster/kinds/searchfox/kind.yml
@@ -0,0 +1,223 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - fetch
+
+transforms:
+ - gecko_taskgraph.transforms.build:transforms
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ index:
+ product: firefox
+ treeherder:
+ symbol: Searchfox(idx)
+ kind: build
+ tier: 2
+ run-on-projects: ['mozilla-central']
+ optimization: null
+ use-python: default
+ # These builds don't use sccache because otherwise we wouldn't index
+ # the files that sccache optimizes away compilation for.
+ use-sccache: false
+
+jobs:
+ linux64-searchfox/debug:
+ description: "Linux64 Debug Searchfox"
+ index:
+ job-name: linux64-searchfox-debug
+ treeherder:
+ platform: linux64/debug
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 10800
+ env:
+ PERFHERDER_EXTRA_OPTIONS: searchfox
+ MOZSEARCH_PLATFORM: "linux"
+ run:
+ using: mozharness
+ actions: [build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_sub_linux_configs/64_searchfox_and_debug.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ tooltool-downloads: public
+ keep-artifacts: false
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-nasm
+ - linux64-node
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+ macosx64-searchfox/debug:
+ description: "MacOS X x64 Debug Cross-compile Searchfox"
+ index:
+ job-name: macosx64-searchfox-debug
+ treeherder:
+ platform: osx-cross/debug
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 10800
+ env:
+ PERFHERDER_EXTRA_OPTIONS: searchfox
+ MOZSEARCH_PLATFORM: "macosx"
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_mac_64_cross_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ custom-build-variant-cfg: cross-debug-searchfox
+ secrets: true
+ keep-artifacts: false
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-hfsplus
+ - linux64-libdmg
+ - linux64-nasm
+ - linux64-node
+ - linux64-rust-cross
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - macosx64-sdk
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+ ios-searchfox/debug:
+ description: "ios Debug Cross-compile Searchfox"
+ index:
+ job-name: ios-searchfox-debug
+ treeherder:
+ platform: ios/debug
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 10800
+ env:
+ PERFHERDER_EXTRA_OPTIONS: searchfox
+ MOZSEARCH_PLATFORM: "ios"
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_firefox.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ keep-artifacts: false
+ extra-config:
+ app_name: mobile/ios
+ stage_platform: ios
+ mozconfig_platform: ios
+ disable_package_metrics: true
+ mozconfig-variant: debug-searchfox
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-hfsplus
+ - linux64-libdmg
+ - linux64-nasm
+ - linux64-node
+ - linux64-rust-ios
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - ios-sdk
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+ win64-searchfox/debug:
+ description: "Win64 Searchfox Debug (clang-cl)"
+ index:
+ job-name: win64-searchfox-debug
+ treeherder:
+ platform: windows2012-64/debug
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 10800
+ env:
+ PERFHERDER_EXTRA_OPTIONS: searchfox
+ MOZSEARCH_PLATFORM: "windows"
+ run:
+ using: mozharness
+ options: [append-env-variables-from-configs]
+ actions: [get-secrets, build]
+ script: mozharness/scripts/fx_desktop_build.py
+ secrets: true
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ - builds/taskcluster_sub_win64/searchfox_debug.py
+ extra-config:
+ mozconfig_platform: win64
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-nasm
+ - linux64-node
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-wine
+ - linux64-winchecksec
+ - nsis
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ - vs
+ - windows-rs
+ fetch:
+ - upx-3.95-win
+
+ android-armv7-searchfox/debug:
+ description: "Android ARMv7 Debug Searchfox"
+ index:
+ job-name: android-armv7-searchfox-debug
+ treeherder:
+ platform: android-4-1-armv7/debug
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {in-tree: android-build}
+ max-run-time: 10800
+ env:
+ PERFHERDER_EXTRA_OPTIONS: searchfox
+ MOZSEARCH_PLATFORM: "android-armv7"
+ GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline"
+ TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+ run:
+ using: mozharness
+ actions: [get-secrets, build]
+ config:
+ - builds/releng_base_android_64_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ custom-build-variant-cfg: arm-debug-searchfox
+ tooltool-downloads: internal
+ fetches:
+ toolchain:
+ - android-gradle-dependencies
+ - android-ndk-linux
+ - android-sdk-linux
+ - linux64-jdk
+ - linux64-clang
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
diff --git a/taskcluster/ci/sentry/kind.yml b/taskcluster/kinds/sentry/kind.yml
index bfc3cf07a2..bfc3cf07a2 100644
--- a/taskcluster/ci/sentry/kind.yml
+++ b/taskcluster/kinds/sentry/kind.yml
diff --git a/taskcluster/ci/shippable-l10n-mac-notarization/kind.yml b/taskcluster/kinds/shippable-l10n-mac-notarization/kind.yml
index 461eac91ac..461eac91ac 100644
--- a/taskcluster/ci/shippable-l10n-mac-notarization/kind.yml
+++ b/taskcluster/kinds/shippable-l10n-mac-notarization/kind.yml
diff --git a/taskcluster/ci/shippable-l10n-mac-signing/kind.yml b/taskcluster/kinds/shippable-l10n-mac-signing/kind.yml
index 21fe44b4f0..21fe44b4f0 100644
--- a/taskcluster/ci/shippable-l10n-mac-signing/kind.yml
+++ b/taskcluster/kinds/shippable-l10n-mac-signing/kind.yml
diff --git a/taskcluster/ci/shippable-l10n-signing/kind.yml b/taskcluster/kinds/shippable-l10n-signing/kind.yml
index fdb545381f..fdb545381f 100644
--- a/taskcluster/ci/shippable-l10n-signing/kind.yml
+++ b/taskcluster/kinds/shippable-l10n-signing/kind.yml
diff --git a/taskcluster/kinds/shippable-l10n/kind.yml b/taskcluster/kinds/shippable-l10n/kind.yml
new file mode 100644
index 0000000000..ddd6c25401
--- /dev/null
+++ b/taskcluster/kinds/shippable-l10n/kind.yml
@@ -0,0 +1,208 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.l10n
+ - gecko_taskgraph.transforms.job
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - build
+ - build-signing
+ - fetch
+ - repackage
+ - toolchain
+
+only-for-build-platforms:
+ - linux64-shippable/opt
+ - linux-shippable/opt
+ - linux64-aarch64-shippable/opt
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win64-aarch64-shippable/opt
+ - linux64-devedition/opt
+ - linux-devedition/opt
+ - macosx64-devedition/opt
+ - win32-devedition/opt
+ - win64-devedition/opt
+ - win64-aarch64-devedition/opt
+
+jobs:
+ shippable-l10n:
+ description: Localization
+ from-deps:
+ group-by: platform
+ locales-file: browser/locales/l10n-changesets.json
+ locales-per-chunk: 5
+ run-on-projects: ['release']
+ attributes:
+ shipping_phase: promote
+ ignore-locales:
+ by-build-platform:
+ # OSX has a special locale for japanese
+ macosx64.*: [ja]
+ default: [ja-JP-mac]
+ run-time: 1800
+ fetches:
+ toolchain:
+ by-build-platform:
+ default: []
+ macosx64.*:
+ - linux64-libdmg
+ - linux64-hfsplus
+ win.*:
+ - linux64-wine
+ - nsis
+ fetch:
+ by-build-platform:
+ default: []
+ win.*:
+ - upx-3.95-win
+ tooltool:
+ by-build-platform:
+ default: internal
+ linux.*: public
+ index:
+ type: shippable-l10n
+ product:
+ by-build-platform:
+ default: firefox
+ .*-devedition: devedition
+ job-name:
+ by-build-platform:
+ linux-shippable: linux-opt
+ linux64-shippable: linux64-opt
+ linux64-aarch64-shippable: linux64-aarch64-opt
+ macosx64-shippable: macosx64-opt
+ win32-shippable: win32-opt
+ win64-shippable: win64-opt
+ win64-aarch64-shippable: win64-aarch64-opt
+ linux-devedition: linux-devedition-opt
+ linux64-devedition: linux64-devedition-opt
+ macosx64-devedition: macosx64-devedition-opt
+ win32-devedition: win32-devedition-opt
+ win64-devedition: win64-devedition-opt
+ win64-aarch64-devedition: win64-aarch64-devedition-opt
+ worker-type: b-linux-gcp
+ treeherder:
+ symbol: L10n(B)
+ tier: 1
+ platform:
+ by-build-platform:
+ linux64-shippable: linux64-shippable/opt
+ linux64-aarch64-shippable: linux64-aarch64-shippable/opt
+ linux-shippable: linux32-shippable/opt
+ macosx64-shippable: osx-shippable/opt
+ win32-shippable: windows2012-32-shippable/opt
+ win64-shippable: windows2012-64-shippable/opt
+ win64-aarch64-shippable: windows2012-aarch64-shippable/opt
+ linux64-devedition: linux64-devedition/opt
+ linux-devedition: linux32-devedition/opt
+ macosx64-devedition: osx-cross-devedition/opt
+ win32-devedition: windows2012-32-devedition/opt
+ win64-devedition: windows2012-64-devedition/opt
+ win64-aarch64-devedition: windows2012-aarch64-devedition/opt
+ env:
+ by-build-platform:
+ linux.*: # linux64 and 32 get same treatment here
+ EN_US_PACKAGE_NAME: target.tar.bz2
+ EN_US_BINARY_URL:
+ artifact-reference: <build-signing/{artifact_prefix}>
+ macosx64.*:
+ EN_US_PACKAGE_NAME: target.dmg
+ EN_US_BINARY_URL:
+ artifact-reference: <repackage/{artifact_prefix}>
+ win.*:
+ EN_US_PACKAGE_NAME: target.zip
+ EN_US_BINARY_URL:
+ artifact-reference: <build-signing/{artifact_prefix}>
+ mozharness:
+ config:
+ by-build-platform:
+ linux-shippable:
+ - single_locale/firefox.py
+ - single_locale/linux32.py
+ - single_locale/tc_common.py
+ - single_locale/tc_linux_common.py
+ - taskcluster_nightly.py
+ linux64-shippable:
+ - single_locale/firefox.py
+ - single_locale/linux64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_linux_common.py
+ - taskcluster_nightly.py
+ linux64-aarch64-shippable:
+ - single_locale/firefox.py
+ - single_locale/linux64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_linux_common.py
+ - taskcluster_nightly.py
+ macosx64-shippable:
+ - single_locale/firefox.py
+ - single_locale/macosx64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_macosx64.py
+ - taskcluster_nightly.py
+ win32-shippable:
+ - single_locale/firefox.py
+ - single_locale/win32.py
+ - single_locale/tc_common.py
+ - single_locale/tc_win32.py
+ - taskcluster_nightly.py
+ win64-shippable:
+ - single_locale/firefox.py
+ - single_locale/win64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_win64.py
+ - taskcluster_nightly.py
+ win64-aarch64-shippable:
+ - single_locale/firefox.py
+ - single_locale/win64-aarch64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_win64.py
+ - taskcluster_nightly.py
+ linux-devedition:
+ - single_locale/devedition.py
+ - single_locale/linux32.py
+ - single_locale/tc_common.py
+ - single_locale/tc_linux_common.py
+ - taskcluster_nightly.py
+ linux64-devedition:
+ - single_locale/devedition.py
+ - single_locale/linux64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_linux_common.py
+ - taskcluster_nightly.py
+ macosx64-devedition:
+ - single_locale/devedition.py
+ - single_locale/macosx64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_macosx64.py
+ - taskcluster_nightly.py
+ win32-devedition:
+ - single_locale/devedition.py
+ - single_locale/win32.py
+ - single_locale/tc_common.py
+ - single_locale/tc_win32.py
+ - taskcluster_nightly.py
+ win64-devedition:
+ - single_locale/devedition.py
+ - single_locale/win64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_win64.py
+ - taskcluster_nightly.py
+ win64-aarch64-devedition:
+ - single_locale/devedition.py
+ - single_locale/win64-aarch64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_win64.py
+ - taskcluster_nightly.py
+ # no default, so we fail on new entries
+ actions: ['clone-locales', 'list-locales', 'setup', 'repack',
+ 'summary']
+ script: mozharness/scripts/desktop_l10n.py
diff --git a/taskcluster/ci/signing-apk/kind.yml b/taskcluster/kinds/signing-apk/kind.yml
index 85b2f21bfd..85b2f21bfd 100644
--- a/taskcluster/ci/signing-apk/kind.yml
+++ b/taskcluster/kinds/signing-apk/kind.yml
diff --git a/taskcluster/ci/signing-bundle/kind.yml b/taskcluster/kinds/signing-bundle/kind.yml
index e062282fd6..e062282fd6 100644
--- a/taskcluster/ci/signing-bundle/kind.yml
+++ b/taskcluster/kinds/signing-bundle/kind.yml
diff --git a/taskcluster/ci/signing/kind.yml b/taskcluster/kinds/signing/kind.yml
index 655750438c..655750438c 100644
--- a/taskcluster/ci/signing/kind.yml
+++ b/taskcluster/kinds/signing/kind.yml
diff --git a/taskcluster/ci/snap-upstream-build/kind.yml b/taskcluster/kinds/snap-upstream-build/kind.yml
index 7016989ba8..7016989ba8 100644
--- a/taskcluster/ci/snap-upstream-build/kind.yml
+++ b/taskcluster/kinds/snap-upstream-build/kind.yml
diff --git a/taskcluster/ci/snap-upstream-test/kind.yml b/taskcluster/kinds/snap-upstream-test/kind.yml
index 585a1fca1f..585a1fca1f 100644
--- a/taskcluster/ci/snap-upstream-test/kind.yml
+++ b/taskcluster/kinds/snap-upstream-test/kind.yml
diff --git a/taskcluster/ci/source-test/android-compare-locales.yml b/taskcluster/kinds/source-test/android-compare-locales.yml
index 6423ad708d..6423ad708d 100644
--- a/taskcluster/ci/source-test/android-compare-locales.yml
+++ b/taskcluster/kinds/source-test/android-compare-locales.yml
diff --git a/taskcluster/ci/source-test/android-detekt.yml b/taskcluster/kinds/source-test/android-detekt.yml
index 84f46ed6b7..c39ebca218 100644
--- a/taskcluster/ci/source-test/android-detekt.yml
+++ b/taskcluster/kinds/source-test/android-detekt.yml
@@ -11,8 +11,6 @@ job-defaults:
worker:
docker-image: {in-tree: lint}
max-run-time: 1200
- env:
- JAVA_HOME: "/builds/worker/fetches/jdk/jdk-17.0.6+10"
attributes:
code-review: true
always-target: true
@@ -20,7 +18,6 @@ job-defaults:
toolchain:
- android-sdk-linux
- android-gradle-dependencies
- - android-gradle-python-envs
- linux64-jdk-repack
platform: 'lint/opt'
treeherder:
diff --git a/taskcluster/ci/source-test/android-lint.yml b/taskcluster/kinds/source-test/android-lint.yml
index c7eb456021..8cbbcc3385 100644
--- a/taskcluster/ci/source-test/android-lint.yml
+++ b/taskcluster/kinds/source-test/android-lint.yml
@@ -10,11 +10,10 @@ job-defaults:
use-caches: false
worker:
max-run-time: 2700
- env:
- JAVA_HOME: "/builds/worker/fetches/jdk/jdk-17.0.6+10"
docker-image: {in-tree: lint}
always-target: false
attributes:
+ build_platform: android
code-review: true
dependencies:
build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
@@ -22,7 +21,6 @@ job-defaults:
toolchain:
- android-sdk-linux
- android-gradle-dependencies
- - android-gradle-python-envs
- linux64-jdk-repack
build-fat-aar:
- target.maven.tar.xz
diff --git a/taskcluster/ci/source-test/buildconfig.yml b/taskcluster/kinds/source-test/buildconfig.yml
index 85f0828a54..a7dffefd09 100644
--- a/taskcluster/ci/source-test/buildconfig.yml
+++ b/taskcluster/kinds/source-test/buildconfig.yml
@@ -4,6 +4,7 @@
---
job-defaults:
description: Make sure the content of .buildconfig.yml matches what gradle knows about its projects
+ always-target: true
run:
using: run-task
cwd: '{checkout}'
@@ -16,7 +17,6 @@ job-defaults:
docker-image: {in-tree: lint}
max-run-time: 1800
env:
- JAVA_HOME: "/builds/worker/fetches/jdk/jdk-17.0.6+10"
GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-online"
MOZCONFIG: "/builds/worker/checkouts/gecko/mobile/android/config/mozconfigs/android-arm/nightly-android-lints"
ANDROID_SDK_ROOT: "/builds/worker/fetches/android-sdk-linux"
@@ -28,7 +28,6 @@ job-defaults:
toolchain:
- linux64-jdk-repack
- android-gradle-dependencies
- - android-gradle-python-envs
- android-sdk-linux
use-python: system
diff --git a/taskcluster/ci/source-test/clang.yml b/taskcluster/kinds/source-test/clang.yml
index d77066afe7..d77066afe7 100644
--- a/taskcluster/ci/source-test/clang.yml
+++ b/taskcluster/kinds/source-test/clang.yml
diff --git a/taskcluster/ci/source-test/cram.yml b/taskcluster/kinds/source-test/cram.yml
index 6e29e7c6a6..6e29e7c6a6 100644
--- a/taskcluster/ci/source-test/cram.yml
+++ b/taskcluster/kinds/source-test/cram.yml
diff --git a/taskcluster/ci/source-test/doc.yml b/taskcluster/kinds/source-test/doc.yml
index 3e0459f8f0..b876d801ba 100644
--- a/taskcluster/ci/source-test/doc.yml
+++ b/taskcluster/kinds/source-test/doc.yml
@@ -4,13 +4,14 @@
---
generate:
description: Generate the Sphinx documentation
+ use-python: "3.11"
platform: doc/opt
treeherder:
symbol: doc(generate)
kind: test
tier: 1
run-on-projects: ['trunk']
- worker-type: t-linux-xlarge-source
+ worker-type: b-linux-medium-gcp
worker:
docker-image: {in-tree: "lint"}
max-run-time: 1800
@@ -37,6 +38,7 @@ generate:
upload:
description: Generate and upload the Sphinx documentation
+ use-python: "3.11"
platform: doc/opt
attributes:
code-review: true
@@ -45,7 +47,7 @@ upload:
kind: test
tier: 2
run-on-projects: [mozilla-central-only]
- worker-type: t-linux-xlarge-source
+ worker-type: b-linux-medium-gcp
worker:
docker-image: {in-tree: "lint"}
max-run-time: 1800
diff --git a/taskcluster/ci/source-test/file-metadata.yml b/taskcluster/kinds/source-test/file-metadata.yml
index b1fffaf64f..b1fffaf64f 100644
--- a/taskcluster/ci/source-test/file-metadata.yml
+++ b/taskcluster/kinds/source-test/file-metadata.yml
diff --git a/taskcluster/ci/source-test/jsshell.yml b/taskcluster/kinds/source-test/jsshell.yml
index 2ce0a846d4..2ce0a846d4 100644
--- a/taskcluster/ci/source-test/jsshell.yml
+++ b/taskcluster/kinds/source-test/jsshell.yml
diff --git a/taskcluster/ci/source-test/kind.yml b/taskcluster/kinds/source-test/kind.yml
index f28ee39f96..f28ee39f96 100644
--- a/taskcluster/ci/source-test/kind.yml
+++ b/taskcluster/kinds/source-test/kind.yml
diff --git a/taskcluster/ci/source-test/ktlint.yml b/taskcluster/kinds/source-test/ktlint.yml
index 988f2b6660..1828887dc0 100644
--- a/taskcluster/ci/source-test/ktlint.yml
+++ b/taskcluster/kinds/source-test/ktlint.yml
@@ -15,7 +15,6 @@ job-defaults:
toolchain:
- android-sdk-linux
- android-gradle-dependencies
- - android-gradle-python-envs
- linux64-jdk-repack
platform: 'lint/opt'
treeherder:
@@ -25,8 +24,6 @@ job-defaults:
worker:
docker-image: {in-tree: lint}
max-run-time: 1200
- env:
- JAVA_HOME: "/builds/worker/fetches/jdk/jdk-17.0.6+10"
when:
files-changed:
- "mobile/android/android-components/**"
diff --git a/taskcluster/ci/source-test/mozlint-android.yml b/taskcluster/kinds/source-test/mozlint-android.yml
index d98abe9734..6602d8c818 100644
--- a/taskcluster/ci/source-test/mozlint-android.yml
+++ b/taskcluster/kinds/source-test/mozlint-android.yml
@@ -81,7 +81,6 @@ lints:
toolchain:
# Aliases aren't allowed for toolchains installed by fetch.
- linux64-android-gradle-dependencies
- - android-gradle-python-envs
- linux64-android-sdk-linux-repack
- linux64-jdk-repack
- linux64-node
diff --git a/taskcluster/ci/source-test/mozlint.yml b/taskcluster/kinds/source-test/mozlint.yml
index e101049103..e101049103 100644
--- a/taskcluster/ci/source-test/mozlint.yml
+++ b/taskcluster/kinds/source-test/mozlint.yml
diff --git a/taskcluster/ci/source-test/node.yml b/taskcluster/kinds/source-test/node.yml
index 1d8c8348fb..1d8c8348fb 100644
--- a/taskcluster/ci/source-test/node.yml
+++ b/taskcluster/kinds/source-test/node.yml
diff --git a/taskcluster/ci/source-test/puppeteer.yml b/taskcluster/kinds/source-test/puppeteer.yml
index 3bfd1a9645..3bfd1a9645 100644
--- a/taskcluster/ci/source-test/puppeteer.yml
+++ b/taskcluster/kinds/source-test/puppeteer.yml
diff --git a/taskcluster/ci/source-test/python.yml b/taskcluster/kinds/source-test/python.yml
index 43680aacad..c8214d17d5 100644
--- a/taskcluster/ci/source-test/python.yml
+++ b/taskcluster/kinds/source-test/python.yml
@@ -47,7 +47,7 @@ firefox-ci:
when:
files-changed:
- '.taskcluster.yml'
- - 'taskcluster/ci/**'
+ - 'taskcluster/kinds/**'
- 'taskcluster/**/*.py'
- 'tools/tryselect/selectors/auto.py'
@@ -359,8 +359,8 @@ tryselect:
subsuite: try
when:
files-changed:
- - 'taskcluster/ci/config.yml'
- - 'taskcluster/ci/test/**'
+ - 'taskcluster/config.yml'
+ - 'taskcluster/kinds/test/**'
- 'taskcluster/gecko_taskgraph/transforms/**'
- 'tools/tryselect/**'
diff --git a/taskcluster/ci/source-test/shadow-scheduler.yml b/taskcluster/kinds/source-test/shadow-scheduler.yml
index 97d1b1f30b..97d1b1f30b 100644
--- a/taskcluster/ci/source-test/shadow-scheduler.yml
+++ b/taskcluster/kinds/source-test/shadow-scheduler.yml
diff --git a/taskcluster/ci/source-test/taskgraph.yml b/taskcluster/kinds/source-test/taskgraph.yml
index 3065c80482..da3b27d33b 100644
--- a/taskcluster/ci/source-test/taskgraph.yml
+++ b/taskcluster/kinds/source-test/taskgraph.yml
@@ -38,5 +38,5 @@ diff:
python taskcluster/scripts/misc/summarize-tgdiff.py /builds/worker/artifacts/diffs/ 20
when:
files-changed:
- - 'taskcluster/ci/**'
+ - 'taskcluster/kinds/**'
- 'taskcluster/**/*.py'
diff --git a/taskcluster/ci/source-test/vendor.yml b/taskcluster/kinds/source-test/vendor.yml
index c6594c6f68..c6594c6f68 100644
--- a/taskcluster/ci/source-test/vendor.yml
+++ b/taskcluster/kinds/source-test/vendor.yml
diff --git a/taskcluster/ci/source-test/webcompat.yml b/taskcluster/kinds/source-test/webcompat.yml
index 66ff7910a6..66ff7910a6 100644
--- a/taskcluster/ci/source-test/webcompat.yml
+++ b/taskcluster/kinds/source-test/webcompat.yml
diff --git a/taskcluster/ci/source-test/webidl.yml b/taskcluster/kinds/source-test/webidl.yml
index eec7a75e38..eec7a75e38 100644
--- a/taskcluster/ci/source-test/webidl.yml
+++ b/taskcluster/kinds/source-test/webidl.yml
diff --git a/taskcluster/ci/source-test/wpt-manifest.yml b/taskcluster/kinds/source-test/wpt-manifest.yml
index 06b29b60f5..06b29b60f5 100644
--- a/taskcluster/ci/source-test/wpt-manifest.yml
+++ b/taskcluster/kinds/source-test/wpt-manifest.yml
diff --git a/taskcluster/ci/source-test/wpt-metadata.yml b/taskcluster/kinds/source-test/wpt-metadata.yml
index b2c54d62b9..b2c54d62b9 100644
--- a/taskcluster/ci/source-test/wpt-metadata.yml
+++ b/taskcluster/kinds/source-test/wpt-metadata.yml
diff --git a/taskcluster/kinds/spidermonkey/kind.yml b/taskcluster/kinds/spidermonkey/kind.yml
new file mode 100644
index 0000000000..560ac9a58b
--- /dev/null
+++ b/taskcluster/kinds/spidermonkey/kind.yml
@@ -0,0 +1,75 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.spidermonkey:transforms
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ attributes:
+ retrigger: true
+ treeherder:
+ kind: build
+ tier: 1
+ index:
+ product: firefox
+ worker-type: b-linux-gcp
+ run:
+ using: spidermonkey
+ when:
+ files-changed:
+ # any when.files-changed specified below in a job will be
+ # appended to this list
+ - build/**
+ - config/**
+ - configure.py
+ - dom/bindings/**
+ - intl/icu/**
+ - js/moz.configure
+ - js/public/**
+ - js/src/**
+ - 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
+ - taskcluster/kinds/spidermonkey/kind.yml
+ - testing/mozbase/**
+ - testing/web-platform/**
+ - test.mozbuild
+ - toolkit/mozapps/installer/package-name.mk
+ - toolkit/mozapps/installer/upload-files.mk
+ fetches:
+ toolchain:
+ by-worker-type:
+ .*-b-win2022:
+ - win64-clang
+ - win64-rust
+ default:
+ - linux64-clang
+ - linux64-gcc
+ - linux64-rust
+ - linux64-dump_syms
+ - sysroot-x86_64-linux-gnu
+
+jobs-from:
+ - linux.yml
+ - windows.yml
diff --git a/taskcluster/ci/spidermonkey/linux.yml b/taskcluster/kinds/spidermonkey/linux.yml
index fbf3c8d0e2..fbf3c8d0e2 100644
--- a/taskcluster/ci/spidermonkey/linux.yml
+++ b/taskcluster/kinds/spidermonkey/linux.yml
diff --git a/taskcluster/ci/spidermonkey/windows.yml b/taskcluster/kinds/spidermonkey/windows.yml
index 2fa90deb8e..2fa90deb8e 100644
--- a/taskcluster/ci/spidermonkey/windows.yml
+++ b/taskcluster/kinds/spidermonkey/windows.yml
diff --git a/taskcluster/ci/startup-test/kind.yml b/taskcluster/kinds/startup-test/kind.yml
index 3e6975ae92..3e6975ae92 100644
--- a/taskcluster/ci/startup-test/kind.yml
+++ b/taskcluster/kinds/startup-test/kind.yml
diff --git a/taskcluster/kinds/static-analysis-autotest/kind.yml b/taskcluster/kinds/static-analysis-autotest/kind.yml
new file mode 100644
index 0000000000..3901e0a7fd
--- /dev/null
+++ b/taskcluster/kinds/static-analysis-autotest/kind.yml
@@ -0,0 +1,102 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ attributes:
+ retrigger: true
+ index:
+ product: firefox
+ worker:
+ skip-artifacts: true
+ max-run-time: 3600
+ env:
+ PERFHERDER_EXTRA_OPTIONS: static-analysis-autotest
+ use-python: default
+ run-on-projects: ['mozilla-central']
+ run:
+ using: mozharness
+ actions: [static-analysis-autotest]
+ script: mozharness/scripts/fx_desktop_build.py
+ treeherder:
+ symbol: Sa
+ kind: build
+ tier: 1
+
+jobs:
+ linux64-st-autotest/debug:
+ description: "Linux64 Debug Static Analysis Autotest"
+ index:
+ job-name: linux64-st-autotest-debug
+ treeherder:
+ platform: linux64/debug
+ worker-type: t-linux-large
+ worker:
+ docker-image: {in-tree: static-analysis-build}
+ env:
+ # clang-tidy needs a recent libstdc++, which can be found in the clang
+ # toolchain.
+ LD_LIBRARY_PATH: /builds/worker/checkouts/gecko/clang/lib
+ PERFHERDER_EXTRA_OPTIONS: static-analysis-autotest
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_sub_linux_configs/64_stat_and_debug.py
+ tooltool-downloads: public
+ keep-artifacts: false
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-clang-tidy
+ - linux64-rust
+ - linux64-sccache
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+
+ win64-st-autotest/debug:
+ description: "Win64 Debug Static Analysis Autotest"
+ index:
+ job-name: win64-st-autotest-debug
+ treeherder:
+ platform: windows2012-64/debug
+ tier: 2
+ worker-type: b-win2022
+ run:
+ config:
+ - builds/releng_base_firefox.py
+ - builds/taskcluster_base_windows.py
+ - builds/taskcluster_base_win64.py
+ - builds/taskcluster_sub_win64/debug.py
+ extra-config:
+ mozconfig_variant: debug
+ use-sccache: false
+ fetches:
+ toolchain:
+ - win64-clang
+ - win64-rust
+ - win64-cbindgen
+ - win64-clang-tidy
+ - win64-nasm
+ - win64-node
+ - win64-dump_syms
+ - win64-winchecksec
+ - vs
+ - windows-rs
+ - sysroot-wasm32-wasi
diff --git a/taskcluster/kinds/system-symbols-reprocess/kind.yml b/taskcluster/kinds/system-symbols-reprocess/kind.yml
new file mode 100644
index 0000000000..e96f8f4fa3
--- /dev/null
+++ b/taskcluster/kinds/system-symbols-reprocess/kind.yml
@@ -0,0 +1,46 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+# we need that to apply grouping only on jobs that have "build_platform", so we
+# dont fail for the "fetch" kind that does is a dependency but does not have it
+only-for-attributes:
+ - build_platform
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.reprocess_symbols
+ - gecko_taskgraph.transforms.job
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - system-symbols
+ - system-symbols-upload
+ - fetch
+
+jobs:
+ system-symbols-reprocess:
+ from-deps:
+ kinds: ["system-symbols", "system-symbols-upload"]
+ group-by: platform
+ description: Reprocess Symbols on Crash-Stats
+ attributes:
+ cron: true
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {in-tree: system-symbols-linux-scraper}
+ max-run-time: 7200
+ env:
+ # {level} gets replaced in the reprocess_symbols transform
+ CRASHSTATS_SECRET: "project/releng/gecko/build/level-{level}/gecko-symbol-reprocess"
+ DUMP_SYMS: "/bin/false"
+ run:
+ using: run-task
+ command: {task-reference: "${MOZ_FETCHES_DIR}/symbol-scrapers/reprocess.sh <system-symbols>"}
+ fetches:
+ fetch:
+ - symbol-scrapers
+ scopes:
+ - secrets:get:project/releng/gecko/build/level-{level}/gecko-symbol-reprocess
diff --git a/taskcluster/kinds/system-symbols-upload/kind.yml b/taskcluster/kinds/system-symbols-upload/kind.yml
new file mode 100644
index 0000000000..e36f7afd84
--- /dev/null
+++ b/taskcluster/kinds/system-symbols-upload/kind.yml
@@ -0,0 +1,34 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.upload_symbols
+ - gecko_taskgraph.transforms.job
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - system-symbols
+
+jobs:
+ system-symbols-upload:
+ description: Upload Symbols
+ from-deps: {}
+ attributes:
+ cron: true
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 1200
+ env:
+ # {level} gets replaced in the upload_symbols transform
+ SYMBOL_SECRET: "project/releng/gecko/build/level-{level}/gecko-symbol-upload"
+ run:
+ using: mach
+ mach: {task-reference: "python toolkit/crashreporter/tools/upload_symbols.py --task-id <system-symbols> --ignore-missing"}
+ sparse-profile: upload-symbols
+ scopes:
+ - secrets:get:project/releng/gecko/build/level-{level}/gecko-symbol-upload
diff --git a/taskcluster/ci/system-symbols/kind.yml b/taskcluster/kinds/system-symbols/kind.yml
index 0090454a68..0090454a68 100644
--- a/taskcluster/ci/system-symbols/kind.yml
+++ b/taskcluster/kinds/system-symbols/kind.yml
diff --git a/taskcluster/kinds/test-apk/kind.yml b/taskcluster/kinds/test-apk/kind.yml
new file mode 100644
index 0000000000..59225f431a
--- /dev/null
+++ b/taskcluster/kinds/test-apk/kind.yml
@@ -0,0 +1,157 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.test_apk:transforms
+ # While not a build, the build optimization works well for these tasks.
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - toolchain
+ - build-fat-aar
+
+job-defaults:
+ attributes:
+ build_platform: android
+ retrigger: true
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ fetches:
+ toolchain:
+ - android-sdk-linux
+ - android-gradle-dependencies
+ - linux64-jdk
+ build-fat-aar:
+ - target.maven.tar.xz
+ run:
+ using: gradlew
+ use-caches: false
+ treeherder:
+ kind: test
+ worker-type: b-linux-medium-gcp
+ worker:
+ docker-image: {in-tree: android-components}
+ max-run-time: 7200
+
+jobs:
+ focus-debug:
+ description: Focus unit tests
+ attributes:
+ build-type: focus-debug
+ shipping-product: focus
+ run:
+ pre-gradlew:
+ - ["cd", "mobile/android/focus-android"]
+ gradlew: ['clean', 'test']
+ dummy-secrets:
+ - content: "faketoken"
+ path: .adjust_token
+ treeherder:
+ platform: 'focus-android-all/opt'
+ symbol: focus-debug(T)
+ tier: 1
+ worker:
+ artifacts:
+ - name: public/reports/index.html
+ path: /builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/reports/tests/testFocusDebugUnitTest/index.html
+ type: file
+ - name: public/reports/test
+ path: /builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/reports/tests
+ type: directory
+
+ fenix-debug:
+ description: Fenix unit tests
+ attributes:
+ build-type: fenix-debug
+ shipping-product: fenix
+ run:
+ pre-gradlew:
+ - ["cd", "mobile/android/fenix"]
+ - ['java', '-version']
+ gradlew: ['clean', 'testFenixDebugUnitTest']
+ treeherder:
+ platform: 'fenix-android-all/opt'
+ symbol: fenix-debug(T)
+ tier: 1
+ worker:
+ artifacts:
+ - name: public/reports/index.html
+ path: /builds/worker/checkouts/gecko/mobile/android/fenix/app/build/reports/tests/testFenixDebugUnitTest/index.html
+ type: file
+ - name: public/reports/test
+ path: /builds/worker/checkouts/gecko/mobile/android/fenix/app/build/reports/tests
+ type: directory
+ routes:
+ by-level:
+ '3':
+ - notify.slack-channel.G016BC5FUHJ.on-failed
+ 'default': []
+ scopes:
+ by-level:
+ '3':
+ - queue:route:notify.slack-channel.G016BC5FUHJ.on-failed
+ - notify:slack-channel:G016BC5FUHJ
+ 'default': []
+ extra:
+ notify:
+ by-level:
+ '3':
+ slackBlocks: |
+ [
+ {
+ "type": "header",
+ "text": {
+ "type": "plain_text",
+ "text": "firefox-android :firefox: ${task.metadata.name} :x:\n "
+ }
+ },
+ {
+ "type": "divider"
+ },
+ {
+ "type": "section",
+ "text": {
+ "type": "mrkdwn",
+ "text": "*Task*: <https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId}|Taskcluster>"
+ }
+ },
+ {
+ "type": "section",
+ "text": {
+ "type": "mrkdwn",
+ "text": "*Owner*: ${task.metadata.owner}"
+ }
+ },
+ {
+ "type": "section",
+ "text": {
+ "type": "mrkdwn",
+ "text": "*Source*: <${task.payload.env.GECKO_HEAD_REPOSITORY}/rev/${task.payload.env.GECKO_HEAD_REV}|Commit> :hg:"
+ }
+ },
+ {
+ "type": "section",
+ "text": {
+ "type": "mrkdwn",
+ "text": "*Test Summary*: <https://firefoxci.taskcluster-artifacts.net/${status.taskId}/0/public/reports/index.html|Results> :debug:"
+ }
+ },
+ {
+ "type": "divider"
+ },
+ {
+ "type": "context",
+ "elements": [
+ {
+ "type": "mrkdwn",
+ "text": ":testops-notify: created by <https://mozilla-hub.atlassian.net/wiki/spaces/MTE/overview|Mobile Test Engineering>"
+ }
+ ]
+ }
+ ]
+ 'default': {}
diff --git a/taskcluster/kinds/test-components/kind.yml b/taskcluster/kinds/test-components/kind.yml
new file mode 100644
index 0000000000..8f4675b076
--- /dev/null
+++ b/taskcluster/kinds/test-components/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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - android_taskgraph.transforms.ui_tests:transforms
+ # While not a build, the build optimization works well for these tasks.
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - toolchain
+ - build-fat-aar
+
+
+job-defaults:
+ attributes:
+ build_platform: android
+ build-type: debug
+ retrigger: true
+ dependencies:
+ build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
+ fetches:
+ toolchain:
+ - android-sdk-linux
+ - android-gradle-dependencies
+ - linux64-jdk
+ build-fat-aar:
+ - target.maven.tar.xz
+ run:
+ # TODO Generate APKs in a build task instead
+ gradlew: ['clean', 'assembleGecko', 'assembleAndroidTest', 'assembleDebug']
+ pre-gradlew:
+ - ["cd", "mobile/android/android-components"]
+ secrets:
+ - name: project/mobile/firefox-android/android-components/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ using: gradlew
+ use-caches: false
+ treeherder:
+ kind: test
+ platform: 'AC-ui-test/opt'
+ tier: 2
+ worker-type: b-linux-medium-gcp
+ worker:
+ artifacts:
+ - name: public
+ path: /builds/worker/artifacts
+ type: directory
+ docker-image: {in-tree: android-ui-tests}
+ env:
+ GOOGLE_APPLICATION_CREDENTIALS: '.firebase_token.json'
+ GOOGLE_PROJECT: moz-android-components-230120
+ max-run-time: 2400
+ optimization:
+ skip-unless-backstop: null
+
+
+jobs:
+ unit-browser-engine-gecko-nightly:
+ component: browser
+ description: 'Run unit tests on device for browser component'
+ treeherder:
+ symbol: 'ui-components'
+ ui-browser:
+ component: samples-browser
+ description: 'Run ui tests for browser sample'
+ treeherder:
+ symbol: 'ui-samples-browser'
+ ui-glean:
+ component: samples-glean
+ description: 'Run ui tests for glean sample'
+ treeherder:
+ symbol: 'ui-samples-glean'
+ android-feature-containers: {}
+ android-feature-pwa: {}
+ android-feature-share: {}
+ android-feature-sitepermissions: {}
+ android-feature-top-sites: {}
+ android-feature-logins: {}
+ android-feature-prompts: {}
+ android-support-ktx: {}
+ android-feature-downloads: {}
+ android-feature-recentlyclosed: {}
diff --git a/taskcluster/ci/test/awsy.yml b/taskcluster/kinds/test/awsy.yml
index 6ba85dcb82..6ba85dcb82 100644
--- a/taskcluster/ci/test/awsy.yml
+++ b/taskcluster/kinds/test/awsy.yml
diff --git a/taskcluster/ci/test/browsertime-desktop.yml b/taskcluster/kinds/test/browsertime-desktop.yml
index f4a1abe080..90bf76201c 100644
--- a/taskcluster/ci/test/browsertime-desktop.yml
+++ b/taskcluster/kinds/test/browsertime-desktop.yml
@@ -15,7 +15,7 @@ job-defaults:
limit-platforms:
by-app:
chrome:
- - .*shippable.*
+ - .*64.*shippable.*
safari:
- .*macos.*shippable.*
custom-car:
diff --git a/taskcluster/ci/test/browsertime-mobile.yml b/taskcluster/kinds/test/browsertime-mobile.yml
index 0ef0c0519e..0ef0c0519e 100644
--- a/taskcluster/ci/test/browsertime-mobile.yml
+++ b/taskcluster/kinds/test/browsertime-mobile.yml
diff --git a/taskcluster/ci/test/compiled.yml b/taskcluster/kinds/test/compiled.yml
index ebe6b9bb2b..f91ccd9970 100644
--- a/taskcluster/ci/test/compiled.yml
+++ b/taskcluster/kinds/test/compiled.yml
@@ -49,13 +49,13 @@ gtest:
description: "GTests run"
suite: gtest
treeherder-symbol: GTest
- instance-size: xlarge-noscratch
+ instance-size: large-noscratch
run-on-projects:
by-variant:
1proc:
by-test-platform:
.*android.*: built-projects
- .*(devedition|tsan|wayland).*: []
+ .*(devedition|wayland).*: []
linux1804-32-qr/opt: [] # try only, shippable on m-c
linux1804-32-qr/debug: ['mozilla-central'] # try and m-c
linux1804-32-shippable-qr/opt: ['mozilla-central'] # try and m-c
diff --git a/taskcluster/ci/test/firefox-ui.yml b/taskcluster/kinds/test/firefox-ui.yml
index c45bb3d138..c45bb3d138 100644
--- a/taskcluster/ci/test/firefox-ui.yml
+++ b/taskcluster/kinds/test/firefox-ui.yml
diff --git a/taskcluster/ci/test/kind.yml b/taskcluster/kinds/test/kind.yml
index e9c2b1e5e9..e9c2b1e5e9 100644
--- a/taskcluster/ci/test/kind.yml
+++ b/taskcluster/kinds/test/kind.yml
diff --git a/taskcluster/ci/test/marionette.yml b/taskcluster/kinds/test/marionette.yml
index d586a6cf24..d586a6cf24 100644
--- a/taskcluster/ci/test/marionette.yml
+++ b/taskcluster/kinds/test/marionette.yml
diff --git a/taskcluster/ci/test/misc.yml b/taskcluster/kinds/test/misc.yml
index 8f1f93157c..8f1f93157c 100644
--- a/taskcluster/ci/test/misc.yml
+++ b/taskcluster/kinds/test/misc.yml
diff --git a/taskcluster/ci/test/mochitest.yml b/taskcluster/kinds/test/mochitest.yml
index 1339652baf..91e44b5fe5 100644
--- a/taskcluster/ci/test/mochitest.yml
+++ b/taskcluster/kinds/test/mochitest.yml
@@ -269,16 +269,14 @@ mochitest-browser-chrome:
default: 7
default:
by-test-platform:
- linux.*wayland.*/opt: 8
- linux.*wayland.*/debug: 12
linux.*-qr/debug: 16
linux.*64-asan-qr/opt: 16
linux.*64-tsan-qr/opt: 32
- macosx.*64-qr/debug: 12
macosx.*64.*/opt: 10
+ windows11-32.*/opt: 10
windows.*-ccov.*/.*: 14
windows.*-asan-qr/opt: 14
- windows.*32-qr/debug: 12
+ .*/debug: 12
default: 8
max-run-time:
by-variant:
@@ -302,7 +300,7 @@ mochitest-browser-chrome:
chunked: true
instance-size:
by-test-platform:
- linux.*64-asan-qr/opt: xlarge # runs out of memory frequently
+ linux.*64-asan-qr/opt: xlarge-noscratch # runs out of memory frequently
default: default
allow-software-gl-layers: false
diff --git a/taskcluster/ci/test/reftest.yml b/taskcluster/kinds/test/reftest.yml
index 21474f7aad..be4518e592 100644
--- a/taskcluster/ci/test/reftest.yml
+++ b/taskcluster/kinds/test/reftest.yml
@@ -176,6 +176,7 @@ reftest:
windows11.*/opt: 3
default: 8
variants:
+ - draw-snapshot
- geckoview-no-fission-ship
- no-fission
- webrender-dcomp-disabled
@@ -186,6 +187,10 @@ reftest:
- webrender-sw
run-on-projects:
by-variant:
+ draw-snapshot:
+ by-test-platform:
+ linux1804.*/debug: built-projects
+ default: []
webrender-sw+no-fission:
by-test-platform:
android-em-7.0-x86_64-qr/debug: built-projects
@@ -231,6 +236,8 @@ reftest:
macosx.*64/opt: false
windows.*/opt: false
default: true
+ extra-options:
+ - --setpref=layers.acceleration.force-enabled=true
tier:
by-variant:
no-fission:
@@ -266,16 +273,3 @@ reftest-qr:
chunked: true
tier: 2
virtualization: virtual
-
-reftest-snapshot:
- description: "Reftest snapshot"
- treeherder-symbol: R(Rs)
- virtualization: virtual
- run-on-projects:
- by-test-platform:
- linux1804-64-qr/debug: ['trunk']
- default: []
- tier: default
- chunks: 8
- mozharness:
- chunked: true
diff --git a/taskcluster/ci/test/talos.yml b/taskcluster/kinds/test/talos.yml
index 3ce85fd039..68e2f094ad 100644
--- a/taskcluster/ci/test/talos.yml
+++ b/taskcluster/kinds/test/talos.yml
@@ -796,7 +796,7 @@ talos-pdfpaint:
(linux|windows|macos)(?!.*shippable).*: []
(linux|windows10-64|macos)(?!.*-qr).*: []
default: [trunk]
- max-run-time: 1800
+ max-run-time: 2100
mozharness:
extra-options:
- --suite=pdfpaint
diff --git a/taskcluster/ci/test/test-platforms.yml b/taskcluster/kinds/test/test-platforms.yml
index b957b8a4db..b957b8a4db 100644
--- a/taskcluster/ci/test/test-platforms.yml
+++ b/taskcluster/kinds/test/test-platforms.yml
diff --git a/taskcluster/ci/test/test-sets.yml b/taskcluster/kinds/test/test-sets.yml
index 4a8f3d019b..ffc18b2d66 100644
--- a/taskcluster/ci/test/test-sets.yml
+++ b/taskcluster/kinds/test/test-sets.yml
@@ -18,6 +18,7 @@
webgpu:
- mochitest-webgpu
- web-platform-tests-webgpu
+ - web-platform-tests-webgpu-backlog
web-platform-tests:
- web-platform-tests
@@ -173,7 +174,6 @@ linux1804-tests:
- mochitest-webgl2-core
- mochitest-webgl2-ext
- reftest
- - reftest-snapshot
- telemetry-tests-client
- test-verify
- test-verify-gpu
@@ -212,7 +212,6 @@ linux2204-wayland-tests:
- mochitest-webgl2-core
- mochitest-webgl2-ext
- reftest
- - reftest-snapshot
- telemetry-tests-client
- test-verify
- test-verify-gpu
diff --git a/taskcluster/ci/test/variants.yml b/taskcluster/kinds/test/variants.yml
index 8cb31ee047..4914982895 100644
--- a/taskcluster/ci/test/variants.yml
+++ b/taskcluster/kinds/test/variants.yml
@@ -373,9 +373,10 @@ msix:
|| "ccov" in task["test-platform"]
)
'
- merge:
+ replace:
mozharness:
extra-options:
+ - "--variant=msix"
- "--installer-path installer.msix"
http3:
@@ -414,3 +415,22 @@ http2:
mozharness:
extra-options:
- "--use-http2-server"
+
+draw-snapshot:
+ description: "{description} with draw snapshot"
+ component: "Core::Graphics"
+ suffix: "s"
+ mozinfo: "snapshot"
+ expiration: "never"
+ when:
+ $eval: '(
+ "linux" in task["test-platform"]
+ && "debug" in task["test-platform"]
+ )
+ && "reftest" == task["try-name"]
+ '
+ replace:
+ virtualization: virtual
+ mozharness:
+ extra-options:
+ - "--setpref=reftest.use-draw-snapshot=true"
diff --git a/taskcluster/ci/test/web-platform.yml b/taskcluster/kinds/test/web-platform.yml
index 4a1818cbd6..b4cf3a732b 100644
--- a/taskcluster/ci/test/web-platform.yml
+++ b/taskcluster/kinds/test/web-platform.yml
@@ -69,8 +69,13 @@ web-platform-tests:
default: 7200
variants:
- no-fission
+ - geckoview-no-fission-ship
run-on-projects:
by-variant:
+ geckoview-no-fission-ship:
+ by-test-platform:
+ android-em-7.0-x86_64-qr/debug-isolated-process: []
+ default: []
no-fission:
by-test-platform:
android-em-7.0-x86_64-qr/debug-isolated-process: []
@@ -229,11 +234,43 @@ web-platform-tests-webgpu:
virtualization: virtual-with-gpu
tier:
by-test-platform:
- android.*: 3 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849914
- macos.*: 3 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849913
- linux2204.*-64.*: 3 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849912
- windows.*-64.*: 3 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849911
- default: 3
+ android.*: 2 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849914
+ macos.*: 2 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849913
+ linux2204.*-64.*: 2 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849912
+ windows.*-64.*: 2 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849911
+ default: 2
+ # Choice of `chunks`:
+ # Time-to-TEST-START on Windows is ~7m (~9m for debug).
+ # (though we're working on reducing this!)
+ # Devs would love ~10-15m runs, but we don't want to be more than
+ # 50% overhead, so let's aim for 15m (20m debug)
+ chunks: 1
+ max-run-time:
+ by-test-platform:
+ .*/debug: 2700 # 45m
+ default: 1800 # 30m
+ variants: [] # We don't need sw or nofis testing.
+ run-on-projects:
+ by-test-platform:
+ android.*: [] # https://bugzilla.mozilla.org/show_bug.cgi?id=1836811
+ .*-wayland/debug.*: [] # https://bugzilla.mozilla.org/show_bug.cgi?id=1864700
+ default: ['trunk']
+ mozharness:
+ chunked: true
+ extra-options:
+ - --test-type=testharness
+ - --skip-implementation-status=backlog
+ - --skip-implementation-status=not-implementing
+ - --default-exclude
+ - --tag=webgpu
+ - --exclude-tag=canvas
+
+web-platform-tests-webgpu-backlog:
+ description: "Web platform WebGPU test run (backlog)"
+ suite: web-platform-tests
+ treeherder-symbol: W(webgpu-backlog)
+ virtualization: virtual-with-gpu
+ tier: 3
# Choice of `chunks`:
# Time-to-TEST-START on Windows is ~7m (~9m for debug).
# (though we're working on reducing this!)
@@ -265,12 +302,18 @@ web-platform-tests-webgpu:
- --default-exclude
- --tag=webgpu
- --exclude-tag=canvas
+ - --skip-implementation-status=implementing
+ - --skip-implementation-status=not-implementing
+ - --backlog
- --setpref=gfx.webgpu.ignore-blocklist=true
default:
- --test-type=testharness
- --default-exclude
- --tag=webgpu
- --exclude-tag=canvas
+ - --skip-implementation-status=implementing
+ - --skip-implementation-status=not-implementing
+ - --backlog
web-platform-tests-canvas:
description: "Web platform Canvas test run"
diff --git a/taskcluster/ci/test/xpcshell.yml b/taskcluster/kinds/test/xpcshell.yml
index 02a615bdc2..7b417e869b 100644
--- a/taskcluster/ci/test/xpcshell.yml
+++ b/taskcluster/kinds/test/xpcshell.yml
@@ -5,10 +5,7 @@
job-defaults:
suite:
category: xpcshell
- name:
- by-variant:
- msix: xpcshell-msix
- default: xpcshell
+ name: xpcshell
target:
by-test-platform:
android-em-7.*: geckoview-test_runner.apk
diff --git a/taskcluster/kinds/toolchain/android.yml b/taskcluster/kinds/toolchain/android.yml
new file mode 100644
index 0000000000..333aa868fa
--- /dev/null
+++ b/taskcluster/kinds/toolchain/android.yml
@@ -0,0 +1,252 @@
+# 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/.
+---
+job-defaults:
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {in-tree: android-build}
+ max-run-time: 1800
+
+# In automation, we generate the AVD using the linux64-android-avd jobs. On
+# developers' machines, bootstrap will download the artifact from the avd job
+# instead of generating it.
+#
+# The Android AVD needs the corresponding system image generated in the
+# linux64-android-system-image TL job. System images are not redistributable,
+# so locally bootstrap will use sdkmanager to download the corresponding system
+# images.
+linux64-android-avd-x86_64-repack:
+ attributes:
+ local-toolchain: true
+ description: "Android AVD (Linux) repack toolchain build"
+ treeherder:
+ symbol: TL(avd-x86_64-linux)
+ run:
+ script: repack-android-avd-linux.sh
+ arguments:
+ - 'python/mozboot/mozboot/android-avds/x86_64.json'
+ resources:
+ - 'python/mozboot/**/*android*'
+ toolchain-artifact: public/build/android-avd-linux.tar.zst
+ toolchain-alias: android-avd-x86_64-linux
+ fetches:
+ toolchain:
+ # Aliases aren't allowed for toolchains depending on toolchains.
+ - linux64-jdk-repack
+
+linux64-android31-avd-x86_64-repack:
+ description: "Android AVD (Linux) repack toolchain build"
+ treeherder:
+ symbol: TL(avd31-x86_64-linux)
+ worker-type: b-linux-kvm-gcp
+ worker:
+ kvm: true
+ run:
+ script: repack-android-avd-linux.sh
+ arguments:
+ - 'python/mozboot/mozboot/android-avds/android31-x86_64.json'
+ resources:
+ - 'python/mozboot/**/*android*'
+ toolchain-artifact: public/build/android-avd-linux.tar.zst
+ toolchain-alias: android31-avd-x86_64-linux
+ fetches:
+ toolchain:
+ # Aliases aren't allowed for toolchains depending on toolchains.
+ - linux64-jdk-repack
+
+
+linux64-android-avd-arm-repack:
+ attributes:
+ local-toolchain: true
+ description: "Android AVD (Linux) repack toolchain build"
+ treeherder:
+ symbol: TL(avd-arm-linux)
+ run:
+ script: repack-android-avd-linux.sh
+ arguments:
+ - 'python/mozboot/mozboot/android-avds/arm.json'
+ resources:
+ - 'python/mozboot/**/*android*'
+ toolchain-artifact: public/build/android-avd-linux.tar.zst
+ toolchain-alias: android-avd-arm-linux
+ fetches:
+ toolchain:
+ # Aliases aren't allowed for toolchains depending on toolchains.
+ - linux64-jdk-repack
+
+linux64-android-avd-arm64-repack:
+ attributes:
+ local-toolchain: true
+ description: "Android AVD (Linux) repack toolchain build"
+ treeherder:
+ symbol: TL(avd-arm64-linux)
+ run:
+ script: repack-android-avd-linux.sh
+ arguments:
+ - 'python/mozboot/mozboot/android-avds/arm64.json'
+ resources:
+ - 'python/mozboot/**/*android*'
+ toolchain-artifact: public/build/android-avd-linux.tar.zst
+ toolchain-alias: android-avd-arm64-linux
+ fetches:
+ toolchain:
+ # Aliases aren't allowed for toolchains depending on toolchains.
+ - linux64-jdk-repack
+
+linux64-android-system-image-x86_64-repack:
+ description: "Android System Images (Linux) repack toolchain build"
+ treeherder:
+ symbol: TL(x86_64-avd-img-linux)
+ run:
+ script: repack-android-system-images-linux.sh
+ arguments:
+ - 'python/mozboot/mozboot/android-avds/x86_64.json'
+ resources:
+ - 'python/mozboot/**/*android*'
+ toolchain-artifact: project/gecko/android-system-images/android-system-images-linux.tar.zst
+ toolchain-alias: android-system-image-x86_64-linux
+ fetches:
+ toolchain:
+ # Aliases aren't allowed for toolchains depending on toolchains.
+ - linux64-jdk-repack
+
+linux64-android31-system-image-x86_64-repack:
+ description: "Android System Images (Linux) repack toolchain build"
+ treeherder:
+ symbol: TL(x86_64-avd31-img-linux)
+ run:
+ script: repack-android-system-images-linux.sh
+ arguments:
+ - 'python/mozboot/mozboot/android-avds/android31-x86_64.json'
+ resources:
+ - 'python/mozboot/**/*android*'
+ toolchain-artifact: project/gecko/android-system-images/android-system-images-linux.tar.zst
+ toolchain-alias: android31-system-image-x86_64-linux
+ fetches:
+ toolchain:
+ # Aliases aren't allowed for toolchains depending on toolchains.
+ - linux64-jdk-repack
+
+
+linux64-jdk-repack:
+ description: "Java JDK (Linux) repack toolchain build"
+ treeherder:
+ symbol: TL(jdk)
+ run:
+ script: repack-jdk-linux.sh
+ resources:
+ - 'python/mozboot/**/*android*'
+ toolchain-artifact: project/gecko/jdk/jdk-linux.tar.zst
+ toolchain-alias: linux64-jdk
+ toolchain-env:
+ JAVA_HOME: "/builds/worker/fetches/jdk/jdk-17.0.11+9"
+
+linux64-android-sdk-linux-repack:
+ description: "Android SDK (Linux) repack toolchain build"
+ treeherder:
+ symbol: TL(android-sdk-linux)
+ run:
+ script: repack-android-sdk-linux.sh
+ resources:
+ - 'python/mozboot/**/*android*'
+ toolchain-artifact: project/gecko/android-sdk/android-sdk-linux.tar.zst
+ toolchain-alias: android-sdk-linux
+ fetches:
+ toolchain:
+ # Aliases aren't allowed for toolchains depending on toolchains.
+ - linux64-jdk-repack
+
+linux64-android-emulator-linux-repack:
+ description: "Android Emulator (Linux) repack toolchain build"
+ treeherder:
+ symbol: TL(android-emulator-linux)
+ run:
+ script: repack-android-emulator-linux.sh
+ resources:
+ - 'python/mozboot/**/*android*'
+ toolchain-artifact: project/gecko/android-emulator/android-emulator-linux.tar.zst
+ toolchain-alias: android-emulator-linux
+ fetches:
+ toolchain:
+ # Aliases aren't allowed for toolchains depending on toolchains.
+ - linux64-jdk-repack
+
+linux64-android-ndk-linux-repack:
+ description: "Android NDK (Linux) repack toolchain build"
+ treeherder:
+ symbol: TL(android-ndk-linux)
+ run:
+ script: repack-android-ndk-linux.sh
+ resources:
+ - 'python/mozboot/**/*android*'
+ toolchain-artifact: project/gecko/android-ndk/android-ndk.tar.zst
+ toolchain-alias: android-ndk-linux
+
+linux64-android-gradle-dependencies:
+ description: "Android Gradle dependencies toolchain task"
+ treeherder:
+ symbol: TL(gradle-dependencies)
+ worker:
+ env:
+ GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-online"
+ ANDROID_SDK_ROOT: "/builds/worker/fetches/android-sdk-linux"
+ max-run-time: 2700
+ run:
+ script: android-gradle-dependencies.sh
+ sparse-profile: null
+ resources:
+ - 'taskcluster/scripts/misc/android-gradle-dependencies/**'
+ - '*.gradle'
+ - 'mobile/android/**/*.gradle'
+ - 'mobile/android/config/mozconfigs/android-arm-gradle-dependencies/**'
+ - 'mobile/android/config/mozconfigs/common*'
+ - 'mobile/android/gradle.configure'
+ - 'mobile/android/android-components/plugins/dependencies/src/main/java/DependenciesPlugin.kt'
+ - 'mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt'
+ - 'mobile/android/fenix/plugins/fenixdependencies/src/main/java/FenixDependenciesPlugin.kt'
+ - 'mobile/android/focus-android/plugins/focusdependencies/src/main/java/FocusDependenciesPlugin.kt'
+ toolchain-artifact: public/build/android-gradle-dependencies.tar.zst
+ toolchain-alias: android-gradle-dependencies
+ fetches:
+ fetch:
+ - sonatype-nexus
+ # Nexus needs Java 8
+ - jdk-8-linux64
+ toolchain:
+ # Aliases aren't allowed for toolchains depending on toolchains.
+ - linux64-android-sdk-linux-repack
+ - linux64-jdk-repack
+ - linux64-node
+
+linux64-android-gradle-dependencies-lite:
+ description: "Android Lite Gradle dependencies toolchain task"
+ treeherder:
+ symbol: TL(gradle-dependencies-lite)
+ worker:
+ env:
+ GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-online"
+ run:
+ script: android-gradle-dependencies-lite.sh
+ sparse-profile: null
+ resources:
+ - 'taskcluster/scripts/misc/android-gradle-dependencies/**'
+ - '*.gradle'
+ - 'mobile/android/**/*.gradle'
+ - 'mobile/android/config/mozconfigs/android-arm-gradle-dependencies/**'
+ - 'mobile/android/config/mozconfigs/common*'
+ - 'mobile/android/gradle.configure'
+ - 'mobile/android/android-components/plugins/dependencies/src/main/java/DependenciesPlugin.kt'
+ - 'mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt'
+ toolchain-artifact: public/build/android-gradle-dependencies.tar.zst
+ toolchain-alias: android-gradle-dependencies-lite
+ fetches:
+ fetch:
+ - sonatype-nexus
+ # Nexus needs Java 8
+ - jdk-8-linux64
+ toolchain:
+ # Aliases aren't allowed for toolchains depending on toolchains.
+ - linux64-android-sdk-linux-repack
+ - linux64-jdk-repack
+ - linux64-node
diff --git a/taskcluster/ci/toolchain/cargo-vet.yml b/taskcluster/kinds/toolchain/cargo-vet.yml
index 3f1cb9756a..3f1cb9756a 100644
--- a/taskcluster/ci/toolchain/cargo-vet.yml
+++ b/taskcluster/kinds/toolchain/cargo-vet.yml
diff --git a/taskcluster/ci/toolchain/cbindgen.yml b/taskcluster/kinds/toolchain/cbindgen.yml
index 69d34b6f3b..69d34b6f3b 100644
--- a/taskcluster/ci/toolchain/cbindgen.yml
+++ b/taskcluster/kinds/toolchain/cbindgen.yml
diff --git a/taskcluster/ci/toolchain/clang-tidy.yml b/taskcluster/kinds/toolchain/clang-tidy.yml
index 02d089eca3..02d089eca3 100644
--- a/taskcluster/ci/toolchain/clang-tidy.yml
+++ b/taskcluster/kinds/toolchain/clang-tidy.yml
diff --git a/taskcluster/ci/toolchain/clang.yml b/taskcluster/kinds/toolchain/clang.yml
index a9cf04e0b9..a9cf04e0b9 100644
--- a/taskcluster/ci/toolchain/clang.yml
+++ b/taskcluster/kinds/toolchain/clang.yml
diff --git a/taskcluster/ci/toolchain/compiler-rt.yml b/taskcluster/kinds/toolchain/compiler-rt.yml
index 631024fbf9..631024fbf9 100644
--- a/taskcluster/ci/toolchain/compiler-rt.yml
+++ b/taskcluster/kinds/toolchain/compiler-rt.yml
diff --git a/taskcluster/ci/toolchain/dist-toolchains.yml b/taskcluster/kinds/toolchain/dist-toolchains.yml
index 31b60918e6..31b60918e6 100644
--- a/taskcluster/ci/toolchain/dist-toolchains.yml
+++ b/taskcluster/kinds/toolchain/dist-toolchains.yml
diff --git a/taskcluster/ci/toolchain/dump-syms.yml b/taskcluster/kinds/toolchain/dump-syms.yml
index 05aee5e352..05aee5e352 100644
--- a/taskcluster/ci/toolchain/dump-syms.yml
+++ b/taskcluster/kinds/toolchain/dump-syms.yml
diff --git a/taskcluster/ci/toolchain/fix-stacks.yml b/taskcluster/kinds/toolchain/fix-stacks.yml
index e11bf0b166..e11bf0b166 100644
--- a/taskcluster/ci/toolchain/fix-stacks.yml
+++ b/taskcluster/kinds/toolchain/fix-stacks.yml
diff --git a/taskcluster/ci/toolchain/gcc.yml b/taskcluster/kinds/toolchain/gcc.yml
index 2a09c37e6c..2a09c37e6c 100644
--- a/taskcluster/ci/toolchain/gcc.yml
+++ b/taskcluster/kinds/toolchain/gcc.yml
diff --git a/taskcluster/ci/toolchain/geckodriver.yml b/taskcluster/kinds/toolchain/geckodriver.yml
index 252befa3fb..252befa3fb 100644
--- a/taskcluster/ci/toolchain/geckodriver.yml
+++ b/taskcluster/kinds/toolchain/geckodriver.yml
diff --git a/taskcluster/ci/toolchain/gn.yml b/taskcluster/kinds/toolchain/gn.yml
index d12b0f19c5..d12b0f19c5 100644
--- a/taskcluster/ci/toolchain/gn.yml
+++ b/taskcluster/kinds/toolchain/gn.yml
diff --git a/taskcluster/ci/toolchain/grcov.yml b/taskcluster/kinds/toolchain/grcov.yml
index 15fed68732..15fed68732 100644
--- a/taskcluster/ci/toolchain/grcov.yml
+++ b/taskcluster/kinds/toolchain/grcov.yml
diff --git a/taskcluster/ci/toolchain/hostutils.yml b/taskcluster/kinds/toolchain/hostutils.yml
index d9974e917a..d9974e917a 100644
--- a/taskcluster/ci/toolchain/hostutils.yml
+++ b/taskcluster/kinds/toolchain/hostutils.yml
diff --git a/taskcluster/ci/toolchain/kind.yml b/taskcluster/kinds/toolchain/kind.yml
index 524bb20670..524bb20670 100644
--- a/taskcluster/ci/toolchain/kind.yml
+++ b/taskcluster/kinds/toolchain/kind.yml
diff --git a/taskcluster/ci/toolchain/libunwind.yml b/taskcluster/kinds/toolchain/libunwind.yml
index 5a1972f3f6..5a1972f3f6 100644
--- a/taskcluster/ci/toolchain/libunwind.yml
+++ b/taskcluster/kinds/toolchain/libunwind.yml
diff --git a/taskcluster/ci/toolchain/llvm-symbolizer.yml b/taskcluster/kinds/toolchain/llvm-symbolizer.yml
index 11b63397c2..11b63397c2 100644
--- a/taskcluster/ci/toolchain/llvm-symbolizer.yml
+++ b/taskcluster/kinds/toolchain/llvm-symbolizer.yml
diff --git a/taskcluster/ci/toolchain/macos-sdk.yml b/taskcluster/kinds/toolchain/macos-sdk.yml
index 194a1ee20a..194a1ee20a 100644
--- a/taskcluster/ci/toolchain/macos-sdk.yml
+++ b/taskcluster/kinds/toolchain/macos-sdk.yml
diff --git a/taskcluster/ci/toolchain/mingw.yml b/taskcluster/kinds/toolchain/mingw.yml
index a14413669f..a14413669f 100644
--- a/taskcluster/ci/toolchain/mingw.yml
+++ b/taskcluster/kinds/toolchain/mingw.yml
diff --git a/taskcluster/ci/toolchain/minidump-stackwalk.yml b/taskcluster/kinds/toolchain/minidump-stackwalk.yml
index f0f9b3e70c..f0f9b3e70c 100644
--- a/taskcluster/ci/toolchain/minidump-stackwalk.yml
+++ b/taskcluster/kinds/toolchain/minidump-stackwalk.yml
diff --git a/taskcluster/ci/toolchain/misc.yml b/taskcluster/kinds/toolchain/misc.yml
index 80356f5be6..63bd1f3c02 100644
--- a/taskcluster/ci/toolchain/misc.yml
+++ b/taskcluster/kinds/toolchain/misc.yml
@@ -45,6 +45,8 @@ linux64-cctools-port:
symbol: TL(cctools-clang)
run:
script: build-cctools-port.sh
+ resources:
+ - taskcluster/scripts/misc/cctools.patch
toolchain-artifact: public/build/cctools.tar.zst
fetches:
toolchain:
diff --git a/taskcluster/ci/toolchain/nasm.yml b/taskcluster/kinds/toolchain/nasm.yml
index 866aa5b0f6..866aa5b0f6 100644
--- a/taskcluster/ci/toolchain/nasm.yml
+++ b/taskcluster/kinds/toolchain/nasm.yml
diff --git a/taskcluster/ci/toolchain/node.yml b/taskcluster/kinds/toolchain/node.yml
index 6ab3511aab..6ab3511aab 100644
--- a/taskcluster/ci/toolchain/node.yml
+++ b/taskcluster/kinds/toolchain/node.yml
diff --git a/taskcluster/ci/toolchain/pkgconf.yml b/taskcluster/kinds/toolchain/pkgconf.yml
index c97ead7acc..c97ead7acc 100644
--- a/taskcluster/ci/toolchain/pkgconf.yml
+++ b/taskcluster/kinds/toolchain/pkgconf.yml
diff --git a/taskcluster/ci/toolchain/python.yml b/taskcluster/kinds/toolchain/python.yml
index e610ee6e4e..e610ee6e4e 100644
--- a/taskcluster/ci/toolchain/python.yml
+++ b/taskcluster/kinds/toolchain/python.yml
diff --git a/taskcluster/ci/toolchain/resourcemonitor.yml b/taskcluster/kinds/toolchain/resourcemonitor.yml
index f4ef9a41c4..f4ef9a41c4 100644
--- a/taskcluster/ci/toolchain/resourcemonitor.yml
+++ b/taskcluster/kinds/toolchain/resourcemonitor.yml
diff --git a/taskcluster/ci/toolchain/rust-size.yml b/taskcluster/kinds/toolchain/rust-size.yml
index 09963589a6..09963589a6 100644
--- a/taskcluster/ci/toolchain/rust-size.yml
+++ b/taskcluster/kinds/toolchain/rust-size.yml
diff --git a/taskcluster/ci/toolchain/rust.yml b/taskcluster/kinds/toolchain/rust.yml
index 437c497d71..e1e2778f68 100644
--- a/taskcluster/ci/toolchain/rust.yml
+++ b/taskcluster/kinds/toolchain/rust.yml
@@ -11,12 +11,12 @@ job-defaults:
script: repack_rust.py
toolchain-artifact: public/build/rustc.tar.zst
-linux64-rust-1.74:
+linux64-rust-1.76:
treeherder:
- symbol: TL(rust-1.74)
+ symbol: TL(rust-1.76)
run:
arguments: [
- '--channel', '1.74.0',
+ '--channel', '1.76.0',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'i686-unknown-linux-gnu',
diff --git a/taskcluster/ci/toolchain/sccache.yml b/taskcluster/kinds/toolchain/sccache.yml
index 6fa9ab46a5..6fa9ab46a5 100644
--- a/taskcluster/ci/toolchain/sccache.yml
+++ b/taskcluster/kinds/toolchain/sccache.yml
diff --git a/taskcluster/ci/toolchain/sysroot.yml b/taskcluster/kinds/toolchain/sysroot.yml
index e4479d16e0..e4479d16e0 100644
--- a/taskcluster/ci/toolchain/sysroot.yml
+++ b/taskcluster/kinds/toolchain/sysroot.yml
diff --git a/taskcluster/ci/trigger-comm-central/kind.yml b/taskcluster/kinds/trigger-comm-central/kind.yml
index 0b6dfb2c64..0b6dfb2c64 100644
--- a/taskcluster/ci/trigger-comm-central/kind.yml
+++ b/taskcluster/kinds/trigger-comm-central/kind.yml
diff --git a/taskcluster/kinds/ui-test-apk/kind.yml b/taskcluster/kinds/ui-test-apk/kind.yml
new file mode 100644
index 0000000000..d80d5139b7
--- /dev/null
+++ b/taskcluster/kinds/ui-test-apk/kind.yml
@@ -0,0 +1,354 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.test_apk:transforms
+ # While not a build, the build optimization works well for these tasks.
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - toolchain
+ - signing-apk
+
+job-defaults:
+ attributes:
+ build_platform: android
+ build-type: debug
+ retrigger: true
+ fetches:
+ toolchain:
+ - android-sdk-linux
+ optimization:
+ skip-unless-backstop: null
+ worker-type: b-linux-medium-gcp
+ worker:
+ docker-image: {in-tree: android-ui-tests}
+ max-run-time: 7200
+ env:
+ GOOGLE_APPLICATION_CREDENTIALS: '.firebase_token.json'
+ ANDROID_SDK_ROOT: /builds/worker/fetches/android-sdk-linux
+ artifacts:
+ - name: public
+ path: /builds/worker/artifacts
+ type: directory
+ retry-exit-status: [20]
+ treeherder:
+ kind: test
+ tier: 2
+ run:
+ use-caches: false
+ using: run-commands
+ dummy-secrets:
+ - content: "faketoken"
+ path: .adjust_token
+ routes:
+ by-level:
+ '3':
+ - notify.slack-channel.G016BC5FUHJ.on-failed
+ 'default': []
+ scopes:
+ by-level:
+ '3':
+ - queue:route:notify.slack-channel.G016BC5FUHJ.on-failed
+ - notify:slack-channel:G016BC5FUHJ
+ 'default': []
+ extra:
+ notify:
+ by-level:
+ '3':
+ slackText: 'https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId} | ${task.metadata.name} | ${task.metadata.source}'
+ slackBlocks: |
+ [
+ {
+ "type": "header",
+ "text": {
+ "type": "plain_text",
+ "text": "firefox-android :firefox: ${task.metadata.name} :x:\n "
+ }
+ },
+ {
+ "type": "divider"
+ },
+ {
+ "type": "section",
+ "text": {
+ "type": "mrkdwn",
+ "text": "*Task*: <https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId}|Taskcluster>"
+ }
+ },
+ {
+ "type": "section",
+ "text": {
+ "type": "mrkdwn",
+ "text": "*Owner*: ${task.metadata.owner}"
+ }
+ },
+ {
+ "type": "section",
+ "text": {
+ "type": "mrkdwn",
+ "text": "*Source*: <${task.payload.env.GECKO_BASE_REPOSITORY}/rev/${task.payload.env.GECKO_HEAD_REV}|Commit> :hg:"
+ }
+ },
+ {
+ "type": "divider"
+ },
+ {
+ "type": "context",
+ "elements": [
+ {
+ "type": "mrkdwn",
+ "text": ":testops-notify: created by <https://mozilla-hub.atlassian.net/wiki/spaces/MTE/overview|Mobile Test Engineering>"
+ }
+ ]
+ }
+ ]
+ 'default': {}
+
+jobs:
+ focus-arm-debug:
+ attributes:
+ build-type: focus-debug-firebase
+ shipping-product: focus
+ description: 'Focus UI tests with firebase'
+ run:
+ secrets:
+ - name: project/mobile/firefox-android/focus-android/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ pre-commands:
+ - ["cd", "mobile/android/focus-android"]
+ commands:
+ - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
+ - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
+ - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm64-v8a, app.apk, --apk_test, android-test.apk]
+ dependencies:
+ # key is arbitrary, the value corresponds to <kind name>-<build-name>
+ signed-apk-debug-apk: signing-apk-focus-debug
+ signed-apk-android-test: signing-apk-focus-android-test-debug
+ treeherder:
+ platform: 'focus-ui-test/opt'
+ symbol: focus-debug(ui-test-arm)
+ worker:
+ env:
+ GOOGLE_PROJECT: 'moz-focus-android'
+ focus-arm-nightly:
+ attributes:
+ build-type: focus-nightly-firebase
+ shipping-product: focus
+ description: 'UI tests on Nightly with firebase'
+ dependencies:
+ signed-apk-debug-apk: signing-apk-focus-nightly-firebase
+ signed-apk-android-test: signing-apk-focus-android-test-nightly
+ run-on-projects: [trunk]
+ run:
+ secrets:
+ - name: project/mobile/firefox-android/focus-android/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ pre-commands:
+ - ["cd", "mobile/android/focus-android"]
+ commands:
+ - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
+ - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
+ - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-start-test, app.apk, --apk_test, android-test.apk]
+ treeherder:
+ platform: 'focus-ui-test/opt'
+ symbol: focus-nightly(ui-test-arm-nightly)
+ worker:
+ env:
+ GOOGLE_PROJECT: 'moz-focus-android'
+ focus-arm-beta:
+ attributes:
+ build-type: focus-beta-firebase
+ shipping-product: focus
+ description: 'UI tests on Beta with firebase'
+ dependencies:
+ signed-apk-debug-apk: signing-apk-focus-beta-firebase
+ signed-apk-android-test: signing-apk-focus-android-test-beta
+ run-on-projects: [release]
+ run:
+ secrets:
+ - name: project/mobile/firefox-android/focus-android/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ pre-commands:
+ - ["cd", "mobile/android/focus-android"]
+ commands:
+ - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
+ - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
+ - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-beta, app.apk, --apk_test, android-test.apk]
+ treeherder:
+ platform: 'focus-ui-test/opt'
+ symbol: focus-beta(ui-test-arm-beta)
+ worker:
+ env:
+ GOOGLE_PROJECT: 'moz-focus-android'
+ fenix-arm-debug:
+ attributes:
+ build-type: fenix-debug-firebase
+ shipping-product: fenix
+ description: Test Fenix
+ dependencies:
+ signed-apk-debug-apk: signing-apk-fenix-debug
+ signed-apk-android-test: signing-apk-fenix-android-test-debug
+ run:
+ secrets:
+ - name: project/mobile/firefox-android/fenix/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ pre-commands:
+ - ["cd", "mobile/android/fenix"]
+ commands:
+ - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
+ - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
+ - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm64-v8a, app.apk, --apk_test, android-test.apk]
+ treeherder:
+ platform: 'fenix-ui-test/opt'
+ symbol: fenix-debug(ui-test-arm)
+ worker:
+ env:
+ GOOGLE_PROJECT: moz-fenix
+ screenshots-arm:
+ attributes:
+ build-type: fenix-debug-screenshots
+ shipping-product: fenix
+ screenshots: true
+ cron: true
+ description: Run UI screenshots tests to keep them up to date
+ dependencies:
+ signed-apk-debug-apk: signing-apk-fenix-debug
+ signed-apk-android-test: signing-apk-fenix-android-test-debug
+ run:
+ secrets:
+ - name: project/mobile/firefox-android/fenix/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ pre-commands:
+ - ["cd", "mobile/android/fenix"]
+ commands:
+ - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
+ - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
+ - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-screenshots-tests, app.apk, --apk_test, android-test.apk]
+ treeherder:
+ platform: 'fenix-ui-test/opt'
+ symbol: fenix-debug(screenshots-arm)
+ worker:
+ env:
+ GOOGLE_PROJECT: moz-fenix
+ fenix-arm-beta:
+ attributes:
+ build-type: fenix-beta-firebase
+ shipping-product: fenix
+ description: Test Fenix
+ dependencies:
+ signed-apk-debug-apk: signing-apk-fenix-beta-firebase
+ signed-apk-android-test: signing-apk-fenix-android-test-beta
+ run-on-projects: [release]
+ run:
+ secrets:
+ - name: project/mobile/firefox-android/fenix/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ pre-commands:
+ - ["cd", "mobile/android/fenix"]
+ commands:
+ - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
+ - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
+ - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-beta, app.apk, --apk_test, android-test.apk]
+ treeherder:
+ platform: 'fenix-ui-test/opt'
+ symbol: fenix-beta(ui-test-arm-beta)
+ worker:
+ env:
+ GOOGLE_PROJECT: moz-fenix
+ fenix-arm-nightly:
+ attributes:
+ build-type: fenix-nightly-firebase
+ shipping-product: fenix
+ description: Test Fenix
+ dependencies:
+ signed-apk-debug-apk: signing-apk-fenix-nightly-firebase
+ signed-apk-android-test: signing-apk-fenix-android-test-nightly
+ run-on-projects: [trunk]
+ run:
+ secrets:
+ - name: project/mobile/firefox-android/fenix/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ pre-commands:
+ - ["cd", "mobile/android/fenix"]
+ commands:
+ - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
+ - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
+ - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-start-test, app.apk, --apk_test, android-test.apk]
+ treeherder:
+ platform: 'fenix-ui-test/opt'
+ symbol: fenix-nightly(ui-test-arm-nightly)
+ worker:
+ env:
+ GOOGLE_PROJECT: moz-fenix
+ fenix-legacy-arm:
+ attributes:
+ build-type: fenix-legacy
+ legacy: true
+ shipping-product: fenix
+ description: Run select UI tests on legacy Android devices and API levels
+ dependencies:
+ signed-apk-debug-apk: signing-apk-fenix-debug
+ signed-apk-android-test: signing-apk-fenix-android-test-debug
+ run:
+ secrets:
+ - name: project/mobile/firefox-android/fenix/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ pre-commands:
+ - ["cd", "mobile/android/fenix"]
+ commands:
+ - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
+ - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk]
+ - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-legacy-api-tests, app.apk, --apk_test, android-test.apk]
+ treeherder:
+ platform: 'fenix-ui-test/opt'
+ symbol: fenix-debug(legacy-arm)
+ worker:
+ env:
+ GOOGLE_PROJECT: moz-fenix
+
+ fenix-robo-arm-debug:
+ attributes:
+ build-type: fenix-robo
+ shipping-product: fenix
+ description: Run Robo test on ARM devices
+ dependencies:
+ signed-apk-debug-apk: signing-apk-fenix-debug
+ run:
+ secrets:
+ - name: project/mobile/firefox-android/fenix/firebase
+ key: firebaseToken
+ path: .firebase_token.json
+ json: true
+ pre-commands:
+ - ["cd", "mobile/android/fenix"]
+ commands:
+ - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk]
+ - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-robo-test, app.apk]
+ treeherder:
+ platform: 'fenix-ui-test/opt'
+ symbol: fenix-debug(robo-arm)
+ worker:
+ env:
+ GOOGLE_PROJECT: moz-fenix
diff --git a/taskcluster/kinds/updatebot/kind.yml b/taskcluster/kinds/updatebot/kind.yml
new file mode 100644
index 0000000000..8b6ed560a1
--- /dev/null
+++ b/taskcluster/kinds/updatebot/kind.yml
@@ -0,0 +1,92 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - fetch
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.release_notifications:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+jobs:
+ cron:
+ description: Cron Job for Updatebot
+ run-on-projects: []
+ treeherder:
+ kind: other
+ platform: updatebot/all
+ symbol: cron
+ tier: 1
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {in-tree: updatebot}
+ max-run-time: 4500
+ taskcluster-proxy: true
+ scopes:
+ - secrets:get:project/updatebot/{level}/try-sshkey
+ - secrets:get:project/updatebot/{level}/phabricator-token
+ - secrets:get:project/updatebot/{level}/bugzilla-api-key
+ - secrets:get:project/updatebot/{level}/database-password
+ - secrets:get:project/updatebot/{level}/sentry-url
+ - secrets:get:project/updatebot/{level}/sql-proxy-config
+ - hooks:trigger-hook:project-gecko/in-tree-action-1-generic/*
+ run:
+ using: run-task
+ command: /builds/worker/run.py /builds/worker/checkouts/gecko /builds/worker/updatebot
+ notifications:
+ subject: 'updatebot cron failed'
+ message: 'updatebot cron failed'
+ status-types:
+ - on-failed
+ - on-exception
+ emails: ["tom@mozilla.com", "fbraun@mozilla.com"]
+ fetches:
+ toolchain:
+ - linux64-rust
+ - linux64-cargo-vet
+
+ cron-win:
+ description: Cron Job for Updatebot (Windows)
+ run-on-projects: []
+ treeherder:
+ kind: other
+ platform: updatebot/all
+ symbol: w-cron
+ tier: 1
+ worker-type: b-win2022
+ worker:
+ max-run-time: 4500
+ taskcluster-proxy: true
+ # begin _GENERATE_DEPOT_TOOLS_BINARIES_
+ # artifacts:
+ # - type: directory
+ # name: public/depot_tools.zip
+ # path: build\src\obj-build\depot_tools
+ # end _GENERATE_DEPOT_TOOLS_BINARIES_
+ env:
+ TOOLTOOL_MANIFEST: "taskcluster/kinds/updatebot/tooltool-manifests/updatebot.manifest"
+ MSYSTEM: "MINGW64"
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: ./taskcluster/docker/updatebot/windows-setup.sh
+ tooltool-downloads: internal
+ scopes:
+ - secrets:get:project/updatebot/{level}/try-sshkey
+ - secrets:get:project/updatebot/{level}/phabricator-token
+ - secrets:get:project/updatebot/{level}/bugzilla-api-key
+ - secrets:get:project/updatebot/{level}/database-password
+ - secrets:get:project/updatebot/{level}/sentry-url
+ - secrets:get:project/updatebot/{level}/sql-proxy-config
+ - hooks:trigger-hook:project-gecko/in-tree-action-1-generic/*
+ fetches:
+ fetch:
+ - cloud-sql-proxy-1.25.0
+ - php-windows-7.4.24
+ - arcanist
+ - depot_tools
diff --git a/taskcluster/ci/updatebot/moz.build b/taskcluster/kinds/updatebot/moz.build
index 315dc32600..315dc32600 100644
--- a/taskcluster/ci/updatebot/moz.build
+++ b/taskcluster/kinds/updatebot/moz.build
diff --git a/taskcluster/ci/updatebot/tooltool-manifests/updatebot.manifest b/taskcluster/kinds/updatebot/tooltool-manifests/updatebot.manifest
index f284d80914..f284d80914 100644
--- a/taskcluster/ci/updatebot/tooltool-manifests/updatebot.manifest
+++ b/taskcluster/kinds/updatebot/tooltool-manifests/updatebot.manifest
diff --git a/taskcluster/ci/upload-generated-sources-dummy/kind.yml b/taskcluster/kinds/upload-generated-sources-dummy/kind.yml
index 56e6762839..56e6762839 100644
--- a/taskcluster/ci/upload-generated-sources-dummy/kind.yml
+++ b/taskcluster/kinds/upload-generated-sources-dummy/kind.yml
diff --git a/taskcluster/kinds/upload-generated-sources/kind.yml b/taskcluster/kinds/upload-generated-sources/kind.yml
new file mode 100644
index 0000000000..8ae78b0b28
--- /dev/null
+++ b/taskcluster/kinds/upload-generated-sources/kind.yml
@@ -0,0 +1,42 @@
+# 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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - taskgraph.transforms.from_deps
+ - gecko_taskgraph.transforms.upload_generated_sources
+ - gecko_taskgraph.transforms.job
+ - gecko_taskgraph.transforms.task
+
+kind-dependencies:
+ - build
+
+only-for-attributes:
+ - nightly
+ - shippable
+ - upload-generated-sources
+
+not-for-build-platforms:
+ - macosx64-shippable/opt
+ - macosx64-devedition/opt
+
+jobs:
+ upload-generated-sources:
+ description: Upload generated source files from build
+ from-deps:
+ group-by: single-with-filters
+ worker-type: b-linux-medium-gcp
+ treeherder:
+ symbol: Ugs
+ kind: build
+ worker:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 600
+ run:
+ using: mach
+ mach: {artifact-reference: "python --virtualenv upload-generated-sources build/upload_generated_sources.py <build/public/build/target.generated-files.tar.gz>"}
+ sparse-profile: upload-generated-sources
+ scopes:
+ - secrets:get:project/releng/gecko/build/level-{level}/gecko-generated-sources-upload
diff --git a/taskcluster/ci/upload-symbols-dummy/kind.yml b/taskcluster/kinds/upload-symbols-dummy/kind.yml
index d9202ef373..d9202ef373 100644
--- a/taskcluster/ci/upload-symbols-dummy/kind.yml
+++ b/taskcluster/kinds/upload-symbols-dummy/kind.yml
diff --git a/taskcluster/ci/upload-symbols/kind.yml b/taskcluster/kinds/upload-symbols/kind.yml
index cf6875520a..cf6875520a 100644
--- a/taskcluster/ci/upload-symbols/kind.yml
+++ b/taskcluster/kinds/upload-symbols/kind.yml
diff --git a/taskcluster/kinds/valgrind/kind.yml b/taskcluster/kinds/valgrind/kind.yml
new file mode 100644
index 0000000000..068fd572a1
--- /dev/null
+++ b/taskcluster/kinds/valgrind/kind.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/.
+---
+loader: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_schedules:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ attributes:
+ retrigger: true
+ use-python: default
+
+jobs:
+ linux64-valgrind-qr/opt-swr:
+ description: "Linux64 Valgrind Opt WebRender"
+ index:
+ product: firefox
+ job-name: linux64-valgrind-qr/opt-swr
+ treeherder:
+ platform: linux64-qr/opt
+ symbol: V-swr
+ kind: build
+ tier: 1
+ worker-type: t-linux-kvm
+ worker:
+ docker-image: {in-tree: valgrind-build}
+ max-run-time: 72000
+ env:
+ NEED_XVFB: "true"
+ PERFHERDER_EXTRA_OPTIONS: valgrind
+ run:
+ using: mozharness
+ actions: [get-secrets, build, valgrind-test]
+ custom-build-variant-cfg: valgrind
+ config:
+ - builds/releng_base_firefox.py
+ - builds/releng_base_linux_64_builds.py
+ extra-config:
+ extra_prefs: [gfx.webrender.software=true]
+ script: "mozharness/scripts/fx_desktop_build.py"
+ secrets: true
+ tooltool-downloads: public
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-rust
+ - linux64-cbindgen
+ - linux64-dump_syms
+ - linux64-sccache
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ optimization:
+ skip-unless-expanded: null
diff --git a/taskcluster/ci/webrender/kind.yml b/taskcluster/kinds/webrender/kind.yml
index 9443a096c1..9443a096c1 100644
--- a/taskcluster/ci/webrender/kind.yml
+++ b/taskcluster/kinds/webrender/kind.yml
diff --git a/taskcluster/scripts/builder/build-android.sh b/taskcluster/scripts/builder/build-android.sh
index fd2ecd0e2b..fc1ccca7e4 100755
--- a/taskcluster/scripts/builder/build-android.sh
+++ b/taskcluster/scripts/builder/build-android.sh
@@ -19,7 +19,7 @@ ac_add_options --without-google-safebrowsing-api-keyfile
ac_add_options --disable-nodejs
unset NODEJS
-export GRADLE_MAVEN_REPOSITORIES="file://$MOZ_FETCHES_DIR/geckoview","file://$MOZ_FETCHES_DIR/android-gradle-dependencies/mozilla","file://$MOZ_FETCHES_DIR/android-gradle-dependencies/google","file://$MOZ_FETCHES_DIR/android-gradle-dependencies/central","file://$MOZ_FETCHES_DIR/android-gradle-dependencies/gradle-plugins","file:///$MOZ_FETCHES_DIR/plugins.gradle.org/m2"
+export GRADLE_MAVEN_REPOSITORIES="file://$MOZ_FETCHES_DIR/geckoview","file://$MOZ_FETCHES_DIR/android-gradle-dependencies/mozilla","file://$MOZ_FETCHES_DIR/android-gradle-dependencies/google","file://$MOZ_FETCHES_DIR/android-gradle-dependencies/central","file://$MOZ_FETCHES_DIR/android-gradle-dependencies/gradle-plugins","file:///$MOZ_FETCHES_DIR/android-gradle-dependencies/plugins.gradle.org/m2"
EOF
export MOZCONFIG=$mozconfig
GRADLE=$MOZ_FETCHES_DIR/android-gradle-dependencies/gradle-dist/bin/gradle
diff --git a/taskcluster/scripts/lib/testrail_api.py b/taskcluster/scripts/lib/testrail_api.py
index 44474ebe9d..786ae8552c 100644
--- a/taskcluster/scripts/lib/testrail_api.py
+++ b/taskcluster/scripts/lib/testrail_api.py
@@ -37,82 +37,98 @@ from testrail_conn import APIClient
class TestRail:
def __init__(self, host, username, password):
+ if not all([host, username, password]):
+ raise ValueError("TestRail host, username, and password must be provided.")
self.client = APIClient(host)
self.client.user = username
self.client.password = password
# Public Methods
- def create_milestone(self, testrail_project_id, title, description):
+ def create_milestone(self, project_id, title, description):
+ if not all([project_id, title, description]):
+ raise ValueError("Project ID, title, and description must be provided.")
data = {"name": title, "description": description}
- return self.client.send_post(f"add_milestone/{testrail_project_id}", data)
-
- def create_milestone_and_test_runs(
- self, project_id, milestone_name, milestone_description, devices, test_suite_id
- ):
- # Create milestone
- milestone_id = self._retry_api_call(
- self.create_milestone, project_id, milestone_name, milestone_description
- )["id"]
-
- # Create test runs for each device
- for device in devices:
- test_run_id = self._retry_api_call(
- self.create_test_run, project_id, milestone_id, device, test_suite_id
- )["id"]
- self._retry_api_call(
- self.update_test_cases_to_passed, project_id, test_run_id, test_suite_id
- )
-
- return milestone_id
+ return self.client.send_post(f"add_milestone/{project_id}", data)
def create_test_run(
- self, testrail_project_id, testrail_milestone_id, name_run, testrail_suite_id
+ self,
+ project_id,
+ milestone_id,
+ test_run_name,
+ suite_id,
):
+ if not all([project_id, milestone_id, test_run_name, suite_id]):
+ raise ValueError(
+ "Project ID, milestone ID, test run name, and suite ID must be provided."
+ )
data = {
- "name": name_run,
- "milestone_id": testrail_milestone_id,
- "suite_id": testrail_suite_id,
+ "name": test_run_name,
+ "milestone_id": milestone_id,
+ "suite_id": suite_id,
}
- return self.client.send_post(f"add_run/{testrail_project_id}", data)
-
- def does_milestone_exist(self, testrail_project_id, milestone_name):
- num_of_milestones_to_check = 10 # check last 10 milestones
- milestones = self._get_milestones(
- testrail_project_id
- ) # returns reverse chronological order
- for milestone in milestones[
- -num_of_milestones_to_check:
- ]: # check last 10 api responses
- if milestone_name == milestone["name"]:
- return True
- return False
-
- def update_test_cases_to_passed(
- self, testrail_project_id, testrail_run_id, testrail_suite_id
- ):
- test_cases = self._get_test_cases(testrail_project_id, testrail_suite_id)
+ return self.client.send_post(f"add_run/{project_id}", data)
+
+ def does_milestone_exist(self, project_id, milestone_name, num_of_milestones=10):
+ if not all([project_id, milestone_name]):
+ raise ValueError("Project ID and milestone name must be provided.")
+ # returns reverse chronological order of milestones, check last 10 milestones
+ milestones = self._get_milestones(project_id)[-num_of_milestones:]
+ return any(milestone_name == milestone["name"] for milestone in milestones)
+
+ def update_test_run_tests(self, test_run_id, test_status):
+ if not all([test_run_id, test_status]):
+ raise ValueError("Test run ID and test status must be provided.")
+ tests = self._get_tests(test_run_id)
data = {
"results": [
- {"case_id": test_case["id"], "status_id": 1} for test_case in test_cases
+ {"test_id": test["id"], "status_id": test_status} for test in tests
]
}
- return self._update_test_run_results(testrail_run_id, data)
+ return self.client.send_post(f"add_results/{test_run_id}", data)
# Private Methods
- def _get_test_cases(self, testrail_project_id, testrail_test_suite_id):
- return self.client.send_get(
- f"get_cases/{testrail_project_id}&suite_id={testrail_test_suite_id}"
- )
-
- def _update_test_run_results(self, testrail_run_id, data):
- return self.client.send_post(f"add_results_for_cases/{testrail_run_id}", data)
-
- def _get_milestones(self, testrail_project_id):
- return self.client.send_get(f"get_milestones/{testrail_project_id}")
+ def _get_test_cases(self, project_id, suite_id):
+ if not all([project_id, suite_id]):
+ raise ValueError("Project ID and suite ID must be provided.")
+ return self.client.send_get(f"get_cases/{project_id}&suite_id={suite_id}")[
+ "cases"
+ ]
+
+ def _get_milestone(self, milestone_id):
+ if not milestone_id:
+ raise ValueError("Milestone ID must be provided.")
+ return self.client.send_get(f"get_milestone/{milestone_id}")
+
+ def _get_milestones(self, project_id):
+ if not project_id:
+ raise ValueError("Project ID must be provided.")
+ return self.client.send_get(f"get_milestones/{project_id}")["milestones"]
+
+ def _get_tests(self, test_run_id):
+ if not test_run_id:
+ raise ValueError("Test run ID must be provided.")
+ return self.client.send_get(f"get_tests/{test_run_id}")["tests"]
+
+ def _get_test_run(self, test_run_id):
+ if not test_run_id:
+ raise ValueError("Test run ID must be provided.")
+ return self.client.send_get(f"get_run/{test_run_id}")
+
+ def _get_test_runs(self, project_id):
+ if not project_id:
+ raise ValueError("Project ID must be provided.")
+ return self.client.send_get(f"get_runs/{project_id}")["runs"]
+
+ def _get_test_run_results(self, test_run_id):
+ if not test_run_id:
+ raise ValueError("Test run ID must be provided.")
+ return self.client.send_get(f"get_results_for_run/{test_run_id}")["results"]
def _retry_api_call(self, api_call, *args, max_retries=3, delay=5):
+ if not all([api_call, args]):
+ raise ValueError("API call and arguments must be provided.")
"""
Retries the given API call up to max_retries times with a delay between attempts.
diff --git a/taskcluster/scripts/misc/afl-nyx.patch b/taskcluster/scripts/misc/afl-nyx.patch
index 94a1bbb31d..7a8a55b975 100644
--- a/taskcluster/scripts/misc/afl-nyx.patch
+++ b/taskcluster/scripts/misc/afl-nyx.patch
@@ -17,6 +17,12 @@ index 988e536e..5e9870c0 100644
/* Do not change this unless you really know what you are doing. */
+commit e46fac6063f7b0b6eca8e140b10c3a107deb0a0f
+Author: Christian Holler (:decoder) <choller@mozilla.com>
+Date: Wed Mar 6 10:19:52 2024 +0100
+
+ Fix delayed pcmap writing for code coverage with pc-table
+
diff --git a/instrumentation/afl-compiler-rt.o.c b/instrumentation/afl-compiler-rt.o.c
index caa3c3a8..76ceb451 100644
--- a/instrumentation/afl-compiler-rt.o.c
@@ -51,3 +57,26 @@ index caa3c3a8..76ceb451 100644
+ }
if (__afl_debug) {
+
+commit 58206a3180479416e14ea324607be71ee69caa6f
+Author: Jesse Schwartzentruber <truber@mozilla.com>
+Date: Wed Apr 17 14:40:41 2024 -0400
+
+ Set explicit visibility on shared memory variables.
+
+diff --git a/src/afl-cc.c b/src/afl-cc.c
+index dd4fb4ea..57089ae0 100644
+--- a/src/afl-cc.c
++++ b/src/afl-cc.c
+@@ -1591,8 +1591,10 @@ void add_defs_persistent_mode(aflcc_state_t *aflcc) {
+ insert_param(aflcc,
+ "-D__AFL_FUZZ_INIT()="
+ "int __afl_sharedmem_fuzzing = 1;"
+- "extern unsigned int *__afl_fuzz_len;"
+- "extern unsigned char *__afl_fuzz_ptr;"
++ "extern __attribute__((visibility(\"default\"))) "
++ "unsigned int *__afl_fuzz_len;"
++ "extern __attribute__((visibility(\"default\"))) "
++ "unsigned char *__afl_fuzz_ptr;"
+ "unsigned char __afl_fuzz_alt[1048576];"
+ "unsigned char *__afl_fuzz_alt_ptr = __afl_fuzz_alt;");
diff --git a/taskcluster/scripts/misc/android-gradle-dependencies/after.sh b/taskcluster/scripts/misc/android-gradle-dependencies/after.sh
index 9943cf2c41..22be14256e 100755
--- a/taskcluster/scripts/misc/android-gradle-dependencies/after.sh
+++ b/taskcluster/scripts/misc/android-gradle-dependencies/after.sh
@@ -10,7 +10,7 @@ set -v
# Package everything up.
pushd $WORKSPACE
-mkdir -p android-gradle-dependencies /builds/worker/artifacts
+mkdir -p /builds/worker/artifacts
# NEXUS_WORK is exported by `before.sh`.
cp -R ${NEXUS_WORK}/storage/mozilla android-gradle-dependencies
diff --git a/taskcluster/scripts/misc/android-gradle-dependencies/before.sh b/taskcluster/scripts/misc/android-gradle-dependencies/before.sh
index 7150731d73..3d1b5809b2 100755
--- a/taskcluster/scripts/misc/android-gradle-dependencies/before.sh
+++ b/taskcluster/scripts/misc/android-gradle-dependencies/before.sh
@@ -4,14 +4,30 @@ set -x -e
echo "running as" $(id)
-: WORKSPACE ${WORKSPACE:=/builds/worker/workspace}
+if [[ -z "${WORKSPACE}" ]]; then
+ export WORKSPACE=/builds/worker/workspace
+fi
set -v
+# Download the gradle-python-envs plugin
+# See https://github.com/gradle/plugin-portal-requests/issues/164
+pushd ${WORKSPACE}
+mkdir -p android-gradle-dependencies
+pushd android-gradle-dependencies
+
+PYTHON_ENVS_VERSION="0.0.31"
+
+PYTHON_ENVS_BASE_URL=https://plugins.gradle.org/m2/gradle/plugin/com/jetbrains/python/gradle-python-envs
+
+wget --no-parent --recursive --execute robots=off "${PYTHON_ENVS_BASE_URL}/${PYTHON_ENVS_VERSION}/"
+popd
+popd
+
# Export NEXUS_WORK so that `after.sh` can use it.
-export NEXUS_WORK=/builds/worker/workspace/sonatype-nexus-work
+export NEXUS_WORK=${WORKSPACE}/sonatype-nexus-work
mkdir -p ${NEXUS_WORK}/conf
-cp /builds/worker/workspace/build/src/taskcluster/scripts/misc/android-gradle-dependencies/nexus.xml ${NEXUS_WORK}/conf/nexus.xml
+cp ${WORKSPACE}/build/src/taskcluster/scripts/misc/android-gradle-dependencies/nexus.xml ${NEXUS_WORK}/conf/nexus.xml
RUN_AS_USER=worker $MOZ_FETCHES_DIR/sonatype-nexus/bin/nexus restart
diff --git a/taskcluster/scripts/misc/cctools.patch b/taskcluster/scripts/misc/cctools.patch
index 8e11708465..65e10437dd 100644
--- a/taskcluster/scripts/misc/cctools.patch
+++ b/taskcluster/scripts/misc/cctools.patch
@@ -15,3 +15,17 @@ index bfb67a3..d5b1c67 100644
_deadStripRoots.insert(atom);
}
}
+diff --git a/cctools/ld64/src/ld/code-sign-blobs/blob.h b/cctools/ld64/src/ld/code-sign-blobs/blob.h
+index 54afb2d..c17d19b 100644
+--- a/cctools/ld64/src/ld/code-sign-blobs/blob.h
++++ b/cctools/ld64/src/ld/code-sign-blobs/blob.h
+@@ -181,9 +181,6 @@ public:
+ return NULL;
+ }
+
+- BlobType *clone() const
+- { assert(validateBlob()); return specific(this->BlobCore::clone()); }
+-
+ static BlobType *readBlob(int fd)
+ { return specific(BlobCore::readBlob(fd, _magic, sizeof(BlobType), 0), true); }
+
diff --git a/taskcluster/scripts/misc/fetch-chromium.py b/taskcluster/scripts/misc/fetch-chromium.py
index ab00dac863..89b476a5a3 100644
--- a/taskcluster/scripts/misc/fetch-chromium.py
+++ b/taskcluster/scripts/misc/fetch-chromium.py
@@ -38,30 +38,35 @@ CHROMIUM_INFO = {
"linux": {
"platform": "Linux_x64",
"chromium": "chrome-linux.zip",
+ "dir": "chrome-linux",
"result": "chromium-linux.tar.bz2",
"chromedriver": "chromedriver_linux64.zip",
},
"win32": {
"platform": "Win",
"chromium": "chrome-win.zip",
+ "dir": "chrome-win",
"result": "chromium-win32.tar.bz2",
"chromedriver": "chromedriver_win32.zip",
},
"win64": {
"platform": "Win",
"chromium": "chrome-win.zip",
+ "dir": "chrome-win",
"result": "chromium-win64.tar.bz2",
"chromedriver": "chromedriver_win32.zip",
},
"mac": {
"platform": "Mac",
"chromium": "chrome-mac.zip",
+ "dir": "chrome-mac",
"result": "chromium-mac.tar.bz2",
"chromedriver": "chromedriver_mac64.zip",
},
"mac-arm": {
"platform": "Mac_Arm",
"chromium": "chrome-mac.zip",
+ "dir": "chrome-mac",
"result": "chromium-mac-arm.tar.bz2",
"chromedriver": "chromedriver_mac64.zip",
},
@@ -108,24 +113,11 @@ def fetch_chromium_revision(platform):
return chromium_revision.strip()
-def fetch_chromium_build(platform, revision, zippath):
- """Download a chromium build for a given revision, or the latest."""
+def fetch_chromedriver(platform, revision, chromium_dir):
+ """Get the chromedriver for the given revision and repackage it."""
if not revision:
revision = fetch_chromium_revision(platform)
- download_platform = CHROMIUM_INFO[platform]["platform"]
- download_url = CHROMIUM_BASE_URL.format(
- download_platform, revision, CHROMIUM_INFO[platform]["chromium"]
- )
-
- log("Downloading %s chromium build revision %s..." % (download_platform, revision))
- log(download_url)
- fetch_file(download_url, zippath)
- return revision
-
-
-def fetch_chromedriver(platform, revision, chromium_dir):
- """Get the chromedriver for the given revision and repackage it."""
download_url = CHROMIUM_BASE_URL.format(
CHROMIUM_INFO[platform]["platform"],
revision,
@@ -152,6 +144,7 @@ def fetch_chromedriver(platform, revision, chromium_dir):
raise Exception("Could not find chromedriver binary in %s" % tmppath)
log("Copying chromedriver from: %s to: %s" % (cd_path, chromium_dir))
shutil.copy(cd_path, chromium_dir)
+ return revision
def build_chromium_archive(platform, revision=None):
@@ -173,39 +166,20 @@ def build_chromium_archive(platform, revision=None):
# Make a temporary location for the file
tmppath = tempfile.mkdtemp()
- tmpzip = os.path.join(tmppath, "tmp-chromium.zip")
- revision = fetch_chromium_build(platform, revision, tmpzip)
+ # Create the directory format expected for browsertime setup in taskgraph transform
+ artifact_dir = CHROMIUM_INFO[platform]["dir"]
+ chromium_dir = os.path.join(tmppath, artifact_dir)
+ os.mkdir(chromium_dir)
- # Unpack archive in `tmpzip` to store the revision number and
- # the chromedriver
- unzip(tmpzip, tmppath)
-
- dirs = [
- d
- for d in os.listdir(tmppath)
- if os.path.isdir(os.path.join(tmppath, d)) and d.startswith("chrome-")
- ]
-
- if len(dirs) > 1:
- raise Exception(
- "Too many directories starting with `chrome-` after extracting."
- )
- elif len(dirs) == 0:
- raise Exception(
- "Could not find any directories after extraction of chromium zip."
- )
-
- chromium_dir = os.path.join(tmppath, dirs[0])
+ # Store the revision number and chromedriver
+ revision = fetch_chromedriver(platform, revision, chromium_dir)
revision_file = os.path.join(chromium_dir, ".REVISION")
with open(revision_file, "w+") as f:
f.write(str(revision))
- # Get and store the chromedriver
- fetch_chromedriver(platform, revision, chromium_dir)
-
tar_file = CHROMIUM_INFO[platform]["result"]
- tar_command = ["tar", "cjf", tar_file, "-C", tmppath, dirs[0]]
+ tar_command = ["tar", "cjf", tar_file, "-C", tmppath, artifact_dir]
log("Added revision to %s file." % revision_file)
log("Tarring with the command: %s" % str(tar_command))
diff --git a/taskcluster/scripts/misc/gradle-python-envs.sh b/taskcluster/scripts/misc/gradle-python-envs.sh
deleted file mode 100755
index 5873e3fa91..0000000000
--- a/taskcluster/scripts/misc/gradle-python-envs.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-set -x -e -v
-
-VERSION="$1"
-
-BASE_URL=https://plugins.gradle.org/m2/gradle/plugin/com/jetbrains/python/gradle-python-envs
-
-mkdir -p "${UPLOAD_DIR}"
-wget --no-parent --recursive --execute robots=off "${BASE_URL}/${VERSION}/"
-tar caf "${UPLOAD_DIR}/gradle-python-envs-${VERSION}.tar.zst" plugins.gradle.org
diff --git a/taskcluster/scripts/misc/wasi-sdk.patch b/taskcluster/scripts/misc/wasi-sdk.patch
index b9e26074d1..d151e5ae37 100644
--- a/taskcluster/scripts/misc/wasi-sdk.patch
+++ b/taskcluster/scripts/misc/wasi-sdk.patch
@@ -21,10 +21,10 @@ index d2ccff6..95f395b 100644
-DUNIX:BOOL=ON \
--debug-trycompile
diff --git a/src/wasi-libc/Makefile b/src/wasi-libc/Makefile
-index f350ecb..9a5c940 100644
+index f350ecb..3b73115 100644
--- a/src/wasi-libc/Makefile
+++ b/src/wasi-libc/Makefile
-@@ -308,7 +308,7 @@ ASMFLAGS += --target=$(TARGET_TRIPLE)
+@@ -305,7 +305,7 @@ ASMFLAGS += --target=$(TARGET_TRIPLE)
# TODO: Add -fno-signaling-nans when the compiler supports it.
CFLAGS += -fno-trapping-math
# Add all warnings, but disable a few which occur in third-party code.
@@ -33,23 +33,49 @@ index f350ecb..9a5c940 100644
-Wno-null-pointer-arithmetic \
-Wno-unused-parameter \
-Wno-sign-compare \
-@@ -671,6 +671,9 @@ check-symbols: startup_files libc
+@@ -639,7 +639,7 @@ check-symbols: startup_files libc
+ for undef_sym in $$("$(NM)" --undefined-only "$(SYSROOT_LIB)"/libc.a "$(SYSROOT_LIB)"/libc-*.a "$(SYSROOT_LIB)"/*.o \
+ |grep ' U ' |sed 's/.* U //' |LC_ALL=C sort |uniq); do \
+ grep -q '\<'$$undef_sym'\>' "$(DEFINED_SYMBOLS)" || echo $$undef_sym; \
+- done | grep -v "^__mul" > "$(UNDEFINED_SYMBOLS)"
++ done | grep -E -v "^__mul|__indirect_function_table" > "$(UNDEFINED_SYMBOLS)"
+ grep '^_*imported_wasi_' "$(UNDEFINED_SYMBOLS)" \
+ > "$(SYSROOT_LIB)/libc.imports"
+
+@@ -671,10 +671,16 @@ check-symbols: startup_files libc
@#
@# TODO: Filter out __NO_MATH_ERRNO_ and a few __*WIDTH__ that are new to clang 14.
@# TODO: Filter out __GCC_HAVE_SYNC_COMPARE_AND_SWAP_* that are new to clang 16.
+ @# TODO: Filter out __FPCLASS_* that are new to clang 17.
+ @# TODO: Filter out __FLT128_* that are new to clang 18.
+ @# TODO: Filter out __MEMORY_SCOPE_* that are new to clang 18.
++ @# TODO: Filter out __GCC_(CON|DE)STRUCTIVE_SIZE that are new to clang 19.
@# TODO: clang defined __FLT_EVAL_METHOD__ until clang 15, so we force-undefine it
@# for older versions.
@# TODO: Undefine __wasm_mutable_globals__ and __wasm_sign_ext__, that are new to
-@@ -702,6 +703,9 @@ check-symbols: startup_files libc
+ @# clang 16 for -mcpu=generic.
++ @# TODO: Undefine __wasm_multivalue__ and __wasm_reference_types__, that are new to
++ @# clang 19 for -mcpu=generic.
+ @# TODO: As of clang 16, __GNUC_VA_LIST is #defined without a value.
+ $(CC) $(CFLAGS) "$(SYSROOT_SHARE)/include-all.c" \
+ -isystem $(SYSROOT_INC) \
+@@ -691,6 +697,8 @@ check-symbols: startup_files libc
+ -U__clang_wide_literal_encoding__ \
+ -U__wasm_mutable_globals__ \
+ -U__wasm_sign_ext__ \
++ -U__wasm_multivalue__ \
++ -U__wasm_reference_types__ \
+ -U__GNUC__ \
+ -U__GNUC_MINOR__ \
+ -U__GNUC_PATCHLEVEL__ \
+@@ -702,6 +710,10 @@ check-symbols: startup_files libc
| sed -e 's/__GNUC_VA_LIST $$/__GNUC_VA_LIST 1/' \
| grep -v '^#define __\(BOOL\|INT_\(LEAST\|FAST\)\(8\|16\|32\|64\)\|INT\|LONG\|LLONG\|SHRT\)_WIDTH__' \
| grep -v '^#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_\(1\|2\|4\|8\)' \
+ | grep -v '^#define __FPCLASS_' \
+ | grep -v '^#define __FLT128_' \
+ | grep -v '^#define __MEMORY_SCOPE_' \
++ | grep -v '^#define __GCC_\(CON\|DE\)STRUCTIVE_SIZE' \
> "$(SYSROOT_SHARE)/predefined-macros.txt"
# Check that the computed metadata matches the expected metadata.
diff --git a/taskcluster/scripts/testrail_main.py b/taskcluster/scripts/testrail_main.py
index 19bb2f41ea..c8221a73b9 100644
--- a/taskcluster/scripts/testrail_main.py
+++ b/taskcluster/scripts/testrail_main.py
@@ -73,14 +73,15 @@ def main():
# Create milestone and test runs
devices = ["Google Pixel 3(Android11)", "Google Pixel 2(Android11)"]
- testrail.create_milestone_and_test_runs(
- testrail_project_id,
- milestone_name,
- milestone_description,
- devices,
- testrail_test_suite_id,
+ milestone = testrail.create_milestone(
+ testrail_project_id, milestone_name, milestone_description
)
+ for device in devices:
+ test_run = testrail.create_test_run(
+ testrail_project_id, milestone["id"], device, testrail_test_suite_id
+ )
+ testrail.update_test_run_tests(test_run["id"], 1) # 1 = Passed
# Send success notification
success_values = {
"RELEASE_TYPE": release_type,
diff --git a/taskcluster/scripts/tests/test-lab.py b/taskcluster/scripts/tests/test-lab.py
index b8b812df89..7c626f8359 100644
--- a/taskcluster/scripts/tests/test-lab.py
+++ b/taskcluster/scripts/tests/test-lab.py
@@ -21,6 +21,7 @@ import sys
from enum import Enum
from pathlib import Path
from typing import List, Optional, Union
+from urllib.parse import urlparse
# Worker paths and binaries
@@ -116,10 +117,18 @@ def execute_tests(
Worker.RESULTS_DIR.value,
"--project",
os.environ.get("GOOGLE_PROJECT"),
- "--client-details",
- f'matrixLabel={os.environ.get("PULL_REQUEST_NUMBER", "None")}',
]
+ # Add a client details parameter using the repository name
+ matrixLabel = os.environ.get("GECKO_HEAD_REPOSITORY")
+ if matrixLabel is not None:
+ flank_command.extend(
+ [
+ "--client-details",
+ f"matrixLabel={urlparse(matrixLabel).path.rpartition('/')[-1]}",
+ ]
+ )
+
# Add androidTest APK if provided (optional) as robo test or instrumentation test
if apk_test:
flank_command.extend(["--test", str(apk_test)])
diff --git a/taskcluster/test/conftest.py b/taskcluster/test/conftest.py
index 0123cee2de..224d5fb777 100644
--- a/taskcluster/test/conftest.py
+++ b/taskcluster/test/conftest.py
@@ -45,10 +45,10 @@ def create_tgg(responses, datadir):
mock_requests[url] = "bugbug-push-schedules.json"
# files changed
- url = "{head_repository}/json-automationrelevance/{head_rev}".format(
+ url = "{head_repository}/json-pushfileschanged/{head_rev}".format(
**tgg.parameters
)
- mock_requests[url] = "automationrelevance.json"
+ mock_requests[url] = "pushfileschanged.json"
url = PUSHLOG_PUSHES_TMPL.format(
repository=tgg.parameters["head_repository"],
diff --git a/taskcluster/test/data/automationrelevance.json b/taskcluster/test/data/automationrelevance.json
deleted file mode 100644
index 36289ded18..0000000000
--- a/taskcluster/test/data/automationrelevance.json
+++ /dev/null
@@ -1,169 +0,0 @@
-{
- "changesets": [
- {
- "author": "User \u003cuser@example.com\u003e",
- "backsoutnodes": [],
- "bugs": [
- {
- "no": "1646582",
- "url": "https://bugzilla.mozilla.org/show_bug.cgi?id=1646582"
- }
- ],
- "date": [1593028650.0, 0],
- "desc": "Bug 1646582 - Remove nsIRemoteWebProgressRequest since it's not being used anywhere. r=barret\n\nDifferential Revision: https://phabricator.services.mozilla.com/D80127",
- "extra": { "branch": "default", "moz-landing-system": "lando" },
- "files": [
- "dom/ipc/BrowserChild.cpp",
- "dom/ipc/BrowserParent.cpp",
- "dom/ipc/PBrowser.ipdl",
- "dom/ipc/RemoteWebProgressRequest.cpp",
- "dom/ipc/RemoteWebProgressRequest.h",
- "dom/ipc/components.conf",
- "dom/ipc/moz.build",
- "dom/ipc/nsIRemoteWebProgressRequest.idl",
- "dom/ipc/tests/browser.ini",
- "dom/ipc/tests/browser_ElapsedTime.js",
- "dom/ipc/tests/elapsed_time.sjs"
- ],
- "landingsystem": "lando",
- "node": "9fc2e30af2852cbacf039e6b7cc36a0233c8ed4e",
- "parents": ["226b1c518cba596226c80e4475a60ac3a0bfd198"],
- "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=autoland&originalRevision=47d0de3f55cd0fcb345d4fa9a5a7d23891315182&newProject=autoland&newRevision=9fc2e30af2852cbacf039e6b7cc36a0233c8ed4e",
- "phase": "public",
- "pushdate": [1593029535, 0],
- "pushhead": "47d0de3f55cd0fcb345d4fa9a5a7d23891315182",
- "pushid": 119873,
- "pushuser": "user@example.com",
- "rev": 537254,
- "reviewers": [{ "name": "barret", "revset": "reviewer(barret)" }],
- "treeherderrepo": "autoland",
- "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=autoland"
- },
- {
- "author": "User \u003cuser@example.com\u003e",
- "backsoutnodes": [],
- "bugs": [
- {
- "no": "1646582",
- "url": "https://bugzilla.mozilla.org/show_bug.cgi?id=1646582"
- }
- ],
- "date": [1593028695.0, 0],
- "desc": "Bug 1646582 - Remove DOM(Inner)WindowID from nsIWebProgress. r=nika\n\nDifferential Revision: https://phabricator.services.mozilla.com/D80128",
- "extra": { "branch": "default", "moz-landing-system": "lando" },
- "files": [
- "docshell/base/BrowsingContextWebProgress.cpp",
- "dom/ipc/BrowserChild.cpp",
- "dom/ipc/BrowserParent.cpp",
- "dom/ipc/PBrowser.ipdl",
- "dom/ipc/RemoteWebProgress.cpp",
- "dom/ipc/RemoteWebProgress.h",
- "dom/ipc/WindowGlobalParent.cpp",
- "dom/ipc/nsIRemoteWebProgress.idl",
- "toolkit/components/sessionstore/SessionStoreListener.cpp",
- "toolkit/components/statusfilter/nsBrowserStatusFilter.cpp",
- "uriloader/base/nsDocLoader.cpp",
- "uriloader/base/nsIWebProgress.idl"
- ],
- "landingsystem": "lando",
- "node": "1a749d5aaa71752a9f1d8296b7c32a2a30bccc84",
- "parents": ["9fc2e30af2852cbacf039e6b7cc36a0233c8ed4e"],
- "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=autoland&originalRevision=47d0de3f55cd0fcb345d4fa9a5a7d23891315182&newProject=autoland&newRevision=9fc2e30af2852cbacf039e6b7cc36a0233c8ed4e",
- "phase": "public",
- "pushdate": [1593029535, 0],
- "pushhead": "47d0de3f55cd0fcb345d4fa9a5a7d23891315182",
- "pushid": 119873,
- "pushuser": "user@example.com",
- "rev": 537255,
- "reviewers": [{ "name": "nika", "revset": "reviewer(nika)" }],
- "treeherderrepo": "autoland",
- "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=autoland"
- },
- {
- "author": "User \u003cuser@example.com\u003e",
- "backsoutnodes": [],
- "bugs": [
- {
- "no": "1646582",
- "url": "https://bugzilla.mozilla.org/show_bug.cgi?id=1646582"
- }
- ],
- "date": [1593028744.0, 0],
- "desc": "Bug 1646582 - Remove RemoteWebProgressManager. r=nika,Gijs\n\nDifferential Revision: https://phabricator.services.mozilla.com/D80129",
- "extra": { "branch": "default", "moz-landing-system": "lando" },
- "files": [
- "devtools/client/responsive/browser/swap.js",
- "dom/interfaces/base/nsIBrowser.idl",
- "dom/ipc/BrowserParent.cpp",
- "dom/ipc/BrowserParent.h",
- "dom/ipc/RemoteWebProgress.cpp",
- "dom/ipc/RemoteWebProgress.h",
- "dom/ipc/WindowGlobalParent.cpp",
- "dom/ipc/components.conf",
- "dom/ipc/moz.build",
- "dom/ipc/nsIRemoteWebProgress.idl",
- "netwerk/ipc/DocumentLoadListener.cpp",
- "netwerk/ipc/DocumentLoadListener.h",
- "security/manager/ssl/nsSecureBrowserUI.cpp",
- "toolkit/content/widgets/browser-custom-element.js",
- "toolkit/modules/RemoteWebProgress.jsm",
- "toolkit/modules/moz.build",
- "tools/lint/eslint/modules.json"
- ],
- "landingsystem": "lando",
- "node": "14b9b4515aabcb9060ece1a988c7993ef65a0bdc",
- "parents": ["1a749d5aaa71752a9f1d8296b7c32a2a30bccc84"],
- "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=autoland&originalRevision=47d0de3f55cd0fcb345d4fa9a5a7d23891315182&newProject=autoland&newRevision=9fc2e30af2852cbacf039e6b7cc36a0233c8ed4e",
- "phase": "public",
- "pushdate": [1593029535, 0],
- "pushhead": "47d0de3f55cd0fcb345d4fa9a5a7d23891315182",
- "pushid": 119873,
- "pushuser": "user@example.com",
- "rev": 537256,
- "reviewers": [
- { "name": "nika", "revset": "reviewer(nika)" },
- { "name": "Gijs", "revset": "reviewer(Gijs)" }
- ],
- "treeherderrepo": "autoland",
- "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=autoland"
- },
- {
- "author": "User \u003cuser@example.com\u003e",
- "backsoutnodes": [],
- "bugs": [
- {
- "no": "1646582",
- "url": "https://bugzilla.mozilla.org/show_bug.cgi?id=1646582"
- }
- ],
- "date": [1593028772.0, 0],
- "desc": "Bug 1646582 - Pull the inner window id from the WindowGlobalParent, rather than passing it across PBrowser for updateForLocationChange. r=nika,Gijs\n\nDifferential Revision: https://phabricator.services.mozilla.com/D80131",
- "extra": { "branch": "default", "moz-landing-system": "lando" },
- "files": [
- "devtools/client/responsive/browser/tunnel.js",
- "dom/interfaces/base/nsIBrowser.idl",
- "dom/ipc/BrowserChild.cpp",
- "dom/ipc/BrowserParent.cpp",
- "dom/ipc/PBrowser.ipdl",
- "toolkit/content/widgets/browser-custom-element.js"
- ],
- "landingsystem": "lando",
- "node": "47d0de3f55cd0fcb345d4fa9a5a7d23891315182",
- "parents": ["14b9b4515aabcb9060ece1a988c7993ef65a0bdc"],
- "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=autoland&originalRevision=47d0de3f55cd0fcb345d4fa9a5a7d23891315182&newProject=autoland&newRevision=9fc2e30af2852cbacf039e6b7cc36a0233c8ed4e",
- "phase": "public",
- "pushdate": [1593029535, 0],
- "pushhead": "47d0de3f55cd0fcb345d4fa9a5a7d23891315182",
- "pushid": 119873,
- "pushuser": "user@example.com",
- "rev": 537257,
- "reviewers": [
- { "name": "nika", "revset": "reviewer(nika)" },
- { "name": "Gijs", "revset": "reviewer(Gijs)" }
- ],
- "treeherderrepo": "autoland",
- "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=autoland"
- }
- ],
- "visible": true
-}
diff --git a/taskcluster/test/data/pushfileschanged.json b/taskcluster/test/data/pushfileschanged.json
new file mode 100644
index 0000000000..830aa1c80a
--- /dev/null
+++ b/taskcluster/test/data/pushfileschanged.json
@@ -0,0 +1,25 @@
+{
+ "files": [
+ "devtools/client/responsive/browser/swap.js",
+ "devtools/client/responsive/browser/tunnel.js",
+ "docshell/base/BrowsingContextWebProgress.cpp",
+ "dom/ipc/BrowserChild.cpp",
+ "dom/ipc/BrowserParent.cpp",
+ "dom/ipc/PBrowser.ipdl",
+ "dom/ipc/RemoteWebProgressRequest.cpp",
+ "dom/ipc/RemoteWebProgressRequest.h",
+ "dom/ipc/components.conf",
+ "dom/ipc/moz.build",
+ "dom/ipc/nsIRemoteWebProgressRequest.idl",
+ "dom/ipc/tests/browser.ini",
+ "dom/ipc/tests/browser_ElapsedTime.js",
+ "dom/ipc/tests/elapsed_time.sjs",
+ "netwerk/ipc/DocumentLoadListener.cpp",
+ "netwerk/ipc/DocumentLoadListener.h",
+ "security/manager/ssl/nsSecureBrowserUI.cpp",
+ "tools/lint/eslint/modules.json",
+ "toolkit/content/widgets/browser-custom-element.js",
+ "toolkit/modules/RemoteWebProgress.jsm",
+ "toolkit/modules/moz.build"
+ ]
+}
diff --git a/taskcluster/test/params/mb-promote-android.yml b/taskcluster/test/params/mb-promote-android.yml
index 90a8c1e602..b1fed85cb7 100644
--- a/taskcluster/test/params/mb-promote-android.yml
+++ b/taskcluster/test/params/mb-promote-android.yml
@@ -160,7 +160,6 @@ existing_tasks:
docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA
docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A
docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A
- docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg
docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ
docker-image-index-task: RwDns0jjRregWw0RNoOKeg
docker-image-lint: H2NDEiu8RJWciIqy0yu0IA
diff --git a/taskcluster/test/params/mb-promote-devedition-partials.yml b/taskcluster/test/params/mb-promote-devedition-partials.yml
index 5517cf96ce..b70e622ad8 100644
--- a/taskcluster/test/params/mb-promote-devedition-partials.yml
+++ b/taskcluster/test/params/mb-promote-devedition-partials.yml
@@ -160,7 +160,6 @@ existing_tasks:
docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA
docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A
docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A
- docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg
docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ
docker-image-index-task: RwDns0jjRregWw0RNoOKeg
docker-image-lint: H2NDEiu8RJWciIqy0yu0IA
diff --git a/taskcluster/test/params/mb-promote-devedition.yml b/taskcluster/test/params/mb-promote-devedition.yml
index 306c117f44..002cf55c73 100644
--- a/taskcluster/test/params/mb-promote-devedition.yml
+++ b/taskcluster/test/params/mb-promote-devedition.yml
@@ -160,7 +160,6 @@ existing_tasks:
docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA
docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A
docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A
- docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg
docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ
docker-image-index-task: RwDns0jjRregWw0RNoOKeg
docker-image-lint: H2NDEiu8RJWciIqy0yu0IA
diff --git a/taskcluster/test/params/mb-promote-firefox-partials.yml b/taskcluster/test/params/mb-promote-firefox-partials.yml
index 39bcac3f87..2092b1e638 100644
--- a/taskcluster/test/params/mb-promote-firefox-partials.yml
+++ b/taskcluster/test/params/mb-promote-firefox-partials.yml
@@ -160,7 +160,6 @@ existing_tasks:
docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA
docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A
docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A
- docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg
docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ
docker-image-index-task: RwDns0jjRregWw0RNoOKeg
docker-image-lint: H2NDEiu8RJWciIqy0yu0IA
diff --git a/taskcluster/test/params/mb-promote-firefox.yml b/taskcluster/test/params/mb-promote-firefox.yml
index 1fe4f69304..0c066c00f7 100644
--- a/taskcluster/test/params/mb-promote-firefox.yml
+++ b/taskcluster/test/params/mb-promote-firefox.yml
@@ -160,7 +160,6 @@ existing_tasks:
docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA
docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A
docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A
- docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg
docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ
docker-image-index-task: RwDns0jjRregWw0RNoOKeg
docker-image-lint: H2NDEiu8RJWciIqy0yu0IA
diff --git a/taskcluster/test/params/mb-push-android.yml b/taskcluster/test/params/mb-push-android.yml
index 1acb1628ea..2f18c0f6f3 100644
--- a/taskcluster/test/params/mb-push-android.yml
+++ b/taskcluster/test/params/mb-push-android.yml
@@ -2405,7 +2405,6 @@ existing_tasks:
docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA
docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A
docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A
- docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg
docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ
docker-image-index-task: RwDns0jjRregWw0RNoOKeg
docker-image-lint: H2NDEiu8RJWciIqy0yu0IA
diff --git a/taskcluster/test/params/mb-push-devedition.yml b/taskcluster/test/params/mb-push-devedition.yml
index 1952bac833..bed653b3a4 100644
--- a/taskcluster/test/params/mb-push-devedition.yml
+++ b/taskcluster/test/params/mb-push-devedition.yml
@@ -2405,7 +2405,6 @@ existing_tasks:
docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA
docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A
docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A
- docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg
docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ
docker-image-index-task: RwDns0jjRregWw0RNoOKeg
docker-image-lint: H2NDEiu8RJWciIqy0yu0IA
diff --git a/taskcluster/test/params/mb-push-firefox-partials.yml b/taskcluster/test/params/mb-push-firefox-partials.yml
index 5fcf72ec14..a73885592c 100644
--- a/taskcluster/test/params/mb-push-firefox-partials.yml
+++ b/taskcluster/test/params/mb-push-firefox-partials.yml
@@ -2405,7 +2405,6 @@ existing_tasks:
docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA
docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A
docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A
- docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg
docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ
docker-image-index-task: RwDns0jjRregWw0RNoOKeg
docker-image-lint: H2NDEiu8RJWciIqy0yu0IA
diff --git a/taskcluster/test/params/mb-push-firefox.yml b/taskcluster/test/params/mb-push-firefox.yml
index 78f4199b13..1db380ec51 100644
--- a/taskcluster/test/params/mb-push-firefox.yml
+++ b/taskcluster/test/params/mb-push-firefox.yml
@@ -2405,7 +2405,6 @@ existing_tasks:
docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA
docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A
docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A
- docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg
docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ
docker-image-index-task: RwDns0jjRregWw0RNoOKeg
docker-image-lint: H2NDEiu8RJWciIqy0yu0IA
diff --git a/taskcluster/test/params/mb-ship-android.yml b/taskcluster/test/params/mb-ship-android.yml
index e2d19707e2..0dbdb029f2 100644
--- a/taskcluster/test/params/mb-ship-android.yml
+++ b/taskcluster/test/params/mb-ship-android.yml
@@ -147,7 +147,6 @@ existing_tasks:
docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA
docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A
docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A
- docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg
docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ
docker-image-index-task: RwDns0jjRregWw0RNoOKeg
docker-image-lint: H2NDEiu8RJWciIqy0yu0IA
diff --git a/taskcluster/test/params/mb-ship-devedition.yml b/taskcluster/test/params/mb-ship-devedition.yml
index 08447d8139..35f8518268 100644
--- a/taskcluster/test/params/mb-ship-devedition.yml
+++ b/taskcluster/test/params/mb-ship-devedition.yml
@@ -147,7 +147,6 @@ existing_tasks:
docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA
docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A
docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A
- docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg
docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ
docker-image-index-task: RwDns0jjRregWw0RNoOKeg
docker-image-lint: H2NDEiu8RJWciIqy0yu0IA
diff --git a/taskcluster/test/params/mb-ship-firefox-partials.yml b/taskcluster/test/params/mb-ship-firefox-partials.yml
index f1ad991f99..835fb532d9 100644
--- a/taskcluster/test/params/mb-ship-firefox-partials.yml
+++ b/taskcluster/test/params/mb-ship-firefox-partials.yml
@@ -147,7 +147,6 @@ existing_tasks:
docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA
docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A
docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A
- docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg
docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ
docker-image-index-task: RwDns0jjRregWw0RNoOKeg
docker-image-lint: H2NDEiu8RJWciIqy0yu0IA
diff --git a/taskcluster/test/params/mb-ship-firefox.yml b/taskcluster/test/params/mb-ship-firefox.yml
index 4a5eb2161a..42778db539 100644
--- a/taskcluster/test/params/mb-ship-firefox.yml
+++ b/taskcluster/test/params/mb-ship-firefox.yml
@@ -147,7 +147,6 @@ existing_tasks:
docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA
docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A
docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A
- docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg
docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ
docker-image-index-task: RwDns0jjRregWw0RNoOKeg
docker-image-lint: H2NDEiu8RJWciIqy0yu0IA
diff --git a/taskcluster/test/params/mc-android-nightly.yml b/taskcluster/test/params/mc-android-nightly.yml
index ea1b87a236..72cd724785 100644
--- a/taskcluster/test/params/mc-android-nightly.yml
+++ b/taskcluster/test/params/mc-android-nightly.yml
@@ -206,7 +206,6 @@ existing_tasks:
docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA
docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A
docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A
- docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg
docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ
docker-image-index-task: RwDns0jjRregWw0RNoOKeg
docker-image-lint: UGlRm6fZSJOQc1JcPC23lw
diff --git a/taskcluster/test/params/mc-desktop-nightly.yml b/taskcluster/test/params/mc-desktop-nightly.yml
index 37d7f5de74..cadc2a8910 100644
--- a/taskcluster/test/params/mc-desktop-nightly.yml
+++ b/taskcluster/test/params/mc-desktop-nightly.yml
@@ -206,7 +206,6 @@ existing_tasks:
docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA
docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A
docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A
- docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg
docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ
docker-image-index-task: RwDns0jjRregWw0RNoOKeg
docker-image-lint: UGlRm6fZSJOQc1JcPC23lw
diff --git a/taskcluster/test/params/mc-nightly-all.yml b/taskcluster/test/params/mc-nightly-all.yml
index 7196e12920..8160c3413b 100644
--- a/taskcluster/test/params/mc-nightly-all.yml
+++ b/taskcluster/test/params/mc-nightly-all.yml
@@ -345,7 +345,6 @@ existing_tasks:
docker-image-firefox-snap: TaMBeARtSCKe485qQborMA
docker-image-funsize-update-generator: RwrXtrceR_aEmcsEUxGiCg
docker-image-gdb-test: ahyis7rkQTqhCapWXDqneg
- docker-image-github-sync: ds8yNkB5ScKKqLW2Cv0OWQ
docker-image-image_builder: Z3gDOem4TSWtoayyvtW_ng
docker-image-index-task: dbQOfI1hTp6sh4sGNnW9sQ
docker-image-lint: GntDF25JRUaCu5nuedyceA
@@ -4652,13 +4651,13 @@ existing_tasks:
valgrind-linux64-valgrind-qr/opt-swr: SNO08UPaRoKwlQjHoyjb5A
files_changed:
- taskcluster/android_taskgraph/transforms/build_components.py
- - taskcluster/ci/build-apk/kind.yml
- - taskcluster/ci/build-bundle/kind.yml
- - taskcluster/ci/build-components/kind.yml
- - taskcluster/ci/build-samples-browser/kind.yml
- - taskcluster/ci/test-apk/kind.yml
- - taskcluster/ci/test-components/kind.yml
- - taskcluster/ci/ui-test-apk/kind.yml
+ - taskcluster/kinds/build-apk/kind.yml
+ - taskcluster/kinds/build-bundle/kind.yml
+ - taskcluster/kinds/build-components/kind.yml
+ - taskcluster/kinds/build-samples-browser/kind.yml
+ - taskcluster/kinds/test-apk/kind.yml
+ - taskcluster/kinds/test-components/kind.yml
+ - taskcluster/kinds/ui-test-apk/kind.yml
filters:
- target_tasks_method
head_ref: d9466bebb4c96b99a227f35b5a7e86bd0c8f5bb5
diff --git a/taskcluster/test/params/me-promote-firefox.yml b/taskcluster/test/params/me-promote-firefox.yml
index fc713a788e..6a4a9ceaee 100644
--- a/taskcluster/test/params/me-promote-firefox.yml
+++ b/taskcluster/test/params/me-promote-firefox.yml
@@ -97,7 +97,6 @@ existing_tasks:
docker-image-firefox-snap: YmvNSMSfQWW3YG6x_Fcdbg
docker-image-funsize-update-generator: H14MbupWQoyjX2KXVFC7Cg
docker-image-gdb-test: WdZGFUBiTzyn5er0FJQUvw
- docker-image-github-sync: SmOuKw2vSA2P0B6MxH6xXw
docker-image-image_builder: MWRymupRSheUkuqIQwF8TA
docker-image-index-task: VIneOK4VRXGrcEmrEpleSA
docker-image-lint: Eeq8v2PJSbSivC61RBNaKg
diff --git a/taskcluster/test/params/me-push-firefox.yml b/taskcluster/test/params/me-push-firefox.yml
index 861a767660..57af7d97c5 100644
--- a/taskcluster/test/params/me-push-firefox.yml
+++ b/taskcluster/test/params/me-push-firefox.yml
@@ -2219,7 +2219,6 @@ existing_tasks:
docker-image-firefox-snap: YmvNSMSfQWW3YG6x_Fcdbg
docker-image-funsize-update-generator: H14MbupWQoyjX2KXVFC7Cg
docker-image-gdb-test: WdZGFUBiTzyn5er0FJQUvw
- docker-image-github-sync: SmOuKw2vSA2P0B6MxH6xXw
docker-image-image_builder: MWRymupRSheUkuqIQwF8TA
docker-image-index-task: VIneOK4VRXGrcEmrEpleSA
docker-image-lint: Eeq8v2PJSbSivC61RBNaKg
diff --git a/taskcluster/test/params/me-ship-firefox.yml b/taskcluster/test/params/me-ship-firefox.yml
index 062b3218f2..f8bed8a843 100644
--- a/taskcluster/test/params/me-ship-firefox.yml
+++ b/taskcluster/test/params/me-ship-firefox.yml
@@ -2219,7 +2219,6 @@ existing_tasks:
docker-image-firefox-snap: YmvNSMSfQWW3YG6x_Fcdbg
docker-image-funsize-update-generator: H14MbupWQoyjX2KXVFC7Cg
docker-image-gdb-test: WdZGFUBiTzyn5er0FJQUvw
- docker-image-github-sync: SmOuKw2vSA2P0B6MxH6xXw
docker-image-image_builder: MWRymupRSheUkuqIQwF8TA
docker-image-index-task: VIneOK4VRXGrcEmrEpleSA
docker-image-lint: Eeq8v2PJSbSivC61RBNaKg
diff --git a/taskcluster/test/params/mr-promote-firefox-rc.yml b/taskcluster/test/params/mr-promote-firefox-rc.yml
index 0059b6b7aa..c373c7947c 100644
--- a/taskcluster/test/params/mr-promote-firefox-rc.yml
+++ b/taskcluster/test/params/mr-promote-firefox-rc.yml
@@ -113,7 +113,6 @@ existing_tasks:
docker-image-firefox-snap: YmvNSMSfQWW3YG6x_Fcdbg
docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A
docker-image-gdb-test: SqgEZnNpSoqvNxaY-P2OCA
- docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg
docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ
docker-image-index-task: RwDns0jjRregWw0RNoOKeg
docker-image-lint: PvzC5kHhQiGDcIo5GhW6TQ
diff --git a/taskcluster/test/params/mr-promote-firefox.yml b/taskcluster/test/params/mr-promote-firefox.yml
index 0e132051ee..356ca3536a 100644
--- a/taskcluster/test/params/mr-promote-firefox.yml
+++ b/taskcluster/test/params/mr-promote-firefox.yml
@@ -113,7 +113,6 @@ existing_tasks:
docker-image-firefox-snap: YmvNSMSfQWW3YG6x_Fcdbg
docker-image-funsize-update-generator: H14MbupWQoyjX2KXVFC7Cg
docker-image-gdb-test: SqgEZnNpSoqvNxaY-P2OCA
- docker-image-github-sync: P_Ymo66MSamplL2DUkKafA
docker-image-image_builder: MWRymupRSheUkuqIQwF8TA
docker-image-index-task: VIneOK4VRXGrcEmrEpleSA
docker-image-lint: PvzC5kHhQiGDcIo5GhW6TQ
diff --git a/taskcluster/test/params/mr-push-firefox.yml b/taskcluster/test/params/mr-push-firefox.yml
index de12bc2d85..fd4f5e5016 100644
--- a/taskcluster/test/params/mr-push-firefox.yml
+++ b/taskcluster/test/params/mr-push-firefox.yml
@@ -2358,7 +2358,6 @@ existing_tasks:
docker-image-firefox-snap: YmvNSMSfQWW3YG6x_Fcdbg
docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A
docker-image-gdb-test: SqgEZnNpSoqvNxaY-P2OCA
- docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg
docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ
docker-image-index-task: RwDns0jjRregWw0RNoOKeg
docker-image-lint: PvzC5kHhQiGDcIo5GhW6TQ
diff --git a/taskcluster/test/params/mr-ship-firefox-rc.yml b/taskcluster/test/params/mr-ship-firefox-rc.yml
index d2701afb48..b7b7ca162e 100644
--- a/taskcluster/test/params/mr-ship-firefox-rc.yml
+++ b/taskcluster/test/params/mr-ship-firefox-rc.yml
@@ -2358,7 +2358,6 @@ existing_tasks:
docker-image-firefox-snap: YmvNSMSfQWW3YG6x_Fcdbg
docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A
docker-image-gdb-test: SqgEZnNpSoqvNxaY-P2OCA
- docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg
docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ
docker-image-index-task: RwDns0jjRregWw0RNoOKeg
docker-image-lint: PvzC5kHhQiGDcIo5GhW6TQ
diff --git a/taskcluster/test/params/mr-ship-firefox.yml b/taskcluster/test/params/mr-ship-firefox.yml
index 552baee4b8..ecd616f800 100644
--- a/taskcluster/test/params/mr-ship-firefox.yml
+++ b/taskcluster/test/params/mr-ship-firefox.yml
@@ -2358,7 +2358,6 @@ existing_tasks:
docker-image-firefox-snap: YmvNSMSfQWW3YG6x_Fcdbg
docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A
docker-image-gdb-test: SqgEZnNpSoqvNxaY-P2OCA
- docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg
docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ
docker-image-index-task: RwDns0jjRregWw0RNoOKeg
docker-image-lint: PvzC5kHhQiGDcIo5GhW6TQ
diff --git a/taskcluster/test/test_autoland.py b/taskcluster/test/test_autoland.py
index 05d181620a..a6607fde01 100644
--- a/taskcluster/test/test_autoland.py
+++ b/taskcluster/test/test_autoland.py
@@ -16,6 +16,34 @@ PARAMS = {
}
+def test_tasks_have_optimization(full_task_graph, filter_tasks):
+ kinds = (
+ "artifact_build",
+ "build-fat-aar",
+ "build",
+ "generate-profile",
+ "hazard",
+ "instrumented-build",
+ "spidermonkey",
+ "static-analysis-autotest",
+ "test",
+ "valgrind",
+ )
+ errors = []
+ for task in filter_tasks(
+ full_task_graph, lambda t: t.kind in kinds and "ccov" not in t.label
+ ):
+ if not task.optimization:
+ errors.append(task.label)
+
+ if errors:
+ label_str = "\n ".join(errors)
+ s_are = " is" if len(errors) == 1 else "s are"
+ pytest.fail(
+ f"The following task{s_are} missing an optimization:\n {label_str}"
+ )
+
+
def test_generate_graph(optimized_task_graph):
"""Simply tests that generating the graph does not fail."""
assert len(optimized_task_graph.tasks) > 0