summaryrefslogtreecommitdiffstats
path: root/taskcluster
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-12 05:35:29 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-12 05:35:29 +0000
commit59203c63bb777a3bacec32fb8830fba33540e809 (patch)
tree58298e711c0ff0575818c30485b44a2f21bf28a0 /taskcluster
parentAdding upstream version 126.0.1. (diff)
downloadfirefox-59203c63bb777a3bacec32fb8830fba33540e809.tar.xz
firefox-59203c63bb777a3bacec32fb8830fba33540e809.zip
Adding upstream version 127.0.upstream/127.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'taskcluster')
-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/github-sync/kind.yml53
-rw-r--r--taskcluster/config.yml (renamed from taskcluster/ci/config.yml)30
-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.yml (renamed from taskcluster/ci/android-l10n/kind.yml)3
-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.yml (renamed from taskcluster/ci/artifact-build/kind.yml)1
-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.yml (renamed from taskcluster/ci/beetmover-apt/kind.yml)1
-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.yml (renamed from taskcluster/ci/beetmover-repackage/kind.yml)1
-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.yml (renamed from taskcluster/ci/build-apk/kind.yml)2
-rw-r--r--taskcluster/kinds/build-bundle/kind.yml (renamed from taskcluster/ci/build-bundle/kind.yml)2
-rw-r--r--taskcluster/kinds/build-components/kind.yml (renamed from taskcluster/ci/build-components/kind.yml)3
-rw-r--r--taskcluster/kinds/build-fat-aar/kind.yml (renamed from taskcluster/ci/build-fat-aar/kind.yml)2
-rw-r--r--taskcluster/kinds/build-mac-notarization/kind.yml (renamed from taskcluster/ci/build-mac-notarization/kind.yml)2
-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.yml (renamed from taskcluster/ci/build-samples-browser/kind.yml)2
-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.yml (renamed from taskcluster/ci/build/android.yml)1
-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.yml (renamed from taskcluster/ci/docker-image/kind.yml)3
-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.yml (renamed from taskcluster/ci/fetch/chromium-fetch.yml)30
-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.yml (renamed from taskcluster/ci/generate-profile/kind.yml)5
-rw-r--r--taskcluster/kinds/hazard/kind.yml (renamed from taskcluster/ci/hazard/kind.yml)1
-rw-r--r--taskcluster/kinds/instrumented-build/kind.yml (renamed from taskcluster/ci/instrumented-build/kind.yml)4
-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.yml (renamed from taskcluster/ci/mar-signing-l10n/kind.yml)1
-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.yml (renamed from taskcluster/ci/release-beetmover-signed-langpacks/kind.yml)5
-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.yml (renamed from taskcluster/ci/release-flatpak-push/kind.yml)5
-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.yml (renamed from taskcluster/ci/release-msix-push/kind.yml)5
-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.yml (renamed from taskcluster/ci/release-secondary-flatpak-push/kind.yml)5
-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.yml (renamed from taskcluster/ci/release-source/kind.yml)3
-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.yml (renamed from taskcluster/ci/repackage-deb/kind.yml)1
-rw-r--r--taskcluster/kinds/repackage-l10n/kind.yml (renamed from taskcluster/ci/repackage-l10n/kind.yml)1
-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.yml (renamed from taskcluster/ci/searchfox/kind.yml)1
-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.yml (renamed from taskcluster/ci/shippable-l10n/kind.yml)9
-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.yml (renamed from taskcluster/ci/spidermonkey/kind.yml)3
-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.yml (renamed from taskcluster/ci/static-analysis-autotest/kind.yml)1
-rw-r--r--taskcluster/kinds/system-symbols-reprocess/kind.yml (renamed from taskcluster/ci/system-symbols-reprocess/kind.yml)2
-rw-r--r--taskcluster/kinds/system-symbols-upload/kind.yml (renamed from taskcluster/ci/system-symbols-upload/kind.yml)2
-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.yml (renamed from taskcluster/ci/test-apk/kind.yml)2
-rw-r--r--taskcluster/kinds/test-components/kind.yml (renamed from taskcluster/ci/test-components/kind.yml)2
-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.yml (renamed from taskcluster/ci/toolchain/android.yml)14
-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.yml (renamed from taskcluster/ci/ui-test-apk/kind.yml)1
-rw-r--r--taskcluster/kinds/updatebot/kind.yml (renamed from taskcluster/ci/updatebot/kind.yml)2
-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.yml (renamed from taskcluster/ci/upload-generated-sources/kind.yml)2
-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.yml (renamed from taskcluster/ci/valgrind/kind.yml)1
-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
360 files changed, 1035 insertions, 1210 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/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/config.yml b/taskcluster/config.yml
index a26eb9818d..3c3ad2f5f4 100644
--- a/taskcluster/ci/config.yml
+++ b/taskcluster/config.yml
@@ -53,7 +53,7 @@ treeherder:
'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-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.'
@@ -77,7 +77,7 @@ treeherder:
'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-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'
@@ -113,10 +113,12 @@ treeherder:
'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 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'
@@ -146,6 +148,8 @@ treeherder:
'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'
@@ -162,7 +166,7 @@ treeherder:
'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-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'
@@ -233,7 +237,6 @@ treeherder:
'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'
@@ -279,6 +282,7 @@ treeherder:
'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'
@@ -800,6 +804,22 @@ workers:
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
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/ci/android-l10n/kind.yml b/taskcluster/kinds/android-l10n/kind.yml
index 8e5d35995d..774be4053c 100644
--- a/taskcluster/ci/android-l10n/kind.yml
+++ b/taskcluster/kinds/android-l10n/kind.yml
@@ -19,7 +19,6 @@ job-defaults:
tags: []
bump: false
dontbuild: false
- ignore-closed-tree: true
push: true
jobs:
@@ -29,6 +28,7 @@ jobs:
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
@@ -46,6 +46,7 @@ jobs:
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
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/ci/artifact-build/kind.yml b/taskcluster/kinds/artifact-build/kind.yml
index d91249fce9..5029597c4e 100644
--- a/taskcluster/ci/artifact-build/kind.yml
+++ b/taskcluster/kinds/artifact-build/kind.yml
@@ -10,6 +10,7 @@ kind-dependencies:
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
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/ci/beetmover-apt/kind.yml b/taskcluster/kinds/beetmover-apt/kind.yml
index 9eb65f8858..f19fe59fb1 100644
--- a/taskcluster/ci/beetmover-apt/kind.yml
+++ b/taskcluster/kinds/beetmover-apt/kind.yml
@@ -16,6 +16,7 @@ kind-dependencies:
only-for-build-platforms:
- linux-shippable/opt
- linux64-shippable/opt
+ - linux64-aarch64-shippable/opt
- linux-devedition/opt
- linux64-devedition/opt
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/ci/beetmover-repackage/kind.yml b/taskcluster/kinds/beetmover-repackage/kind.yml
index 8746bb5b44..e037f5ca86 100644
--- a/taskcluster/ci/beetmover-repackage/kind.yml
+++ b/taskcluster/kinds/beetmover-repackage/kind.yml
@@ -40,6 +40,7 @@ kind-dependencies:
only-for-build-platforms:
- linux-shippable/opt
- linux64-shippable/opt
+ - linux64-aarch64-shippable/opt
- macosx64-shippable/opt
- win32-shippable/opt
- win64-shippable/opt
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/ci/build-apk/kind.yml b/taskcluster/kinds/build-apk/kind.yml
index 99132d17f8..ef909b2c44 100644
--- a/taskcluster/ci/build-apk/kind.yml
+++ b/taskcluster/kinds/build-apk/kind.yml
@@ -19,6 +19,8 @@ job-defaults:
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:
diff --git a/taskcluster/ci/build-bundle/kind.yml b/taskcluster/kinds/build-bundle/kind.yml
index 081b5aba60..7db4cfdd81 100644
--- a/taskcluster/ci/build-bundle/kind.yml
+++ b/taskcluster/kinds/build-bundle/kind.yml
@@ -19,6 +19,8 @@ job-defaults:
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:
diff --git a/taskcluster/ci/build-components/kind.yml b/taskcluster/kinds/build-components/kind.yml
index 4d9ae555fa..52793cb3f1 100644
--- a/taskcluster/ci/build-components/kind.yml
+++ b/taskcluster/kinds/build-components/kind.yml
@@ -39,10 +39,11 @@ job-defaults:
toolchain:
- android-sdk-linux
- android-gradle-dependencies
- - android-gradle-python-envs
- linux64-jdk
build-fat-aar:
- target.maven.tar.xz
+ attributes:
+ build_platform: android
dependencies:
build-fat-aar:
by-build-type:
diff --git a/taskcluster/ci/build-fat-aar/kind.yml b/taskcluster/kinds/build-fat-aar/kind.yml
index 0d3b1208ec..38d40efc92 100644
--- a/taskcluster/ci/build-fat-aar/kind.yml
+++ b/taskcluster/kinds/build-fat-aar/kind.yml
@@ -11,6 +11,7 @@ kind-dependencies:
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
@@ -86,7 +87,6 @@ job-defaults:
default: null
fetches:
toolchain:
- - android-gradle-python-envs
- android-ndk-linux
- android-sdk-linux
- linux64-clang
diff --git a/taskcluster/ci/build-mac-notarization/kind.yml b/taskcluster/kinds/build-mac-notarization/kind.yml
index 8d049b3695..910d6a1797 100644
--- a/taskcluster/ci/build-mac-notarization/kind.yml
+++ b/taskcluster/kinds/build-mac-notarization/kind.yml
@@ -29,6 +29,6 @@ jobs:
paths:
- public/build/target.tar.gz
- public/build/target.pkg
- formats: ["apple_notarization"]
+ 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/ci/build-samples-browser/kind.yml b/taskcluster/kinds/build-samples-browser/kind.yml
index 8949d70fad..6d1d903321 100644
--- a/taskcluster/ci/build-samples-browser/kind.yml
+++ b/taskcluster/kinds/build-samples-browser/kind.yml
@@ -17,6 +17,7 @@ kind-dependencies:
job-defaults:
attributes:
+ build_platform: android
build-type: regular
component: samples-browser
dependencies:
@@ -26,7 +27,6 @@ job-defaults:
toolchain:
- android-sdk-linux
- android-gradle-dependencies
- - android-gradle-python-envs
- linux64-jdk
build-fat-aar:
- target.maven.tar.xz
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/ci/build/android.yml b/taskcluster/kinds/build/android.yml
index ac3d2a5a31..7c37b2680f 100644
--- a/taskcluster/ci/build/android.yml
+++ b/taskcluster/kinds/build/android.yml
@@ -58,7 +58,6 @@ job-defaults:
- linux64-node
- sysroot-x86_64-linux-gnu
- sysroot-wasm32-wasi
- - android-gradle-python-envs
android-arm/debug:
description: "Android 5.0 Arm Debug"
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/ci/docker-image/kind.yml b/taskcluster/kinds/docker-image/kind.yml
index 12dc16cdd1..22b18cf16f 100644
--- a/taskcluster/ci/docker-image/kind.yml
+++ b/taskcluster/kinds/docker-image/kind.yml
@@ -214,9 +214,6 @@ jobs:
condprof:
symbol: I(condprof)
parent: ubuntu1804-test
- github-sync:
- symbol: I(github-sync)
- parent: debian12-base
sentry:
symbol: I(sentry)
parent: debian12-base
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/ci/fetch/chromium-fetch.yml b/taskcluster/kinds/fetch/chromium-fetch.yml
index 88f7e4fc62..f99e1325cd 100644
--- a/taskcluster/ci/fetch/chromium-fetch.yml
+++ b/taskcluster/kinds/fetch/chromium-fetch.yml
@@ -7,32 +7,42 @@ job-defaults:
type: chromium-fetch
script: /builds/worker/bin/fetch-chromium.py
-linux64-chromium:
- description: 'Linux64 Chromium Fetch'
+linux64-chromiumdriver:
+ description: 'Linux64 Chromium Trunk Chromedriver Fetch'
+ attributes:
+ cached_task: false
fetch:
platform: linux
artifact-name: chromium-linux.tar.bz2
-win32-chromium:
- description: 'Windows32 Chromium Fetch'
+win32-chromiumdriver:
+ description: 'Windows32 Chromium Trunk Chromedriver Fetch'
+ attributes:
+ cached_task: false
fetch:
platform: win32
artifact-name: chromium-win32.tar.bz2
-win64-chromium:
- description: 'Windows64 Chromium Fetch'
+win64-chromiumdriver:
+ description: 'Windows64 Chromium Trunk Chromedriver Fetch'
+ attributes:
+ cached_task: false
fetch:
platform: win64
artifact-name: chromium-win64.tar.bz2
-mac-chromium:
- description: 'MacOSX Chromium Fetch'
+mac-chromiumdriver:
+ description: 'MacOSX Chromium Trunk Chromedriver Fetch'
+ attributes:
+ cached_task: false
fetch:
platform: mac
artifact-name: chromium-mac.tar.bz2
-mac-chromium-arm:
- description: 'MacOSX ARM Chromium Fetch'
+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/ci/generate-profile/kind.yml b/taskcluster/kinds/generate-profile/kind.yml
index b71afb23d0..35d751ca80 100644
--- a/taskcluster/ci/generate-profile/kind.yml
+++ b/taskcluster/kinds/generate-profile/kind.yml
@@ -10,6 +10,7 @@ kind-dependencies:
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
@@ -98,7 +99,7 @@ jobs:
worker-type: t-linux-xlarge-pgo
worker:
chain-of-trust: true
- max-run-time: 2700
+ max-run-time: 3600
docker-image: {in-tree: ubuntu1804-test}
env:
WORKING_DIR: "/builds/worker"
@@ -140,7 +141,7 @@ jobs:
worker-type: t-linux-xlarge-pgo
worker:
chain-of-trust: true
- max-run-time: 2700
+ max-run-time: 3600
docker-image: {in-tree: ubuntu1804-test}
env:
WORKING_DIR: "/builds/worker"
diff --git a/taskcluster/ci/hazard/kind.yml b/taskcluster/kinds/hazard/kind.yml
index 8bdc1bbb17..495f6b10cc 100644
--- a/taskcluster/ci/hazard/kind.yml
+++ b/taskcluster/kinds/hazard/kind.yml
@@ -9,6 +9,7 @@ kind-dependencies:
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
diff --git a/taskcluster/ci/instrumented-build/kind.yml b/taskcluster/kinds/instrumented-build/kind.yml
index 9823970185..048bea725f 100644
--- a/taskcluster/ci/instrumented-build/kind.yml
+++ b/taskcluster/kinds/instrumented-build/kind.yml
@@ -11,6 +11,7 @@ kind-dependencies:
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
@@ -250,7 +251,6 @@ jobs:
fetches:
toolchain:
- android-gradle-dependencies
- - android-gradle-python-envs
- android-ndk-linux
- android-sdk-linux
- linux64-jdk
@@ -306,7 +306,6 @@ jobs:
fetches:
toolchain:
- android-gradle-dependencies
- - android-gradle-python-envs
- android-ndk-linux
- android-sdk-linux
- linux64-jdk
@@ -362,7 +361,6 @@ jobs:
fetches:
toolchain:
- android-gradle-dependencies
- - android-gradle-python-envs
- android-ndk-linux
- android-sdk-linux
- linux64-jdk
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/ci/mar-signing-l10n/kind.yml b/taskcluster/kinds/mar-signing-l10n/kind.yml
index ad470915ef..8016833c15 100644
--- a/taskcluster/ci/mar-signing-l10n/kind.yml
+++ b/taskcluster/kinds/mar-signing-l10n/kind.yml
@@ -16,6 +16,7 @@ kind-dependencies:
only-for-build-platforms:
- linux-shippable/opt
- linux64-shippable/opt
+ - linux64-aarch64-shippable/opt
- macosx64-shippable/opt
- win32-shippable/opt
- win64-shippable/opt
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/ci/release-beetmover-signed-langpacks/kind.yml b/taskcluster/kinds/release-beetmover-signed-langpacks/kind.yml
index 63bdcfe921..744198c466 100644
--- a/taskcluster/ci/release-beetmover-signed-langpacks/kind.yml
+++ b/taskcluster/kinds/release-beetmover-signed-langpacks/kind.yml
@@ -27,10 +27,7 @@ jobs:
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
+ worker-type: beetmover
run-on-projects: []
shipping-phase: promote
attributes:
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/ci/release-flatpak-push/kind.yml b/taskcluster/kinds/release-flatpak-push/kind.yml
index 27f5ebf3ec..94e0e42c16 100644
--- a/taskcluster/ci/release-flatpak-push/kind.yml
+++ b/taskcluster/kinds/release-flatpak-push/kind.yml
@@ -22,10 +22,7 @@ job-defaults:
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-type: pushflatpak
worker:
implementation: push-flatpak
channel:
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/ci/release-msix-push/kind.yml b/taskcluster/kinds/release-msix-push/kind.yml
index 3009c74df2..39de997bef 100644
--- a/taskcluster/ci/release-msix-push/kind.yml
+++ b/taskcluster/kinds/release-msix-push/kind.yml
@@ -22,10 +22,7 @@ job-defaults:
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-type: pushmsix
worker:
implementation: push-msix
channel:
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/ci/release-secondary-flatpak-push/kind.yml b/taskcluster/kinds/release-secondary-flatpak-push/kind.yml
index 7f770d4ee5..0f915d8d26 100644
--- a/taskcluster/ci/release-secondary-flatpak-push/kind.yml
+++ b/taskcluster/kinds/release-secondary-flatpak-push/kind.yml
@@ -22,10 +22,7 @@ job-defaults:
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-type: pushflatpak
worker:
implementation: push-flatpak
channel: 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/ci/release-source/kind.yml b/taskcluster/kinds/release-source/kind.yml
index 6b550e9d7e..ff2ee375f7 100644
--- a/taskcluster/ci/release-source/kind.yml
+++ b/taskcluster/kinds/release-source/kind.yml
@@ -35,9 +35,6 @@ job-defaults:
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:
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/ci/repackage-deb/kind.yml b/taskcluster/kinds/repackage-deb/kind.yml
index aa6381bb4a..779aaf2659 100644
--- a/taskcluster/ci/repackage-deb/kind.yml
+++ b/taskcluster/kinds/repackage-deb/kind.yml
@@ -21,6 +21,7 @@ only-for-build-platforms:
- linux-devedition/opt
- linux64-shippable/opt
- linux64-devedition/opt
+ - linux64-aarch64-shippable/opt
only-for-attributes:
- nightly
diff --git a/taskcluster/ci/repackage-l10n/kind.yml b/taskcluster/kinds/repackage-l10n/kind.yml
index c78b52de2b..8be0cb19cc 100644
--- a/taskcluster/ci/repackage-l10n/kind.yml
+++ b/taskcluster/kinds/repackage-l10n/kind.yml
@@ -22,6 +22,7 @@ kind-dependencies:
only-for-build-platforms:
- linux-shippable/opt
- linux64-shippable/opt
+ - linux64-aarch64-shippable/opt
- macosx64-shippable/opt
- win32-shippable/opt
- win64-shippable/opt
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/ci/searchfox/kind.yml b/taskcluster/kinds/searchfox/kind.yml
index 492cba940d..4ea3203d9f 100644
--- a/taskcluster/ci/searchfox/kind.yml
+++ b/taskcluster/kinds/searchfox/kind.yml
@@ -209,7 +209,6 @@ jobs:
fetches:
toolchain:
- android-gradle-dependencies
- - android-gradle-python-envs
- android-ndk-linux
- android-sdk-linux
- linux64-jdk
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/ci/shippable-l10n/kind.yml b/taskcluster/kinds/shippable-l10n/kind.yml
index d38edb2ee5..ddd6c25401 100644
--- a/taskcluster/ci/shippable-l10n/kind.yml
+++ b/taskcluster/kinds/shippable-l10n/kind.yml
@@ -20,6 +20,7 @@ kind-dependencies:
only-for-build-platforms:
- linux64-shippable/opt
- linux-shippable/opt
+ - linux64-aarch64-shippable/opt
- macosx64-shippable/opt
- win32-shippable/opt
- win64-shippable/opt
@@ -76,6 +77,7 @@ jobs:
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
@@ -93,6 +95,7 @@ jobs:
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
@@ -133,6 +136,12 @@ jobs:
- 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
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/ci/spidermonkey/kind.yml b/taskcluster/kinds/spidermonkey/kind.yml
index 358ffeeb3f..560ac9a58b 100644
--- a/taskcluster/ci/spidermonkey/kind.yml
+++ b/taskcluster/kinds/spidermonkey/kind.yml
@@ -10,6 +10,7 @@ kind-dependencies:
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
@@ -50,7 +51,7 @@ job-defaults:
- nsprpub/**
- python/**
- taskcluster/moz.build
- - taskcluster/ci/spidermonkey/kind.yml
+ - taskcluster/kinds/spidermonkey/kind.yml
- testing/mozbase/**
- testing/web-platform/**
- test.mozbuild
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/ci/static-analysis-autotest/kind.yml b/taskcluster/kinds/static-analysis-autotest/kind.yml
index 39497268a8..3901e0a7fd 100644
--- a/taskcluster/ci/static-analysis-autotest/kind.yml
+++ b/taskcluster/kinds/static-analysis-autotest/kind.yml
@@ -9,6 +9,7 @@ kind-dependencies:
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
diff --git a/taskcluster/ci/system-symbols-reprocess/kind.yml b/taskcluster/kinds/system-symbols-reprocess/kind.yml
index 5b81817188..e96f8f4fa3 100644
--- a/taskcluster/ci/system-symbols-reprocess/kind.yml
+++ b/taskcluster/kinds/system-symbols-reprocess/kind.yml
@@ -38,7 +38,7 @@ jobs:
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>"}
+ command: {task-reference: "${MOZ_FETCHES_DIR}/symbol-scrapers/reprocess.sh <system-symbols>"}
fetches:
fetch:
- symbol-scrapers
diff --git a/taskcluster/ci/system-symbols-upload/kind.yml b/taskcluster/kinds/system-symbols-upload/kind.yml
index dd9462a84b..e36f7afd84 100644
--- a/taskcluster/ci/system-symbols-upload/kind.yml
+++ b/taskcluster/kinds/system-symbols-upload/kind.yml
@@ -28,7 +28,7 @@ jobs:
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"}
+ 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/ci/test-apk/kind.yml b/taskcluster/kinds/test-apk/kind.yml
index b1fe6c2a88..59225f431a 100644
--- a/taskcluster/ci/test-apk/kind.yml
+++ b/taskcluster/kinds/test-apk/kind.yml
@@ -17,6 +17,7 @@ kind-dependencies:
job-defaults:
attributes:
+ build_platform: android
retrigger: true
dependencies:
build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
@@ -24,7 +25,6 @@ job-defaults:
toolchain:
- android-sdk-linux
- android-gradle-dependencies
- - android-gradle-python-envs
- linux64-jdk
build-fat-aar:
- target.maven.tar.xz
diff --git a/taskcluster/ci/test-components/kind.yml b/taskcluster/kinds/test-components/kind.yml
index bbdc5f7edd..8f4675b076 100644
--- a/taskcluster/ci/test-components/kind.yml
+++ b/taskcluster/kinds/test-components/kind.yml
@@ -18,6 +18,7 @@ kind-dependencies:
job-defaults:
attributes:
+ build_platform: android
build-type: debug
retrigger: true
dependencies:
@@ -26,7 +27,6 @@ job-defaults:
toolchain:
- android-sdk-linux
- android-gradle-dependencies
- - android-gradle-python-envs
- linux64-jdk
build-fat-aar:
- target.maven.tar.xz
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/ci/toolchain/android.yml b/taskcluster/kinds/toolchain/android.yml
index 6c2c558c9c..333aa868fa 100644
--- a/taskcluster/ci/toolchain/android.yml
+++ b/taskcluster/kinds/toolchain/android.yml
@@ -140,7 +140,7 @@ linux64-jdk-repack:
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"
+ JAVA_HOME: "/builds/worker/fetches/jdk/jdk-17.0.11+9"
linux64-android-sdk-linux-repack:
description: "Android SDK (Linux) repack toolchain build"
@@ -218,7 +218,6 @@ linux64-android-gradle-dependencies:
- 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"
@@ -251,14 +250,3 @@ linux64-android-gradle-dependencies-lite:
- 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/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/ci/ui-test-apk/kind.yml b/taskcluster/kinds/ui-test-apk/kind.yml
index 405a59f03a..d80d5139b7 100644
--- a/taskcluster/ci/ui-test-apk/kind.yml
+++ b/taskcluster/kinds/ui-test-apk/kind.yml
@@ -17,6 +17,7 @@ kind-dependencies:
job-defaults:
attributes:
+ build_platform: android
build-type: debug
retrigger: true
fetches:
diff --git a/taskcluster/ci/updatebot/kind.yml b/taskcluster/kinds/updatebot/kind.yml
index 2a1bc00d42..8b6ed560a1 100644
--- a/taskcluster/ci/updatebot/kind.yml
+++ b/taskcluster/kinds/updatebot/kind.yml
@@ -69,7 +69,7 @@ jobs:
# path: build\src\obj-build\depot_tools
# end _GENERATE_DEPOT_TOOLS_BINARIES_
env:
- TOOLTOOL_MANIFEST: "taskcluster/ci/updatebot/tooltool-manifests/updatebot.manifest"
+ TOOLTOOL_MANIFEST: "taskcluster/kinds/updatebot/tooltool-manifests/updatebot.manifest"
MSYSTEM: "MINGW64"
run:
using: run-task
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/ci/upload-generated-sources/kind.yml b/taskcluster/kinds/upload-generated-sources/kind.yml
index 86123d336d..8ae78b0b28 100644
--- a/taskcluster/ci/upload-generated-sources/kind.yml
+++ b/taskcluster/kinds/upload-generated-sources/kind.yml
@@ -27,7 +27,7 @@ jobs:
description: Upload generated source files from build
from-deps:
group-by: single-with-filters
- worker-type: t-linux-xlarge
+ worker-type: b-linux-medium-gcp
treeherder:
symbol: Ugs
kind: build
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/ci/valgrind/kind.yml b/taskcluster/kinds/valgrind/kind.yml
index 9ccff4188f..068fd572a1 100644
--- a/taskcluster/ci/valgrind/kind.yml
+++ b/taskcluster/kinds/valgrind/kind.yml
@@ -9,6 +9,7 @@ kind-dependencies:
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
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