diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:43:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:43:14 +0000 |
commit | 8dd16259287f58f9273002717ec4d27e97127719 (patch) | |
tree | 3863e62a53829a84037444beab3abd4ed9dfc7d0 /taskcluster | |
parent | Releasing progress-linux version 126.0.1-1~progress7.99u1. (diff) | |
download | firefox-8dd16259287f58f9273002717ec4d27e97127719.tar.xz firefox-8dd16259287f58f9273002717ec4d27e97127719.zip |
Merging upstream version 127.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | taskcluster/android_taskgraph/target_tasks.py | 12 | ||||
-rw-r--r-- | taskcluster/android_taskgraph/transforms/build_android_app.py | 1 | ||||
-rw-r--r-- | taskcluster/ci/android-l10n/kind.yml | 55 | ||||
-rw-r--r-- | taskcluster/ci/artifact-build/kind.yml | 105 | ||||
-rw-r--r-- | taskcluster/ci/beetmover-apt/kind.yml | 29 | ||||
-rw-r--r-- | taskcluster/ci/beetmover-repackage/kind.yml | 65 | ||||
-rw-r--r-- | taskcluster/ci/build-apk/kind.yml | 518 | ||||
-rw-r--r-- | taskcluster/ci/build-bundle/kind.yml | 213 | ||||
-rw-r--r-- | taskcluster/ci/build-components/kind.yml | 134 | ||||
-rw-r--r-- | taskcluster/ci/build-fat-aar/kind.yml | 204 | ||||
-rw-r--r-- | taskcluster/ci/build-mac-notarization/kind.yml | 34 | ||||
-rw-r--r-- | taskcluster/ci/build-samples-browser/kind.yml | 64 | ||||
-rw-r--r-- | taskcluster/ci/build/android.yml | 645 | ||||
-rw-r--r-- | taskcluster/ci/config.yml | 1072 | ||||
-rw-r--r-- | taskcluster/ci/docker-image/kind.yml | 253 | ||||
-rw-r--r-- | taskcluster/ci/fetch/chromium-fetch.yml | 38 | ||||
-rw-r--r-- | taskcluster/ci/generate-profile/kind.yml | 364 | ||||
-rw-r--r-- | taskcluster/ci/github-sync/kind.yml | 53 | ||||
-rw-r--r-- | taskcluster/ci/hazard/kind.yml | 83 | ||||
-rw-r--r-- | taskcluster/ci/instrumented-build/kind.yml | 493 | ||||
-rw-r--r-- | taskcluster/ci/mar-signing-l10n/kind.yml | 39 | ||||
-rw-r--r-- | taskcluster/ci/release-beetmover-signed-langpacks/kind.yml | 40 | ||||
-rw-r--r-- | taskcluster/ci/release-flatpak-push/kind.yml | 42 | ||||
-rw-r--r-- | taskcluster/ci/release-msix-push/kind.yml | 45 | ||||
-rw-r--r-- | taskcluster/ci/release-secondary-flatpak-push/kind.yml | 38 | ||||
-rw-r--r-- | taskcluster/ci/release-source/kind.yml | 54 | ||||
-rw-r--r-- | taskcluster/ci/repackage-deb/kind.yml | 53 | ||||
-rw-r--r-- | taskcluster/ci/repackage-l10n/kind.yml | 86 | ||||
-rw-r--r-- | taskcluster/ci/searchfox/kind.yml | 224 | ||||
-rw-r--r-- | taskcluster/ci/shippable-l10n/kind.yml | 199 | ||||
-rw-r--r-- | taskcluster/ci/spidermonkey/kind.yml | 74 | ||||
-rw-r--r-- | taskcluster/ci/static-analysis-autotest/kind.yml | 101 | ||||
-rw-r--r-- | taskcluster/ci/system-symbols-reprocess/kind.yml | 46 | ||||
-rw-r--r-- | taskcluster/ci/system-symbols-upload/kind.yml | 34 | ||||
-rw-r--r-- | taskcluster/ci/test-apk/kind.yml | 157 | ||||
-rw-r--r-- | taskcluster/ci/test-components/kind.yml | 89 | ||||
-rw-r--r-- | taskcluster/ci/toolchain/android.yml | 264 | ||||
-rw-r--r-- | taskcluster/ci/ui-test-apk/kind.yml | 353 | ||||
-rw-r--r-- | taskcluster/ci/updatebot/kind.yml | 92 | ||||
-rw-r--r-- | taskcluster/ci/upload-generated-sources/kind.yml | 42 | ||||
-rw-r--r-- | taskcluster/ci/valgrind/kind.yml | 65 | ||||
-rw-r--r-- | taskcluster/config.yml | 1092 | ||||
-rw-r--r-- | taskcluster/docker/debian-repackage/Dockerfile | 36 | ||||
-rw-r--r-- | taskcluster/docker/github-sync/Dockerfile | 14 | ||||
-rwxr-xr-x | taskcluster/docker/github-sync/prepare.sh | 31 | ||||
-rw-r--r-- | taskcluster/docker/github-sync/requirements.txt | 3 | ||||
-rw-r--r-- | taskcluster/docker/sentry/Dockerfile | 2 | ||||
-rw-r--r-- | taskcluster/docker/snap-coreXX-build/snap-tests/README.md | 4 | ||||
-rw-r--r-- | taskcluster/docker/snap-coreXX-build/snap-tests/record.py | 24 | ||||
-rwxr-xr-x | taskcluster/docker/snap-coreXX-build/snap-tests/tests.sh | 10 | ||||
-rw-r--r-- | taskcluster/docker/system-symbols-linux-scraper/Dockerfile | 2 | ||||
-rw-r--r-- | taskcluster/docker/system-symbols-linux-scraper/README | 64 | ||||
-rw-r--r-- | taskcluster/docker/updatebot/updatebot-version.sh | 2 | ||||
-rw-r--r-- | taskcluster/docker/updatebot/windows-setup.sh | 4 | ||||
-rw-r--r-- | taskcluster/docs/howto/index.rst | 4 | ||||
-rw-r--r-- | taskcluster/docs/kinds.rst | 7 | ||||
-rw-r--r-- | taskcluster/docs/kinds/test.rst | 2 | ||||
-rw-r--r-- | taskcluster/docs/partner-attribution.rst | 2 | ||||
-rw-r--r-- | taskcluster/docs/partner-repacks.rst | 2 | ||||
-rw-r--r-- | taskcluster/docs/taskgraph.rst | 6 | ||||
-rw-r--r-- | taskcluster/docs/versioncontrol.rst | 2 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/config.py | 3 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/files_changed.py | 16 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/main.py | 10 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/manifests/firefox_candidates.yml | 6 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/manifests/firefox_candidates_checksums.yml | 2 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/manifests/firefox_nightly.yml | 56 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/manifests/firefox_nightly_checksums.yml | 2 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/optimize/mozlint.py | 96 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/optimize/schema.py | 2 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/optimize/strategies.py | 5 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/target_tasks.py | 120 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/test/automationrelevance.json | 358 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/test/conftest.py | 2 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/test/test_actions_util.py | 1 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/test/test_files_changed.py | 46 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/test/test_optimize_strategies.py | 75 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/test/test_transforms_job.py | 2 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/transforms/bouncer_submission.py | 1 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/transforms/build.py | 4 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/transforms/build_schedules.py | 18 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/transforms/diffoscope.py | 2 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/transforms/github_sync.py | 23 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/transforms/perftest.py | 1 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/transforms/reprocess_symbols.py | 2 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/transforms/signing.py | 23 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/transforms/source_checksums_signing.py | 1 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/transforms/source_test.py | 9 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/transforms/task.py | 7 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/transforms/test/other.py | 26 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/transforms/test/variant.py | 12 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/transforms/upload_generated_sources.py | 2 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/transforms/upload_symbols.py | 2 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/util/chunking.py | 4 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/util/docker.py | 2 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/util/hg.py | 8 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/util/partners.py | 2 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/util/platforms.py | 3 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/util/signed_artifacts.py | 2 | ||||
-rw-r--r-- | taskcluster/gecko_taskgraph/util/taskcluster.py | 2 | ||||
-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 | 56 | ||||
-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 | 106 | ||||
-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 | 30 | ||||
-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 | 66 | ||||
-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 | 520 | ||||
-rw-r--r-- | taskcluster/kinds/build-bundle/kind.yml | 215 | ||||
-rw-r--r-- | taskcluster/kinds/build-components/kind.yml | 135 | ||||
-rw-r--r-- | taskcluster/kinds/build-fat-aar/kind.yml | 204 | ||||
-rw-r--r-- | taskcluster/kinds/build-mac-notarization/kind.yml | 34 | ||||
-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 | 64 | ||||
-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 | 644 | ||||
-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 | 250 | ||||
-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 | 48 | ||||
-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 | 365 | ||||
-rw-r--r-- | taskcluster/kinds/hazard/kind.yml | 84 | ||||
-rw-r--r-- | taskcluster/kinds/instrumented-build/kind.yml | 491 | ||||
-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 | 40 | ||||
-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 | 37 | ||||
-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 | 39 | ||||
-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 | 42 | ||||
-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 | 35 | ||||
-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 | 51 | ||||
-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 | 54 | ||||
-rw-r--r-- | taskcluster/kinds/repackage-l10n/kind.yml | 87 | ||||
-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 | 223 | ||||
-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 | 208 | ||||
-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 | 75 | ||||
-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 | 102 | ||||
-rw-r--r-- | taskcluster/kinds/system-symbols-reprocess/kind.yml | 46 | ||||
-rw-r--r-- | taskcluster/kinds/system-symbols-upload/kind.yml | 34 | ||||
-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 | 157 | ||||
-rw-r--r-- | taskcluster/kinds/test-components/kind.yml | 89 | ||||
-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 | 252 | ||||
-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 | 354 | ||||
-rw-r--r-- | taskcluster/kinds/updatebot/kind.yml | 92 | ||||
-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 | 42 | ||||
-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 | 66 | ||||
-rw-r--r-- | taskcluster/kinds/webrender/kind.yml (renamed from taskcluster/ci/webrender/kind.yml) | 0 | ||||
-rwxr-xr-x | taskcluster/scripts/builder/build-android.sh | 2 | ||||
-rw-r--r-- | taskcluster/scripts/lib/testrail_api.py | 126 | ||||
-rw-r--r-- | taskcluster/scripts/misc/afl-nyx.patch | 29 | ||||
-rwxr-xr-x | taskcluster/scripts/misc/android-gradle-dependencies/after.sh | 2 | ||||
-rwxr-xr-x | taskcluster/scripts/misc/android-gradle-dependencies/before.sh | 22 | ||||
-rw-r--r-- | taskcluster/scripts/misc/cctools.patch | 14 | ||||
-rw-r--r-- | taskcluster/scripts/misc/fetch-chromium.py | 56 | ||||
-rwxr-xr-x | taskcluster/scripts/misc/gradle-python-envs.sh | 11 | ||||
-rw-r--r-- | taskcluster/scripts/misc/wasi-sdk.patch | 34 | ||||
-rw-r--r-- | taskcluster/scripts/testrail_main.py | 13 | ||||
-rw-r--r-- | taskcluster/scripts/tests/test-lab.py | 13 | ||||
-rw-r--r-- | taskcluster/test/conftest.py | 4 | ||||
-rw-r--r-- | taskcluster/test/data/automationrelevance.json | 169 | ||||
-rw-r--r-- | taskcluster/test/data/pushfileschanged.json | 25 | ||||
-rw-r--r-- | taskcluster/test/params/mb-promote-android.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/params/mb-promote-devedition-partials.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/params/mb-promote-devedition.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/params/mb-promote-firefox-partials.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/params/mb-promote-firefox.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/params/mb-push-android.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/params/mb-push-devedition.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/params/mb-push-firefox-partials.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/params/mb-push-firefox.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/params/mb-ship-android.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/params/mb-ship-devedition.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/params/mb-ship-firefox-partials.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/params/mb-ship-firefox.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/params/mc-android-nightly.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/params/mc-desktop-nightly.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/params/mc-nightly-all.yml | 15 | ||||
-rw-r--r-- | taskcluster/test/params/me-promote-firefox.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/params/me-push-firefox.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/params/me-ship-firefox.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/params/mr-promote-firefox-rc.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/params/mr-promote-firefox.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/params/mr-push-firefox.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/params/mr-ship-firefox-rc.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/params/mr-ship-firefox.yml | 1 | ||||
-rw-r--r-- | taskcluster/test/test_autoland.py | 28 |
398 files changed, 7472 insertions, 7647 deletions
diff --git a/taskcluster/android_taskgraph/target_tasks.py b/taskcluster/android_taskgraph/target_tasks.py index 38b1f7b772..13cc8d87dd 100644 --- a/taskcluster/android_taskgraph/target_tasks.py +++ b/taskcluster/android_taskgraph/target_tasks.py @@ -2,12 +2,12 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -from taskgraph.target_tasks import _target_task +from taskgraph.target_tasks import register_target_task from android_taskgraph.release_type import does_task_match_release_type -@_target_task("promote_android") +@register_target_task("promote_android") def target_tasks_promote(full_task_graph, parameters, graph_config): return _filter_release_promotion( full_task_graph, @@ -17,7 +17,7 @@ def target_tasks_promote(full_task_graph, parameters, graph_config): ) -@_target_task("push_android") +@register_target_task("push_android") def target_tasks_push(full_task_graph, parameters, graph_config): filtered_for_candidates = target_tasks_promote( full_task_graph, @@ -29,7 +29,7 @@ def target_tasks_push(full_task_graph, parameters, graph_config): ) -@_target_task("ship_android") +@register_target_task("ship_android") def target_tasks_ship(full_task_graph, parameters, graph_config): filtered_for_candidates = target_tasks_push( full_task_graph, @@ -71,7 +71,7 @@ def _filter_release_promotion( return [l for l, t in full_task_graph.tasks.items() if filter(t, parameters)] -@_target_task("screenshots") +@register_target_task("screenshots") def target_tasks_screnshots(full_task_graph, parameters, graph_config): """Select the set of tasks required to generate screenshots on a real device.""" @@ -81,7 +81,7 @@ def target_tasks_screnshots(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t, parameters)] -@_target_task("legacy_api_ui_tests") +@register_target_task("legacy_api_ui_tests") def target_tasks_legacy_api_ui_tests(full_task_graph, parameters, graph_config): """Select the set of tasks required to run select UI tests on other API.""" diff --git a/taskcluster/android_taskgraph/transforms/build_android_app.py b/taskcluster/android_taskgraph/transforms/build_android_app.py index 67fc210ad5..ee8c4c564f 100644 --- a/taskcluster/android_taskgraph/transforms/build_android_app.py +++ b/taskcluster/android_taskgraph/transforms/build_android_app.py @@ -22,7 +22,6 @@ def add_common_config(config, tasks): fetches["toolchain"] = [ "android-sdk-linux", "android-gradle-dependencies", - "android-gradle-python-envs", "linux64-jdk", ] fetches["build-fat-aar"] = [ diff --git a/taskcluster/ci/android-l10n/kind.yml b/taskcluster/ci/android-l10n/kind.yml deleted file mode 100644 index 8e5d35995d..0000000000 --- a/taskcluster/ci/android-l10n/kind.yml +++ /dev/null @@ -1,55 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -transforms: - - gecko_taskgraph.transforms.task:transforms - -job-defaults: - run-on-projects: [] - treeherder: - kind: build - platform: fenix-android-all/opt - tier: 1 - worker-type: tree - worker: - implementation: treescript - tags: [] - bump: false - dontbuild: false - ignore-closed-tree: true - push: true - -jobs: - import: - name: android_l10n_import - description: Import strings from android-l10n repo - treeherder: - symbol: android-l10n(I) - worker: - source-repo: https://hg.mozilla.org/integration/autoland - android-l10n-import-info: - from-repo-url: https://github.com/mozilla-l10n/android-l10n - toml-info: - - toml-path: mozilla-mobile/fenix/l10n.toml - dest-path: mobile/android/fenix - - toml-path: mozilla-mobile/focus-android/l10n.toml - dest-path: mobile/android/focus-android - - toml-path: mozilla-mobile/android-components/l10n.toml - dest-path: mobile/android/android-components - - sync: - name: android_l10n_sync - description: Sync android-l10n strings from central to beta - treeherder: - symbol: android-l10n(S) - worker: - source-repo: https://hg.mozilla.org/releases/mozilla-beta - android-l10n-sync-info: - from-repo-url: https://hg.mozilla.org/mozilla-central - toml-info: - - toml-path: mobile/android/fenix/l10n.toml - - toml-path: mobile/android/focus-android/l10n.toml - - toml-path: mobile/android/android-components/l10n.toml diff --git a/taskcluster/ci/artifact-build/kind.yml b/taskcluster/ci/artifact-build/kind.yml deleted file mode 100644 index d91249fce9..0000000000 --- a/taskcluster/ci/artifact-build/kind.yml +++ /dev/null @@ -1,105 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -kind-dependencies: - - fetch - - toolchain - -transforms: - - gecko_taskgraph.transforms.build_attrs:transforms - - gecko_taskgraph.transforms.build_lints:transforms - - gecko_taskgraph.transforms.job:transforms - - gecko_taskgraph.transforms.artifact:transforms - - gecko_taskgraph.transforms.task:transforms - -job-defaults: - index: - product: firefox - treeherder: - kind: build - symbol: AB - tier: 1 - run-on-projects: ['mozilla-central'] - worker-type: b-linux-gcp - worker: - max-run-time: 3600 - env: - PERFHERDER_EXTRA_OPTIONS: artifact - MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system - USE_ARTIFACT: '1' - run: - using: mozharness - actions: [get-secrets, build] - config: - - builds/releng_base_firefox.py - script: "mozharness/scripts/fx_desktop_build.py" - secrets: true - tooltool-downloads: public - keep-artifacts: false - use-python: default - -jobs: - linux64-artifact/opt: - description: "Linux64 Opt Artifact Build" - index: - job-name: linux64-artifact-opt - treeherder: - platform: linux64/opt - worker: - env: - MOZ_ARTIFACT_TASK: {task-reference: '<linux64-opt>'} - run: - config: - - builds/releng_base_linux_64_builds.py - dependencies: - linux64-opt: build-linux64/opt - fetches: - toolchain: - - linux64-node - - macosx64-artifact/opt: - description: "MacOS X x64 Opt Artifact Build" - index: - job-name: macosx64-artifact-opt - treeherder: - platform: osx-cross/opt - worker: - env: - MOZ_ARTIFACT_TASK: {task-reference: '<macosx64-opt>'} - run: - config: - - builds/releng_base_mac_64_cross_builds.py - dependencies: - macosx64-opt: build-macosx64/opt - fetches: - toolchain: - - linux64-hfsplus - - linux64-libdmg - - linux64-node - - win64-artifact/opt: - description: "Win64 Opt Artifact Build" - index: - job-name: win64-artifact-opt - treeherder: - platform: windows2012-64/opt - worker: - env: - MOZ_ARTIFACT_TASK: {task-reference: '<win64-opt>'} - run: - config: - - builds/releng_base_linux_64_builds.py - extra-config: - mozconfig_platform: win64 - dependencies: - win64-opt: build-win64/opt - fetches: - toolchain: - - linux64-node - - linux64-wine - - nsis - fetch: - - upx-3.95-win diff --git a/taskcluster/ci/beetmover-apt/kind.yml b/taskcluster/ci/beetmover-apt/kind.yml deleted file mode 100644 index 9eb65f8858..0000000000 --- a/taskcluster/ci/beetmover-apt/kind.yml +++ /dev/null @@ -1,29 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -transforms: - - taskgraph.transforms.from_deps - - gecko_taskgraph.transforms.release:run_on_releases - - gecko_taskgraph.transforms.beetmover_apt - - gecko_taskgraph.transforms.task - -kind-dependencies: - - beetmover-repackage - -only-for-build-platforms: - - linux-shippable/opt - - linux64-shippable/opt - - linux-devedition/opt - - linux64-devedition/opt - -jobs: - beetmover-apt: - from-deps: - group-by: single-with-filters - run-on-releases: - - nightly - - beta - - release diff --git a/taskcluster/ci/beetmover-repackage/kind.yml b/taskcluster/ci/beetmover-repackage/kind.yml deleted file mode 100644 index 8746bb5b44..0000000000 --- a/taskcluster/ci/beetmover-repackage/kind.yml +++ /dev/null @@ -1,65 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -transforms: - - taskgraph.transforms.from_deps - - gecko_taskgraph.transforms.name_sanity - - gecko_taskgraph.transforms.beetmover_repackage_l10n - - gecko_taskgraph.transforms.beetmover_repackage - - gecko_taskgraph.transforms.task - -kind-dependencies: - # Primary dependencies - - repackage - - repackage-l10n - # Other dependencies - - build - - build-signing - - build-mac-signing - - build-mac-notarization - - repackage-signing - - shippable-l10n - - shippable-l10n-signing - - shippable-l10n-mac-signing - - shippable-l10n-mac-notarization - - repackage-signing-l10n - - partials - - partials-signing - - repackage-signing-msi - - repackage-signing-shippable-l10n-msix - - mar-signing - - mar-signing-l10n - - attribution - - attribution-l10n - - repackage-deb - - repackage-deb-l10n - -only-for-build-platforms: - - linux-shippable/opt - - linux64-shippable/opt - - macosx64-shippable/opt - - win32-shippable/opt - - win64-shippable/opt - - win64-aarch64-shippable/opt - - linux-devedition/opt - - linux64-devedition/opt - - macosx64-devedition/opt - - win32-devedition/opt - - win64-devedition/opt - - win64-aarch64-devedition/opt - - linux64-asan-reporter-shippable/opt - - win64-asan-reporter-shippable/opt - -jobs: - beetmover-repackage: - from-deps: - group-by: single-locale - shipping-phase: promote - attributes: - artifact_map: - by-release-type: - beta|release.*|esr.*: taskcluster/gecko_taskgraph/manifests/firefox_candidates.yml - default: taskcluster/gecko_taskgraph/manifests/firefox_nightly.yml diff --git a/taskcluster/ci/build-apk/kind.yml b/taskcluster/ci/build-apk/kind.yml deleted file mode 100644 index 99132d17f8..0000000000 --- a/taskcluster/ci/build-apk/kind.yml +++ /dev/null @@ -1,518 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -transforms: - - android_taskgraph.transforms.build_android_app:transforms - - gecko_taskgraph.transforms.build_schedules:transforms - - gecko_taskgraph.transforms.job:transforms - - gecko_taskgraph.transforms.task:transforms - -kind-dependencies: - - toolchain - - build-fat-aar - -job-defaults: - apk-artifact-template: - type: file - name: 'public/build/target.{abi}.apk' - path: '/builds/worker/checkouts/gecko/mobile/android/{source_project_name}/app/build/outputs/apk/{gradle_build}/{gradle_build_type}/{fileName}' - - -jobs: - focus-debug: - attributes: - shipping-product: focus - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt - description: 'Focus debug build from source code' - run: - gradle-build-type: debug - gradle-build-name: focusDebug - gradle-build: focus - source-project-name: "focus-android" - treeherder: - symbol: focus-debug(Bf) - platform: focus-android-all/opt - - klar-debug: - attributes: - shipping-product: focus - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt - description: 'Klar debug build from source code' - run: - gradle-build-type: debug - gradle-build-name: klarDebug - gradle-build: klar - source-project-name: "focus-android" - treeherder: - symbol: focus-debug(Bkl) - platform: focus-android-all/opt - - fenix-debug: - attributes: - shipping-product: fenix - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt - description: 'Fenix debug build from source code' - run: - gradle-build-type: debug - gradle-build-name: fenixDebug - gradle-build: fenix - gradle-extra-options: - - -PdisableLeakCanary - track-apk-size: true - source-project-name: "fenix" - treeherder: - symbol: fenix-debug(Bf) - platform: fenix-android-all/opt - - focus-release: - description: 'Release Focus build' - attributes: - release-type: release - shipping-product: focus - shipping-product: firefox-android - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt - include-shippable-secrets: true - include-release-version: true - run: - gradle-build-type: release - gradle-build-name: focusRelease - gradle-build: focus - run-on-projects: [] - shipping-phase: promote - source-project-name: "focus-android" - treeherder: - symbol: focus-release(Bf) - platform: focus-android-all/opt - - klar-release: - description: 'Release Klar build' - attributes: - release-type: release - shipping-product: focus - shipping-product: firefox-android - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt - include-shippable-secrets: true - include-release-version: true - run: - gradle-build-type: release - gradle-build-name: klarRelease - gradle-build: klar - run-on-projects: [] - shipping-phase: promote - source-project-name: "focus-android" - treeherder: - symbol: focus-release(Bkl) - platform: focus-android-all/opt - - fenix-release: - description: 'Release Fenix build' - attributes: - release-type: release - shipping-product: fenix - shipping-product: firefox-android - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt - include-shippable-secrets: true - include-release-version: true - run: - gradle-build-type: release - gradle-build-name: fenixRelease - gradle-build: fenix - track-apk-size: true - run-on-projects: [] - shipping-phase: promote - source-project-name: "fenix" - treeherder: - symbol: fenix-release(Bf) - platform: fenix-android-all/opt - - focus-nightly: - description: 'Nightly focus build' - attributes: - # any tasks that have this as a primary dependency will - # inherit this attribute via the multi_dep loader - shipping-product: focus - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt - include-shippable-secrets: true - include-nightly-version: true - run: - gradle-build-type: nightly - gradle-build-name: focusNightly - gradle-build: focus - run-on-projects: [] - source-project-name: "focus-android" - treeherder: - symbol: focus-nightly(B) - platform: focus-android-all/opt - - fenix-nightly: - description: 'Nightly fenix build' - attributes: - # any tasks that have this as a primary dependency will - # inherit this attribute via the multi_dep loader - shipping-product: fenix - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt - include-shippable-secrets: true - include-nightly-version: true - source-project-name: "fenix" - run: - gradle-build-type: nightly - gradle-build-name: fenixNightly - gradle-build: fenix - track-apk-size: true - run-on-projects: [] - treeherder: - symbol: fenix-nightly(B) - platform: fenix-android-all/opt - - focus-beta: - description: 'Beta focus build' - attributes: - release-type: beta - shipping-product: focus - shipping-product: firefox-android - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt - include-shippable-secrets: true - include-release-version: true - run: - gradle-build-type: beta - gradle-build-name: focusBeta - gradle-build: focus - run-on-projects: [] - shipping-phase: promote - source-project-name: "focus-android" - treeherder: - symbol: focus-beta(B) - platform: focus-android-all/opt - - fenix-beta: - description: 'Beta fenix build' - attributes: - release-type: beta - shipping-product: fenix - shipping-product: firefox-android - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt - include-shippable-secrets: true - include-release-version: true - run: - gradle-build-type: beta - gradle-build-name: fenixBeta - gradle-build: fenix - track-apk-size: true - run-on-projects: [] - shipping-phase: promote - source-project-name: "fenix" - treeherder: - symbol: fenix-beta(B) - platform: fenix-android-all/opt - - focus-nightly-firebase: - attributes: - shipping-product: focus - description: 'Focus Nightly build for UI tests' - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt - disable-optimization: true - run: - gradle-build-type: nightly - gradle-build-name: focusNightly - gradle-build: focus - test-build-type: nightly - run-on-projects: [trunk] - source-project-name: "focus-android" - treeherder: - symbol: focus-nightly(Bf) - platform: focus-android-all/opt - - fenix-nightly-firebase: - attributes: - shipping-product: fenix - description: 'Fenix Nightly build for UI tests' - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt - disable-optimization: true - run: - gradle-build-type: nightly - gradle-build-name: fenixNightly - gradle-build: fenix - test-build-type: nightly - run-on-projects: [trunk] - source-project-name: "fenix" - treeherder: - symbol: fenix-nightly(Bf) - platform: fenix-android-all/opt - - focus-beta-firebase: - attributes: - shipping-product: focus - description: 'Focus Beta build for UI tests' - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt - disable-optimization: true - run: - gradle-build-type: beta - gradle-build-name: focusBeta - gradle-build: focus - test-build-type: beta - run-on-projects: ['release'] - source-project-name: "focus-android" - treeherder: - symbol: focus-beta(Bf) - platform: focus-android-all/opt - - fenix-beta-firebase: - attributes: - shipping-product: fenix - description: 'Fenix Beta build for UI tests' - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt - disable-optimization: true - run: - gradle-build-type: beta - gradle-build-name: fenixBeta - gradle-build: fenix - test-build-type: beta - run-on-projects: ['release'] - source-project-name: "fenix" - treeherder: - symbol: fenix-beta(Bf) - platform: fenix-android-all/opt - - focus-android-test-debug: - attributes: - shipping-product: focus - description: 'Focus Android Test for debugging' - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt - run: - gradle-build-type: androidTest - gradle-build-name: androidTest - gradle-build: focus - source-project-name: "focus-android" - apk-artifact-template: - # this path is determined by the gradle build configs - path: '/builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/outputs/apk/androidTest/focus/debug/app-focus-debug-androidTest.apk' - treeherder: - symbol: focus-debug(Bat) - platform: focus-android-all/opt - - fenix-android-test-debug: - attributes: - shipping-product: fenix - description: 'Fenix Debug Android Test for debugging' - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt - run: - gradle-build-type: androidTest - gradle-build-name: androidTest - gradle-build: fenix - source-project-name: "fenix" - apk-artifact-template: - # 3 differences here: - # * "androidTest/" is added - # * "{gradle_build_type}" is forced to "debug" - # * "{fileName}" is forced to "app-fenix-debug-androidTest.apk" - path: '/builds/worker/checkouts/gecko/mobile/android/fenix/app/build/outputs/apk/androidTest/fenix/debug/app-fenix-debug-androidTest.apk' - treeherder: - symbol: fenix-debug(Bat) - platform: fenix-android-all/opt - - # android-test-nightly and android-test-beta, while still being debug builds, are meant to be signed - # with the nightly/beta key. The Firebase testing infrastructure requires both the androidTest APK - # and the APK under test to be signed with the same key. Thus, the nightly APK being signed with - # nightly means we need an androidTest APK with the same signature. - - focus-android-test-nightly: - attributes: - shipping-product: focus - description: 'Focus Nightly Android Test for debugging' - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt - run: - gradle-build-type: androidTest - gradle-build-name: androidTest - gradle-build: focus - test-build-type: nightly - run-on-projects: [trunk] - source-project-name: "focus-android" - apk-artifact-template: - path: '/builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/outputs/apk/androidTest/focus/nightly/app-focus-nightly-androidTest.apk' - treeherder: - symbol: focus-nightly(Bat) - platform: focus-android-all/opt - - # android-test-nightly and android-test-beta, while still being debug builds, are meant to be signed - # with the nightly/beta key. The Firebase testing infrastructure requires both the androidTest APK - # and the APK under test to be signed with the same key. Thus, the nightly APK being signed with - # nightly means we need an androidTest APK with the same signature. - # - # TODO: See if we can tweak the signing kind to make 2 signing jobs out of a single `android-test` - # job. - fenix-android-test-nightly: - attributes: - nightly: true - shipping-product: fenix - description: 'Fenix Nightly Android Test for debugging' - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt - apk-artifact-template: - # 3 differences here: - # * "androidTest/" is added - # * "{gradle_build_type}" is forced to "debug" - # * "{fileName}" is forced to "app-fenix-nightly-androidTest.apk" - path: '/builds/worker/checkouts/gecko/mobile/android/fenix/app/build/outputs/apk/androidTest/fenix/nightly/app-fenix-nightly-androidTest.apk' - disable-optimization: true - run: - gradle-build-type: androidTest - gradle-build-name: androidTest - gradle-build: fenix - test-build-type: nightly - run-on-projects: [trunk] - source-project-name: "fenix" - treeherder: - symbol: fenix-nightly(Bat) - platform: fenix-android-all/opt - - focus-android-test-beta: - attributes: - shipping-product: focus - description: 'Focus Beta Android Test for debugging' - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt - run: - gradle-build-type: androidTest - gradle-build-name: androidTest - gradle-build: focus - test-build-type: beta - run-on-projects: ['release'] - source-project-name: "focus-android" - apk-artifact-template: - path: '/builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/outputs/apk/androidTest/focus/beta/app-focus-beta-androidTest.apk' - treeherder: - symbol: focus-beta(Bat) - platform: focus-android-all/opt - - fenix-android-test-beta: - attributes: - shipping-product: fenix - description: 'Fenix Beta Android Test for debugging' - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt - apk-artifact-template: - # 3 differences here: - # * "androidTest/" is added - # * "{gradle_build_type}" is forced to "beta" - # * "{fileName}" is forced to "app-fenix-beta-androidTest.apk" - path: '/builds/worker/checkouts/gecko/mobile/android/fenix/app/build/outputs/apk/androidTest/fenix/beta/app-fenix-beta-androidTest.apk' - disable-optimization: true - run: - gradle-build-type: androidTest - gradle-build-name: androidTest - gradle-build: fenix - test-build-type: beta - run-on-projects: ['release'] - source-project-name: "fenix" - treeherder: - symbol: fenix-beta(Bat) - platform: fenix-android-all/opt - - fenix-android-test-mozillaonline: - attributes: - shipping-product: fenix - description: 'Fenix Android Test mozillaonline' - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt - apk-artifact-template: - # 3 differences here: - # * "androidTest/" is added - # * "{gradle_build_type}" is forced to "beta" - # * "{fileName}" is forced to "app-fenix-beta-androidTest.apk" - path: '/builds/worker/checkouts/gecko/mobile/android/fenix/app/build/outputs/apk/androidTest/fenix/beta/app-fenix-beta-androidTest.apk' - run-on-projects: [] - disable-optimization: true - run: - gradle-build-type: androidTest - gradle-build-name: androidTest - gradle-build: fenix - gradle-extra-options: - - -PmozillaOnline - test-build-type: beta - source-project-name: "fenix" - treeherder: - symbol: fenix-beta(Bat-mo) - platform: fenix-android-all/opt - - fenix-nightly-simulation: - description: 'Fenix Nightly Simulation' - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt - attributes: - nightly: false - shipping-product: fenix - include-nightly-version: true - include-shippable-secrets: true - run-on-projects: [] - run: - gradle-build-type: nightly - gradle-build-name: fenixNightly - gradle-build: fenix - source-project-name: "fenix" - treeherder: - symbol: fenix-nightlySim(B) - platform: fenix-android-all/opt - - fenix-beta-mozillaonline: - description: 'Fenix Beta mozillaonline' - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt - attributes: - release-type: beta - shipping_phase: promote - shipping-product: fenix - include-release-version: true - include-shippable-secrets: true - run: - gradle-build-type: beta - gradle-build-name: fenixBeta - gradle-build: fenix - gradle-extra-options: - - -PmozillaOnline - run-on-projects: [] - source-project-name: "fenix" - treeherder: - symbol: fenix-beta(Bmo) - platform: fenix-android-all/opt - - fenix-release-mozillaonline: - description: 'Fenix Release mozillaonline' - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt - attributes: - release-type: release - shipping_phase: promote - shipping-product: fenix - include-release-version: true - include-shippable-secrets: true - run: - gradle-build-type: release - gradle-build-name: fenixRelease - gradle-build: fenix - gradle-extra-options: - - -PmozillaOnline - run-on-projects: [] - source-project-name: "fenix" - treeherder: - symbol: fenix-release(Bmo) - platform: fenix-android-all/opt diff --git a/taskcluster/ci/build-bundle/kind.yml b/taskcluster/ci/build-bundle/kind.yml deleted file mode 100644 index 081b5aba60..0000000000 --- a/taskcluster/ci/build-bundle/kind.yml +++ /dev/null @@ -1,213 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -transforms: - - android_taskgraph.transforms.build_android_app:transforms - - gecko_taskgraph.transforms.build_schedules:transforms - - gecko_taskgraph.transforms.job:transforms - - gecko_taskgraph.transforms.task:transforms - -kind-dependencies: - - toolchain - - build-fat-aar - -job-defaults: - aab-artifact-template: - type: file - name: 'public/build/target.aab' - path: '/builds/worker/checkouts/gecko/mobile/android/{source_project_name}/app/build/outputs/bundle/{variant_name}/app-{gradle_build}-{gradle_build_type}.aab' - run: - gradle-package-command: bundle - gradle-extra-options: - - -Paab - - -jobs: - focus-debug: - attributes: - shipping-product: focus - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt - description: 'Focus debug AAB build from source code' - run: - gradle-build-type: debug - gradle-build-name: focusDebug - gradle-build: focus - source-project-name: "focus-android" - treeherder: - platform: focus-android-all/opt - symbol: focus-debug(AABf) - - klar-debug: - attributes: - shipping-product: focus - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt - description: 'Klar debug AAB build from source code' - run: - gradle-build-type: debug - gradle-build-name: klarDebug - gradle-build: klar - source-project-name: "focus-android" - treeherder: - platform: focus-android-all/opt - symbol: focus-debug(AABkl) - - fenix-debug: - attributes: - shipping-product: fenix - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt - description: 'Fenix debug AAB build from source code' - run: - gradle-build-type: debug - gradle-build-name: fenixDebug - gradle-build: fenix - source-project-name: "fenix" - treeherder: - platform: fenix-android-all/opt - symbol: fenix-debug(AAB) - - focus-release: - attributes: - release-type: release - shipping-product: focus - shipping-product: firefox-android - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt - description: 'Focus release AAB build from source code' - include-shippable-secrets: true - include-release-version: true - run-on-projects: ["mozilla-release"] - run: - gradle-build-type: release - gradle-build-name: focusRelease - gradle-build: focus - shipping-phase: promote - source-project-name: "focus-android" - treeherder: - platform: focus-android-all/opt - symbol: focus-release(AABf) - - klar-release: - attributes: - release-type: release - shipping-product: focus - shipping-product: firefox-android - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt - description: 'Klar release AAB build from source code' - include-shippable-secrets: true - include-release-version: true - run-on-projects: ["mozilla-release"] - run: - gradle-build-type: release - gradle-build-name: klarRelease - gradle-build: klar - shipping-phase: promote - source-project-name: "focus-android" - treeherder: - platform: focus-android-all/opt - symbol: focus-release(AABkl) - - fenix-release: - attributes: - release-type: release - shipping-product: fenix - shipping-product: firefox-android - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt - description: 'Fenix release AAB build from source code' - include-shippable-secrets: true - include-release-version: true - run-on-projects: ["mozilla-release"] - run: - gradle-build-type: release - gradle-build-name: fenixRelease - gradle-build: fenix - shipping-phase: promote - source-project-name: "fenix" - treeherder: - platform: fenix-android-all/opt - symbol: fenix-release(AAB) - - focus-nightly: - attributes: - shipping-product: focus - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt - description: 'Focus nightly AAB build from source code' - include-shippable-secrets: true - include-nightly-version: true - run-on-projects: ["mozilla-central"] - run: - gradle-build-type: nightly - gradle-build-name: focusNightly - gradle-build: focus - source-project-name: "focus-android" - treeherder: - platform: focus-android-all/opt - symbol: focus-nightly(AABf) - - fenix-nightly: - attributes: - shipping-product: fenix - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt - description: 'Fenix nightly AAB build from source code' - include-shippable-secrets: true - include-nightly-version: true - run-on-projects: ["mozilla-central"] - run: - gradle-build-type: nightly - gradle-build-name: fenixNightly - gradle-build: fenix - source-project-name: "fenix" - treeherder: - platform: fenix-android-all/opt - symbol: fenix-nightly(AAB) - - focus-beta: - attributes: - release-type: beta - shipping-product: focus - shipping-product: firefox-android - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt - description: 'Focus beta AAB build from source code' - include-shippable-secrets: true - include-release-version: true - run-on-projects: ["mozilla-beta"] - run: - gradle-build-type: beta - gradle-build-name: focusBeta - gradle-build: focus - shipping-phase: promote - source-project-name: "focus-android" - treeherder: - platform: focus-android-all/opt - symbol: focus-beta(AABf) - - fenix-beta: - attributes: - release-type: beta - shipping-product: fenix - shipping-product: firefox-android - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt - description: 'Fenix beta AAB build from source code' - include-shippable-secrets: true - include-release-version: true - run-on-projects: ["mozilla-beta"] - run: - gradle-build-type: beta - gradle-build-name: fenixBeta - gradle-build: fenix - shipping-phase: promote - source-project-name: "fenix" - treeherder: - platform: fenix-android-all/opt - symbol: fenix-beta(AAB) diff --git a/taskcluster/ci/build-components/kind.yml b/taskcluster/ci/build-components/kind.yml deleted file mode 100644 index 4d9ae555fa..0000000000 --- a/taskcluster/ci/build-components/kind.yml +++ /dev/null @@ -1,134 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: android_taskgraph.loader.build_config:components_loader - -transforms: - - android_taskgraph.transforms.build_components:transforms - - gecko_taskgraph.transforms.build_schedules:transforms - - gecko_taskgraph.transforms.job:transforms - - gecko_taskgraph.transforms.task:transforms - -not-for-components: - - samples-browser # Their configs are too different, so they're handled in a specific kind - -kind-dependencies: - - toolchain - - build-fat-aar - -job-defaults: - artifact-template: - type: file - name: public/build/{artifact_file_name} - path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/maven/org/mozilla/components/{component}/{version}/{artifact_file_name}' - tests-artifact-template: - type: directory - name: public/reports/tests - path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/reports/tests' - lint-artifact-template: - type: file - name: public/reports/lint-results-release.html - path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/reports/lint-results-release.html' - jacoco-coverage-template: - type: directory - name: public/reports/jacoco - path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/reports/jacoco' - description: Execute Gradle tasks for component "{component}" - fetches: - toolchain: - - android-sdk-linux - - android-gradle-dependencies - - android-gradle-python-envs - - linux64-jdk - build-fat-aar: - - target.maven.tar.xz - dependencies: - build-fat-aar: - by-build-type: - release|nightly|beta: build-fat-aar-android-geckoview-fat-aar-shippable/opt - default: build-fat-aar-android-geckoview-fat-aar/opt - include-coverage: - by-build-type: - release: false - beta: false - nightly: false - default: true - run: - gradlew: - by-build-type: - release: - - ':{component}:assembleRelease' - - ':{component}:testRelease' - - ':{component}:lintRelease' - - ':{component}:publish' - beta: - # /!\ Beta builds are considered Release in gradle - - ':{component}:assembleRelease' - - ':{component}:testRelease' - - ':{component}:lintRelease' - - ':{component}:publish' - nightly: - - '-PnightlyVersion={nightlyVersion}' - - ':{component}:assembleRelease' - - ':{component}:testRelease' - - ':{component}:lintRelease' - - ':{component}:publish' - default: - by-component: - # No lintRelease on this task, gradle task isn't defined - tooling-lint: - - ':{component}:assemble' - - ':{component}:assembleAndroidTest' - - ':{component}:test' - - ':{component}:lint' - # No testRelease on this task, gradle task isn't defined - tooling-detekt: - - ':{component}:assemble' - - ':{component}:assembleAndroidTest' - - ':{component}:test' - - ':{component}:lintRelease' - # No publish on these tasks - tooling-fetch-tests|samples-.*: - - ':{component}:assemble' - - ':{component}:assembleAndroidTest' - - ':{component}:testRelease' - - ':{component}:lintRelease' - default: - - ':{component}:assemble' - - ':{component}:assembleAndroidTest' - - ':{component}:testRelease' - - ':{component}:lintRelease' - - ':{component}:publish' - pre-gradlew: - - ["cd", "mobile/android/android-components"] - using: gradlew - use-caches: false - run-on-projects: - by-build-type: - release: [] - beta: [] - nightly: [] - default: [all] - shipping-phase: - by-build-type: - (nightly|beta|release): promote - default: null - shipping-product: firefox-android - treeherder: - kind: build - symbol: - by-build-type: - release: '{treeherder_group}(BR)' - beta: '{treeherder_group}(BB)' - nightly: '{treeherder_group}(BN)' - default: '{treeherder_group}(B)' - platform: AC-android-all/opt - tier: 1 - worker-type: b-linux-medium-gcp - worker: - chain-of-trust: true - docker-image: {in-tree: android-components} - max-run-time: 1200 - env: - ANDROID_SDK_ROOT: /builds/worker/fetches/android-sdk-linux diff --git a/taskcluster/ci/build-fat-aar/kind.yml b/taskcluster/ci/build-fat-aar/kind.yml deleted file mode 100644 index 0d3b1208ec..0000000000 --- a/taskcluster/ci/build-fat-aar/kind.yml +++ /dev/null @@ -1,204 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -kind-dependencies: - - build - - toolchain - -transforms: - - gecko_taskgraph.transforms.build:transforms - - gecko_taskgraph.transforms.build_attrs:transforms - - gecko_taskgraph.transforms.build_lints:transforms - - gecko_taskgraph.transforms.build_fat_aar:transforms - - gecko_taskgraph.transforms.job:transforms - - gecko_taskgraph.transforms.artifact:transforms - - gecko_taskgraph.transforms.task:transforms - -job-defaults: - attributes: - artifact_map: taskcluster/gecko_taskgraph/manifests/fennec_geckoview.yml - index: - product: mobile - worker-type: b-linux-gcp - use-python: default - worker: - docker-image: {in-tree: android-build} - max-run-time: 7200 - env: - # Online in order to download the per-architecture AARs. - GRADLE_USER_HOME: "/builds/worker/checkouts/build/gecko/mobile/android/gradle/dotgradle-online" - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" - MOZ_ANDROID_FAT_AAR_ARCHITECTURES: "armeabi-v7a,arm64-v8a,x86,x86_64" - MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system - artifacts: - - name: public/build/maven - path: /builds/worker/workspace/obj-build/gradle/maven/ - type: directory - - name: public/build/target.maven.tar.xz - path: /builds/worker/workspace/obj-build/gradle/target.maven.tar.xz - type: file - - name: public/build - path: /builds/worker/artifacts/ - type: directory - - name: public/build/geckoview-androidTest.apk - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk - type: file - - name: public/build/geckoview-test_runner.apk - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk - type: file - - name: public/build/geckoview-test_runner.aab - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab - type: file - - name: public/build/geckoview_example.apk - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk - type: file - - name: public/build/geckoview_example.aab - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab - type: file - - name: public/build/mozconfig - path: /builds/worker/workspace/obj-build/.mozconfig - type: file - run: - using: mozharness - script: "mozharness/scripts/fx_desktop_build.py" - secrets: true - mozconfig-variant: null - tooltool-downloads: internal - # Note: These settings are only honored by nightly (i.e. shipping) builds - update-channel: - by-release-type: - nightly: - by-project: - try: nightly-try - default: nightly - nightly-larch: nightly-larch - nightly-oak: nightly-oak - nightly-pine: nightly-pine - beta: - by-shipping-product: - devedition: aurora - default: beta - release.*: release - esr.*: esr - default: null - fetches: - toolchain: - - android-gradle-python-envs - - android-ndk-linux - - android-sdk-linux - - linux64-clang - - linux64-jdk - - linux64-rust-android - - linux64-rust-size - - linux64-cbindgen - - linux64-dump_syms - - linux64-nasm - - linux64-node - - sysroot-x86_64-linux-gnu - - sysroot-wasm32-wasi - -jobs: - android-geckoview-fat-aar-shippable/opt: - description: "Android GeckoView multi-architecture fat AAR Shippable" - attributes: - shippable: true - enable-full-crashsymbols: true - disable-push-apk: true - maven_packages: - - geckoview - shipping-phase: build - shipping-product: fennec - index: - job-name: android-geckoview-fat-aar-opt - type: shippable-with-multi-l10n - treeherder: - platform: android-5-0-geckoview-fat-aar-shippable/opt - symbol: Bgv - dependencies: - android-x86-shippable: build-android-x86-shippable/opt - android-x86_64-shippable: build-android-x86_64-shippable/opt - android-arm-shippable: build-android-arm-shippable/opt - android-aarch64-shippable: build-android-aarch64-shippable/opt - worker: - env: - PERFHERDER_EXTRA_OPTIONS: android-geckoview-fat-aar-nightly - run: - actions: [get-secrets, build, multi-l10n] - config: - - builds/releng_base_android_64_builds.py - - taskcluster_nightly.py - custom-build-variant-cfg: arm - fetches: - toolchain: - - android-gradle-dependencies - optimization: - skip-unless-backstop: null - - android-geckoview-fat-aar-shippable-lite/opt: - description: "Android GeckoView Lite multi-architecture fat AAR Shippable" - attributes: - shippable: true - enable-full-crashsymbols: true - disable-push-apk: true - maven_packages: - - geckoview - - geckoview-exoplayer2 - shipping-phase: build - shipping-product: fennec - index: - job-name: android-geckoview-fat-aar-opt-lite - type: shippable-with-multi-l10n - treeherder: - platform: android-4-1-geckoview-fat-aar-shippable/opt - symbol: Bgvl - dependencies: - android-x86-shippable-lite: build-android-x86-shippable-lite/opt - android-x86_64-shippable-lite: build-android-x86_64-shippable-lite/opt - android-arm-shippable-lite: build-android-arm-shippable-lite/opt - android-aarch64-shippable-lite: build-android-aarch64-shippable-lite/opt - worker: - env: - PERFHERDER_EXTRA_OPTIONS: android-geckoview-fat-aar-nightly-lite - run: - actions: [get-secrets, build, multi-l10n] - config: - - builds/releng_base_android_64_builds.py - - taskcluster_nightly.py - custom-build-variant-cfg: arm-lite - fetches: - toolchain: - - android-gradle-dependencies-lite - optimization: - skip-unless-backstop: null - - android-geckoview-fat-aar/opt: - description: "Android GeckoView multi-architecture fat AAR Opt" - attributes: - maven_packages: - - geckoview - index: - job-name: android-geckoview-fat-aar-opt - treeherder: - platform: android-5-0-geckoview-fat-aar/opt - symbol: Bgv - dependencies: - android-x86-opt: build-android-x86/opt - android-x86_64-opt: build-android-x86_64/opt - android-arm-opt: build-android-arm/opt - android-aarch64-opt: build-android-aarch64/opt - worker: - env: - PERFHERDER_EXTRA_OPTIONS: android-geckoview-fat-aar-opt - USE_ARTIFACT: '1' - MOZ_ARTIFACT_TASK: {task-reference: '<android-arm-opt>'} - run: - actions: [get-secrets, build] - config: ["builds/releng_base_android_64_builds.py"] - custom-build-variant-cfg: arm - fetches: - toolchain: - - linux64-sccache - - android-gradle-dependencies diff --git a/taskcluster/ci/build-mac-notarization/kind.yml b/taskcluster/ci/build-mac-notarization/kind.yml deleted file mode 100644 index 8d049b3695..0000000000 --- a/taskcluster/ci/build-mac-notarization/kind.yml +++ /dev/null @@ -1,34 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -transforms: - - taskgraph.transforms.from_deps - - gecko_taskgraph.transforms.mac_notarization - - gecko_taskgraph.transforms.name_sanity - - gecko_taskgraph.transforms.signing - - gecko_taskgraph.transforms.task - -kind-dependencies: - - build-mac-signing - -only-for-attributes: - - shippable - -jobs: - build-mac-notarization: - from-deps: - group-by: single-with-filters - copy-attributes: true - treeherder: - symbol: BMN - upstream-artifacts: - - taskType: signing - paths: - - public/build/target.tar.gz - - public/build/target.pkg - formats: ["apple_notarization"] - taskId: - task-reference: <build-mac-signing> diff --git a/taskcluster/ci/build-samples-browser/kind.yml b/taskcluster/ci/build-samples-browser/kind.yml deleted file mode 100644 index 8949d70fad..0000000000 --- a/taskcluster/ci/build-samples-browser/kind.yml +++ /dev/null @@ -1,64 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -transforms: - - android_taskgraph.transforms.build_components:transforms - - gecko_taskgraph.transforms.build_schedules:transforms - - gecko_taskgraph.transforms.job:transforms - - gecko_taskgraph.transforms.task:transforms - -kind-dependencies: - - toolchain - - build-fat-aar - - -job-defaults: - attributes: - build-type: regular - component: samples-browser - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt - description: Execute Gradle tasks for component "{component}" - fetches: - toolchain: - - android-sdk-linux - - android-gradle-dependencies - - android-gradle-python-envs - - linux64-jdk - build-fat-aar: - - target.maven.tar.xz - include-coverage: true - run: - pre-gradlew: - - ["cd", "mobile/android/android-components"] - using: gradlew - use-caches: false - treeherder: - kind: build - platform: AC-android-all/opt - tier: 1 - symbol: 'samples-browser(B)' - worker-type: b-linux-medium-gcp - worker: - chain-of-trust: true - docker-image: {in-tree: android-components} - max-run-time: 1200 - env: - ANDROID_SDK_ROOT: /builds/worker/fetches/android-sdk-linux - -jobs: - gecko: - run: - gradlew: - - ':samples-browser:assembleGecko' - - ':samples-browser:testGeckoDebugUnitTest' - - ':samples-browser:lintGeckoDebug' - - system: - run: - gradlew: [':samples-browser:assembleSystem'] - treeherder: - symbol: 'samples-browser-system(B)' diff --git a/taskcluster/ci/build/android.yml b/taskcluster/ci/build/android.yml deleted file mode 100644 index ac3d2a5a31..0000000000 --- a/taskcluster/ci/build/android.yml +++ /dev/null @@ -1,645 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -job-defaults: - attributes: - artifact_map: taskcluster/gecko_taskgraph/manifests/fennec_geckoview.yml - maven_packages: - - geckoview - index: - product: mobile - worker: - docker-image: {in-tree: android-build} - max-run-time: 7200 - env: - GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline" - artifacts: - - name: public/build/maven - path: /builds/worker/workspace/obj-build/gradle/maven/ - type: directory - - name: public/build/target.maven.tar.xz - path: /builds/worker/workspace/obj-build/gradle/target.maven.tar.xz - type: file - - name: public/build/geckoview-androidTest.apk - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk - type: file - - name: public/build/geckoview-test_runner.apk - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk - type: file - - name: public/build/geckoview-test_runner.aab - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab - type: file - - name: public/build/geckoview_example.apk - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk - type: file - - name: public/build/geckoview_example.aab - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab - type: file - - name: public/build - path: /builds/worker/artifacts/ - type: directory - run: - using: mozharness - script: "mozharness/scripts/fx_desktop_build.py" - secrets: true - mozconfig-variant: null - tooltool-downloads: internal - fetches: - toolchain: - - android-ndk-linux - - android-sdk-linux - - linux64-jdk - - linux64-rust-android - - linux64-rust-size - - linux64-cbindgen - - linux64-dump_syms - - linux64-nasm - - linux64-node - - sysroot-x86_64-linux-gnu - - sysroot-wasm32-wasi - - android-gradle-python-envs - -android-arm/debug: - description: "Android 5.0 Arm Debug" - index: - job-name: android-arm-debug - attributes: - enable-full-crashsymbols: true - treeherder: - platform: android-5-0-armv7/debug - symbol: B - worker-type: b-linux-gcp - worker: - env: - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" - MOZ_AUTOMATION_PACKAGE_TESTS: "1" - run: - actions: [get-secrets, build] - config: ["builds/releng_base_android_64_builds.py"] - custom-build-variant-cfg: arm-debug - use-sccache: true - fetches: - toolchain: - - linux64-clang - - linux64-sccache - - android-gradle-dependencies - -android-x86/opt: - description: "Android 5.0 x86 Opt" - index: - job-name: android-x86-opt - attributes: - enable-full-crashsymbols: true - treeherder: - platform: android-5-0-x86/opt - symbol: B - run-on-projects: ['integration'] - worker-type: b-linux-gcp - worker: - env: - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" - MOZ_AUTOMATION_PACKAGE_TESTS: "1" - run: - actions: [get-secrets, build] - config: ["builds/releng_base_android_64_builds.py"] - custom-build-variant-cfg: x86 - use-sccache: true - fetches: - toolchain: - - linux64-clang - - linux64-sccache - - android-gradle-dependencies - -android-x86-lite/opt: - description: "Android 4.1 x86 Opt" - index: - job-name: android-x86-lite-opt - attributes: - enable-full-crashsymbols: true - treeherder: - platform: android-4-1-x86/opt - symbol: Bl - run-on-projects: ['integration'] - worker-type: b-linux-gcp - worker: - env: - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" - PERFHERDER_EXTRA_OPTIONS: lite - run: - actions: [get-secrets, build] - config: ["builds/releng_base_android_64_builds.py"] - custom-build-variant-cfg: x86-lite - use-sccache: true - fetches: - toolchain: - - linux64-clang - - linux64-sccache - - android-gradle-dependencies-lite - -android-x86-shippable/opt: - description: "Android 5.0 x86 Shippable" - use-pgo: true - attributes: - enable-full-crashsymbols: true - shippable: true - shipping-phase: build - shipping-product: fennec - index: - job-name: android-x86-opt - type: android-shippable - treeherder: - platform: android-5-0-x86-shippable/opt - symbol: B - run-on-projects: ['release'] - worker-type: b-linux-gcp - worker: - env: - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" - MOZ_AUTOMATION_PACKAGE_TESTS: "1" - run: - actions: [get-secrets, build, multi-l10n] - config: - - builds/releng_base_android_64_builds.py - - taskcluster_nightly.py - custom-build-variant-cfg: x86 - fetches: - toolchain: - - linux64-clang - - android-gradle-dependencies - -android-x86-shippable-lite/opt: - description: "Android 4.1 x86 Shippable Lite" - use-pgo: android-x86-shippable/opt - attributes: - enable-full-crashsymbols: true - shippable: true - shipping-phase: build - shipping-product: fennec - index: - job-name: android-x86-lite-opt - type: android-shippable - treeherder: - platform: android-4-1-x86-shippable-lite/opt - symbol: Bl - run-on-projects: ['release'] - worker-type: b-linux-gcp - worker: - env: - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" - MOZ_AUTOMATION_PACKAGE_TESTS: "1" - run: - actions: [get-secrets, build, multi-l10n] - config: - - builds/releng_base_android_64_builds.py - - taskcluster_nightly.py - custom-build-variant-cfg: x86-lite - fetches: - toolchain: - - linux64-clang - - android-gradle-dependencies-lite - -android-arm/opt: - description: "Android 5.0 Arm Opt" - index: - job-name: android-arm-opt - attributes: - enable-full-crashsymbols: true - treeherder: - platform: android-5-0-armv7/opt - symbol: B - run-on-projects: ['integration'] - worker-type: b-linux-gcp - worker: - env: - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" - MOZ_AUTOMATION_PACKAGE_TESTS: "1" - run: - actions: [get-secrets, build] - config: ["builds/releng_base_android_64_builds.py"] - custom-build-variant-cfg: arm - use-sccache: true - fetches: - toolchain: - - linux64-clang - - android-gradle-dependencies - - linux64-sccache - -android-arm-lite/opt: - description: "Android 4.1 Arm Opt Lite" - index: - job-name: android-arm-lite-opt - attributes: - enable-full-crashsymbols: true - treeherder: - platform: android-4-1-armv7/opt - symbol: Bl - run-on-projects: ['integration'] - worker-type: b-linux-gcp - worker: - env: - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" - run: - actions: [get-secrets, build] - config: ["builds/releng_base_android_64_builds.py"] - custom-build-variant-cfg: arm-lite - use-sccache: true - fetches: - toolchain: - - linux64-clang - - linux64-sccache - - android-gradle-dependencies-lite - -android-arm-shippable/opt: - description: "Android 5.0 Arm Shippable" - use-pgo: android-x86-shippable/opt - attributes: - enable-full-crashsymbols: true - shippable: true - shipping-phase: build - shipping-product: fennec - index: - job-name: android-arm-opt - type: android-shippable-with-multi-l10n - treeherder: - platform: android-5-0-armv7-shippable/opt - symbol: Bpgo(B) - run-on-projects: ['release'] - worker-type: b-linux-gcp - worker: - env: - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" - MOZ_AUTOMATION_PACKAGE_TESTS: "1" - run: - actions: [get-secrets, build, multi-l10n] - config: - - builds/releng_base_android_64_builds.py - - taskcluster_nightly.py - custom-build-variant-cfg: arm - fetches: - toolchain: - - linux64-clang - - android-gradle-dependencies - -android-arm-shippable-lite/opt: - description: "Android 4.1 Arm Shippable Lite" - use-pgo: android-x86-shippable/opt - attributes: - enable-full-crashsymbols: true - shippable: true - shipping-phase: build - shipping-product: fennec - index: - job-name: android-arm-lite-opt - type: android-shippable-with-multi-l10n - treeherder: - platform: android-4-1-armv7-shippable-lite/opt - symbol: Bpgo(Bl) - run-on-projects: ['release'] - worker-type: b-linux-gcp - worker: - env: - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" - MOZ_AUTOMATION_PACKAGE_TESTS: "1" - run: - actions: [get-secrets, build, multi-l10n] - config: - - builds/releng_base_android_64_builds.py - - taskcluster_nightly.py - custom-build-variant-cfg: arm-lite - fetches: - toolchain: - - linux64-clang - - android-gradle-dependencies-lite - -android-aarch64/opt: - description: "Android 5.0 AArch64 Opt" - index: - job-name: android-aarch64-opt - attributes: - enable-full-crashsymbols: true - treeherder: - platform: android-5-0-aarch64/opt - symbol: B - run-on-projects: ['integration'] - worker-type: b-linux-gcp - worker: - env: - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" - MOZ_AUTOMATION_PACKAGE_TESTS: "1" - run: - actions: [get-secrets, build] - config: ["builds/releng_base_android_64_builds.py"] - custom-build-variant-cfg: aarch64 - use-sccache: true - fetches: - toolchain: - - linux64-clang - - linux64-sccache - - android-gradle-dependencies - -android-aarch64-lite/opt: - description: "Android 5.0 AArch64 Opt Lite" - index: - job-name: android-aarch64-lite-opt - attributes: - enable-full-crashsymbols: true - treeherder: - platform: android-5-0-aarch64/opt - symbol: Bl - run-on-projects: ['integration'] - worker-type: b-linux-gcp - worker: - env: - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" - PERFHERDER_EXTRA_OPTIONS: lite - run: - actions: [get-secrets, build] - config: ["builds/releng_base_android_64_builds.py"] - custom-build-variant-cfg: aarch64-lite - use-sccache: true - fetches: - toolchain: - - linux64-clang - - linux64-sccache - - android-gradle-dependencies-lite - -android-aarch64/debug: - description: "Android 5.0 AArch64 Debug" - index: - job-name: android-aarch64-debug - attributes: - enable-full-crashsymbols: true - treeherder: - platform: android-5-0-aarch64/debug - symbol: B - worker-type: b-linux-gcp - worker: - env: - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" - MOZ_AUTOMATION_PACKAGE_TESTS: "1" - run: - actions: [get-secrets, build] - config: ["builds/releng_base_android_64_builds.py"] - custom-build-variant-cfg: aarch64-debug - use-sccache: true - fetches: - toolchain: - - linux64-clang - - linux64-sccache - - android-gradle-dependencies - -android-aarch64-shippable/opt: - description: "Android 5.0 AArch64 Shippable" - use-pgo: android-aarch64-shippable/opt - attributes: - enable-full-crashsymbols: true - shippable: true - shipping-phase: build - shipping-product: fennec - index: - job-name: android-aarch64-opt - type: android-shippable - treeherder: - platform: android-5-0-aarch64-shippable/opt - symbol: Bpgo(B) - run-on-projects: ['release'] - worker-type: b-linux-gcp - worker: - env: - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" - MOZ_AUTOMATION_PACKAGE_TESTS: "1" - run: - actions: [get-secrets, build, multi-l10n] - config: - - builds/releng_base_android_64_builds.py - - taskcluster_nightly.py - custom-build-variant-cfg: aarch64 - fetches: - toolchain: - - linux64-clang - - android-gradle-dependencies - -android-aarch64-shippable-lite/opt: - description: "Android 5.0 AArch64 Shippable Lite" - use-pgo: android-aarch64-shippable/opt - attributes: - enable-full-crashsymbols: true - shippable: true - shipping-phase: build - shipping-product: fennec - index: - job-name: android-aarch64-lite-opt - type: android-shippable - treeherder: - platform: android-5-0-aarch64-shippable-lite/opt - symbol: Bpgo(Bl) - run-on-projects: ['release'] - worker-type: b-linux-gcp - worker: - env: - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" - MOZ_AUTOMATION_PACKAGE_TESTS: "1" - PERFHERDER_EXTRA_OPTIONS: lite - run: - actions: [get-secrets, build, multi-l10n] - config: - - builds/releng_base_android_64_builds.py - - taskcluster_nightly.py - custom-build-variant-cfg: aarch64-lite - fetches: - toolchain: - - linux64-clang - - android-gradle-dependencies-lite - -android-x86_64/opt: - description: "Android 5.0 x86-64 Opt" - index: - job-name: android-x86_64-opt - attributes: - enable-full-crashsymbols: true - treeherder: - platform: android-5-0-x86_64/opt - symbol: B - run-on-projects: ['integration'] - worker-type: b-linux-gcp - worker: - env: - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" - MOZ_AUTOMATION_PACKAGE_TESTS: "1" - run: - actions: [get-secrets, build] - config: ["builds/releng_base_android_64_builds.py"] - custom-build-variant-cfg: x86_64 - use-sccache: true - fetches: - toolchain: - - linux64-clang - - linux64-sccache - - android-gradle-dependencies - -android-x86_64-lite/opt: - description: "Android 5.0 x86-64 Opt Lite" - index: - job-name: android-x86_64-lite-opt - attributes: - enable-full-crashsymbols: true - treeherder: - platform: android-5-0-x86_64/opt - symbol: Bl - run-on-projects: ['integration'] - worker-type: b-linux-gcp - worker: - env: - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" - MOZ_AUTOMATION_PACKAGE_TESTS: "1" - PERFHERDER_EXTRA_OPTIONS: lite - run: - actions: [get-secrets, build] - config: ["builds/releng_base_android_64_builds.py"] - custom-build-variant-cfg: x86_64-lite - use-sccache: true - fetches: - toolchain: - - linux64-clang - - linux64-sccache - - android-gradle-dependencies-lite - -android-x86_64-fuzzing/debug: - description: "Android x86_64 Fuzzing Debug" - index: - job-name: android-x86_64-fuzzing-debug - treeherder: - platform: android-5-0-x86_64/debug - symbol: Bf - worker-type: b-linux-gcp - worker: - env: - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" - PERFHERDER_EXTRA_OPTIONS: fuzzing - run: - actions: [get-secrets, build] - config: ["builds/releng_base_android_64_builds.py"] - custom-build-variant-cfg: fuzzing-debug - use-sccache: true - fetches: - toolchain: - - linux64-clang - - linux64-sccache - - android-gradle-dependencies - optimization: - skip-unless-expanded: null - -android-x86_64-shippable/opt: - description: "Android 5.0 x86-64 Shippable" - use-pgo: true - attributes: - enable-full-crashsymbols: true - shippable: true - shipping-phase: build - shipping-product: fennec - index: - job-name: android-x86_64-opt - type: android-shippable - treeherder: - platform: android-5-0-x86_64-shippable/opt - symbol: B - run-on-projects: ['release'] - worker-type: b-linux-gcp - worker: - env: - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" - MOZ_AUTOMATION_PACKAGE_TESTS: "1" - run: - actions: [get-secrets, build, multi-l10n] - config: - - builds/releng_base_android_64_builds.py - - taskcluster_nightly.py - custom-build-variant-cfg: x86_64 - fetches: - toolchain: - - linux64-clang - - android-gradle-dependencies - -android-x86_64-shippable-lite/opt: - description: "Android 5.0 x86-64 Shippable Lite" - use-pgo: android-x86_64-shippable/opt - attributes: - enable-full-crashsymbols: true - shippable: true - shipping-phase: build - shipping-product: fennec - index: - job-name: android-x86_64-lite-opt - type: android-shippable - treeherder: - platform: android-5-0-x86_64-shippable-lite/opt - symbol: Bl - run-on-projects: ['release'] - worker-type: b-linux-gcp - worker: - env: - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" - MOZ_AUTOMATION_PACKAGE_TESTS: "1" - PERFHERDER_EXTRA_OPTIONS: lite - run: - actions: [get-secrets, build, multi-l10n] - config: - - builds/releng_base_android_64_builds.py - - taskcluster_nightly.py - custom-build-variant-cfg: x86_64-lite - fetches: - toolchain: - - linux64-clang - - android-gradle-dependencies-lite - -android-x86_64/debug: - description: "Android 5.0 x86-64 Debug" - index: - job-name: android-x86_64-debug - attributes: - enable-full-crashsymbols: true - treeherder: - platform: android-5-0-x86_64/debug - symbol: B - worker-type: b-linux-gcp - worker: - env: - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" - MOZ_AUTOMATION_PACKAGE_TESTS: "1" - run: - actions: [get-secrets, build] - config: ["builds/releng_base_android_64_builds.py"] - custom-build-variant-cfg: x86_64-debug - use-sccache: true - fetches: - toolchain: - - linux64-clang - - linux64-sccache - - android-gradle-dependencies - -android-x86_64/debug-isolated-process: - description: "Android 5.0 x86-64 Debug with Isolated Process" - index: - job-name: android-x86_64-debug-isolated-process - attributes: - enable-full-crashsymbols: true - treeherder: - platform: android-5-0-x86_64/debug-isolated-process - symbol: Bip - worker-type: b-linux-gcp - worker: - env: - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" - MOZ_AUTOMATION_PACKAGE_TESTS: "1" - PERFHERDER_EXTRA_OPTIONS: isolated-process - run: - actions: [get-secrets, build] - config: ["builds/releng_base_android_64_builds.py"] - custom-build-variant-cfg: x86_64-debug-isolated-process - use-sccache: true - fetches: - toolchain: - - linux64-clang - - linux64-sccache - - android-gradle-dependencies diff --git a/taskcluster/ci/config.yml b/taskcluster/ci/config.yml deleted file mode 100644 index a26eb9818d..0000000000 --- a/taskcluster/ci/config.yml +++ /dev/null @@ -1,1072 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -trust-domain: gecko -project-repo-param-prefix: '' -product-dir: 'browser' -treeherder: - group-names: - 'cram': 'Cram tests' - 'js-bench-sm': 'JavaScript shell benchmarks with Spidermonkey' - 'js-bench-v8': 'JavaScript shell benchmarks with Google V8' - 'node': 'Node tests' - 'py3': 'Python 3 unit tests' - 'A': 'Android Gradle tests' - 'Bpgo': 'Profile-guided optimization builds' - 'Btime': 'Browsertime performance tests on Firefox' - 'Btime-cache': 'Browsertime performance tests on Firefox with populated bytecode cache.' - 'Btime-1proc': 'Browsertime performance tests on Firefox without e10s' - 'Btime-nofis': 'Browsertime tests on Firefox without fission enabled' - 'Btime-P-nofis': 'Browsertime power tests on Firefox without fission enabled' - 'Btime-Prof-nofis': 'Browsertime tests on Firefox with profiling and without fission enabled' - 'Btime-P-nofis-refbrow': 'Browsertime Power Usage Tests on reference browser without fission enabled' - 'Btime-P-nofis-fenix': 'Browsertime Power Usage Tests on Fenix without fission enabled' - 'Btime-live-nofis-fenix': 'Browsertime tests on Fenix without fission enabled using live sites' - 'Btime-nofis-fenix': 'Browsertime tests on Fenix without fission enabled' - 'Btime-webext-nofis-fenix': 'Browsertime performance tests on Fenix with extensions and without fission enabled' - 'Btime-webext': 'Browsertime performance tests on Firefox with extensions' - 'Btime-live-nofis': 'Browsertime tests on Firefox without fission enabled using live sites' - 'Btime-nofis-refbrow': 'Browsertime tests on reference browser without fission enabled' - 'Btime-live-nofis-ChR': 'Browsertime tests on Chrome without fission enabled using live sites' - 'Btime-Prof': 'Browsertime performance tests on Firefox with Gecko Profiling' - 'Btime-Prof-1proc': 'Browsertime performance tests on Firefox with Gecko Profiling and without e10s' - 'Btime-live': 'Browsertime performance tests on Firefox' - 'Btime-live-fenix': 'Browsertime performance tests on Firefox' - 'Btime-live-ChR': 'Browsertime performance tests on Google Chrome Release' - 'Btime-live-Saf': 'Browsertime performance tests on Safari' - 'Btime-ChR': 'Browsertime performance tests on Google Chrome Release' - 'Btime-nofis-ChR': 'Browsertime performance tests on Google Chrome Release without fission enabled' - 'Btime-P': 'Browsertime power tests on Firefox/Geckoview' - 'Btime-P-fenix': 'Browsertime power tests on Fenix' - 'Btime-P-refbrow': 'Browsertime power tests on reference browser' - 'Btime-fenix': 'Browsertime performance tests on Fenix' - 'Btime-refbrow': 'Browsertime performance tests on the reference browser' - 'Btime-Saf': 'Browsertime performance tests on Safari' - 'Btime-CaR': 'Browsertime performance tests on Chromium-as-Release' - 'Btime-nofis-CaR': 'Browsertime performance tests on Chromium-as-Release without fission enabled' - 'Fetch': 'Fetch and store content' - 'Fxfn': 'Firefox functional tests' - 'l10n-bump': 'L10n Bumper' - 'M': 'Mochitests' - 'M-cf': 'Mochitests confirm failure' - 'M-condprof': "Mochitests with conditioned profile" - 'M-condprof-cf': "Mochitests confirm failure with conditioned profile" - 'M-fis-hv': "Mochitests that run on Fission with isolateHighValue isolation strategy (Android-specific)" - 'M-fis-hv-cf': "Mochitests confirm failure that run on Fission with isolateHighValue isolation strategy (Android-specific)" - 'M-headless': 'Headless Mochitests' - 'M-headless-cf': 'Headless Mochitests confirm failure' - 'M-headless-spi-nw': 'Headless Mochitests with fission and socketprocess networking.' - 'M-headless-spi-nw-cf': 'Headless Mochitests confirm failure with fission and socketprocess networking.' - 'M-http3': 'Mochitests with Http/3 server' - 'M-http3-cf': 'Mochitests confirm failure with Http/3 server' - 'M-http2': 'Mochitests with Http/2 server' - 'M-http2-cf': 'Mochitests confirm failure with Http/2 server' - 'M-aab': 'Mochitests with AAB test_runner.' - 'M-aab-cf': 'Mochitests confirm failure with AAB test_runner.' - 'M-aab-nofis': 'Mochitests with AAB test_runner without fission enabled.' - 'M-aab-nofis-cf': 'Mochitests confirm failure with AAB test_runner without fission enabled.' - 'M-1proc': 'Mochitests without e10s or fission' - 'M-1proc-cf': 'Mochitests confirm failure without e10s or fission' - 'M-a11y-checks': 'Mochitests with accessibility checks enabled' - 'M-a11y-checks-cf': 'Mochitests confirm failure with accessibility checks enabled' - 'M-xorig': 'Mochitests with cross-origin and fission enabled' - 'M-xorig-cf': 'Mochitests confirm failure with cross-origin and fission enabled' - 'M-gli': 'Mochitests with WebGL over IPC' - 'M-gli-cf': 'Mochitests confirm failure with WebGL over IPC' - 'M-nofis': 'Mochitests without fission enabled' - 'M-nofis-cf': 'Mochitests confirm failure without fission enabled' - 'M-nofis-ship': "Mochitests without fission and with SHIP (session history in parent) enabled (Android-specific)" - 'M-nofis-ship-cf': "Mochitests confirm failure without fission and with SHIP (session history in parent) enabled (Android-specific)" - 'M-spi': 'Mochitests with socket process' - 'M-spi-cf': 'Mochitests confirm failure with socket process' - 'M-spi-nofis': 'Mochitests with socket process without fission enabled' - 'M-spi-nofis-cf': 'Mochitests confirm failure with socket process without fission enabled' - 'M-spi-nw': 'Mochitests with networking on socket process' - 'M-spi-nw-cf': 'Mochitests confirm failure with networking on socket process' - 'M-spi-nw-nofis': 'Mochitests with networking on socket process without fission enabled' - 'M-spi-nw-nofis-cf': 'Mochitests confirm failure with networking on socket process without fission enabled' - 'M-spi-nw-1proc': 'Mochitests with networking on socket process without e10s' - 'M-spi-nw-1proc-cf': 'Mochitests confirm failure with networking on socket process without e10s' - 'M-swr': 'Mochitests with software webrender enabled' - 'M-swr-cf': 'Mochitests confirm failure with software webrender enabled' - 'M-swr-a11y-checks': 'Mochitests with software webrender and accessibility checks enabled' - 'M-swr-a11y-checks-cf': 'Mochitests confirm failure with software webrender and accessibility checks enabled' - 'M-swr-1proc': 'Mochitests with software webrender enabled without e10s' - 'M-swr-1proc-cf': 'Mochitests confirm failure with software webrender enabled without e10s' - 'M-swr-nofis': 'Mochitests with software webrender without fission enabled' - 'M-swr-nofis-cf': 'Mochitests confirm failure with software webrender without fission enabled' - 'M-wmfme': 'Mochitests with Windows Media Foundation media engine enabled' - 'M-wmfme-cf': 'Mochitests confirm failure with Windows Media Foundation media engine enabled' - 'M-mda-gpu': 'Mochitests Media on GPU worker' - 'M-mda-gpu-cf': 'Mochitests confirm failure Media on GPU worker' - 'M-f': 'Mochitest failures' - 'M-f-swr': 'Mochitest failures software webrender' - 'M-f-cf': 'Mochitest failures w/confirm failure' - 'M-f-swr-cf': 'Mochitest failures software webrender w/confirm failure' - 'M-msix': 'Mochitests from MSIX builds' - 'M-msix-cf': 'Mochitests confirm failure from MSIX builds' - 'MSI': 'Repack installers into MSIs' - 'MSIs': 'Signing of Repacked installers of MSIs' - 'MSIX': 'Repack into MSIX package' - 'MSIXs': 'Signing of Repack into MSIX package' - 'Pup': "Puppeteer tests" - 'R': 'Reftests' - 'R-cf': 'Reftests confirm failure' - 'R-nofis': 'Reftests without fission enabled' - 'R-nofis-cf': 'Reftests confirm failure without fission enabled' - 'R-nofis-ship': 'Reftests without fission and with SHIP (session history in parent) enabled (Android specific)' - 'R-nofis-ship-cf': 'Reftests confirm failure without fission and with SHIP (session history in parent) enabled (Android specific)' - 'R-swr': 'Reftests with software webrender enabled' - 'R-swr-cf': 'Reftests confirm failure with software webrender enabled' - 'R-swr-nofis': 'Reftests with software webrender enabled without fission enabled' - 'R-swr-nofis-cf': 'Reftests confirm failure with software webrender enabled without fission enabled' - 'R-wr-dc0': 'Reftests with dcomp disabled' - 'R-wr-dc0-cf': 'Reftests confirm failure with dcomp disabled' - 'R-wr-dc1-p': 'Reftests with dcomp present but not overlays' - 'R-wr-dc1-p-cf': 'Reftests confirm failure with dcomp present but not overlays' - 'R-wr-dc2-o': 'Reftests with dcomp overlays but not compositing' - 'R-wr-dc2-o-cf': 'Reftests confirm failure with dcomp overlays but not compositing' - 'R-wr-dc3-c': 'Reftests with dcomp compositing' - 'R-wr-dc3-c-cf': 'Reftests confirm failure with dcomp compositing' - 'Rap': 'Raptor performance tests on Firefox' - 'Rap-live': 'Raptor performance tests on Firefox with live sites' - 'Rap-Prof': 'Raptor performance tests on Firefox with Gecko Profiling' - 'Rap-ChR': 'Raptor performance tests on Google Chrome Release' - 'Rap-refbrow': 'Raptor performance tests on the reference browser' - 'T': 'Talos performance tests' - 'T-gli': 'Talos performance tests with WebGL over IPC' - 'T-Prof': 'Talos performance tests on Firefox with Gecko Profiling' - 'T-Prof-gli': 'Talos performance tests with WebGL over IPC and Gecko Profiling' - 'T-swr': 'Talos performance tests with software webrender enabled' - 'tt': 'Telemetry tests' - 'tt-nofis': 'Telemetry tests without fission enabled' - 'SY': 'Are we slim yet tests by TaskCluster' - 'W': 'Web platform tests' - 'W-cf': 'Web platform tests confirm failure' - 'W-nofis': 'Web platform tests without fission enabled' - 'W-nofis-cf': 'Web platform tests confirm failure without fission enabled' - 'W-headless': 'Headless web platform tests' - 'W-headless-cf': 'Headless web platform tests confirm failure' - 'W-swr-nofis': 'Web platform tests with software webrender enabled without fission enabled' - 'W-swr-nofis-cf': 'Web platform tests confirm failure with software webrender enabled without fission enabled' - 'W-swr': 'Web platform tests with software webrender enabled' - 'W-swr-cf': 'Web platform tests confirm falure with software webrender enabled' - 'W-b': 'Web platform tests (backlog)' - 'W-b-nofis': 'Web platform tests (backlog) without fission enabled' - 'W-pb': 'Web platform tests with private browsing enabled' - 'X': 'Xpcshell tests' - 'X-cf': 'Xpcshell tests confirm failure' - 'X-condprof': 'Xpcshell tests with a conditioned profile' - 'X-condprof-cf': 'Xpcshell tests confirm failure with a conditioned profile' - 'X-nofis': 'Xpcshell tests without fission enabled' - 'X-nofis-cf': 'Xpcshell tests confirm failure without fission enabled' - 'X-nofis-ship': 'Xpcshell tests without fission and with SHIP (session history in parent) enabled (Android specific)' - 'X-nofis-ship-cf': 'Xpcshell tests confirm failure without fission and with SHIP (session history in parent) enabled (Android specific)' - 'X-spi-nw': 'Xpcshell tests with networking on socket process' - 'X-spi-nw-cf': 'Xpcshell tests confirm failure with networking on socket process' - 'X-spi-nw-nofis': 'Xpcshell tests with networking on socket process without fission enabled' - 'X-spi-nw-nofis-cf': 'Xpcshell tests confirm failure with networking on socket process without fission enabled' - 'X-f': 'Xpcshell tests that fail on a given config' - 'X-f-spi-nw': 'Xpcshell tests that fail on a given config w/socket process' - 'X-msix': 'Xpcshell tests on msix packages' - 'X-msix-cf': 'Xpcshell tests confirm failure on msix packages' - 'L10n': 'Localised Repacks' - 'L10n-Rpk': 'Localized Repackaged Repacks' - 'deb-L10n': 'Localized Debian Repacks' - 'BM': 'Beetmover' - 'BMR': 'Beetmover repackages' - 'BM-apt': 'Beetmover .deb packages' - 'c-Up': 'Balrog submission of complete updates' - 'css': 'Checksum signing for source' - 'rs': 'Repackage signing' - 'BMcs': 'Beetmover checksums' - 'BMcslang': 'Beetmover checksums for language packs' - 'BMcss': 'Beetmover checksums for source' - 'Deb8': 'Packages for Debian 8' - 'Deb8-32': 'Packages for Debian 8 32-bits' - 'Deb9': 'Packages for Debian 9' - 'Deb10': 'Packages for Debian 10' - 'Deb11': 'Packages for Debian 11' - 'Deb12': 'Packages for Debian 12' - 'Ub18': 'Packages for Ubuntu 18.04' - 'Ub20': 'Packages for Ubuntu 20.04' - 'Ub22': 'Packages for Ubuntu 22.04' - 'I': 'Docker Image Builds' - 'TA': 'Toolchain builds for Android' - 'TL': 'Toolchain builds for Linux 64-bits' - 'TL32': 'Toolchain builds for Linux 32-bits' - 'TM': 'Toolchain builds for OSX' - 'TMW': 'Toolchain builds for Windows MinGW' - 'TW32': 'Toolchain builds for Windows 32-bits' - 'TW64': 'Toolchain builds for Windows 64-bits' - 'WMC32': 'MinGW-Clang builds for Windows 32-bits' - 'WMC64': 'MinGW-Clang builds for Windows 64-bits' - 'Searchfox': 'Searchfox builds' - 'SM': 'Spidermonkey builds' - 'p': 'Partial generation' - 'ps': 'Partials signing' - 'ms': 'Complete MAR signing' - 'ms-stage': 'Autograph-stage MAR signing test' - 'Rel': 'Release promotion' - 'Snap': 'Snap image generation' - 'Flatpak': 'Flatpak image generation' - 'langpack': 'Langpack sigatures and uploads' - 'TPS': 'Sync tests' - 'UV': 'Update verify' - 'UVnext': 'Update verify for esr-next' - 'pydep': 'python dependency update' - 'WR': 'WebRender standalone' - 'Wgpu': 'WebGPU standalone' - 'cpp': 'C/C++ checks' - 'pedantic': 'pedantic checks' - 'text': 'Check on texts' - 'misc': 'Misc checks' - 'js': 'JavaScript checks' - 'py': 'Python checks' - 'java': 'Java checks' - 'rust': 'Rust checks' - 'Static-Analysis': 'Full tree static-analysis' - 'SS': 'Shadow scheduler' - 'Sel': 'Selenium Snap tests' - 'Sentry': 'Sentry synchronization' - 'test-info': 'Test manifest skip/fail information' - 'condprof': 'Conditioned Profile Builder' - 'doc': 'Documentation' - 'GhS': 'GitHub Synchronization' - 'perftest': 'Performance tests' - 'perftest-detect': 'Performance regression detection tooling' - 'perftest-chrome': 'Performance tests using Chrone' - 'perftest-http3': 'Performance tests with HTTP/3' - 'l10n': 'Localization checks' - 'fxrec': 'Desktop startup recorder (fxrecord)' - 'wc': 'webcompat' - 'Boot': 'Bootstrap' - 'Attr-L10n': 'Build Attribution' - 'android-l10n': 'Import strings from android-l10n repo' - - # The below symbols are from firefox-android (fenix/focus/android-components) - 'buildconfig': 'Make sure the content of .buildconfig.yml matches what gradle knows about its projects' - 'compare-locales': 'Validate strings.xml with compare-locales' - 'detekt': 'detekt linter' - 'ktlint': 'ktlint linter' - 'lint': 'gradle lint linter' - - 'focus': 'Focus general tasks no matter the variant' - 'focus-beta': 'Focus beta-related tasks' - 'focus-debug': 'Focus builds made for testing' - 'focus-nightly': 'Focus nightly-related tasks' - 'focus-release': 'Focus production-related tasks' - - 'fenix': 'Fenix general tasks no matter the variant' - 'fenix-beta': 'Fenix beta-related tasks' - 'fenix-debug': 'Fenix builds made for testing' - 'fenix-nightly': 'Fenix nightly-related tasks' - 'fenix-nightlySim': 'Nightly-related tasks that run on each github push' - 'fenix-release': 'Fenix production-related tasks' - - # This list is based on mobile/android/android-components/.buildconfig.yml except the exceptions down below - 'browser-domains': 'browser-domains' - 'browser-engine-gecko': 'browser-engine-gecko' - 'browser-engine-system': 'browser-engine-system' - 'browser-errorpages': 'browser-errorpages' - 'browser-icons': 'browser-icons' - 'browser-menu': 'browser-menu' - 'browser-menu2': 'browser-menu2' - 'browser-session-storage': 'browser-session-storage' - 'browser-state': 'browser-state' - 'browser-storage-sync': 'browser-storage-sync' - 'browser-tabstray': 'browser-tabstray' - 'browser-thumbnails': 'browser-thumbnails' - 'browser-toolbar': 'browser-toolbar' - 'compose-awesomebar': 'compose-engine' - 'compose-browser-toolbar': 'awesomebar-browser-toolbar' - 'compose-engine': 'compose-engine' - 'compose-tabstray': 'compose-tabstray' - 'concept-awesomebar': 'concept-awesomebar' - 'concept-base': 'concept-base' - 'compose-cfr': 'compose-cfr' - 'concept-engine': 'concept-engine' - 'concept-fetch': 'concept-fetch' - 'concept-menu': 'concept-menu' - 'concept-push': 'concept-push' - 'concept-storage': 'concept-storage' - 'concept-sync': 'concept-sync' - 'concept-tabstray': 'concept-tabstray' - 'concept-toolbar': 'concept-toolbar' - 'feature-accounts-push': 'feature-accounts-push' - 'feature-accounts': 'feature-accounts' - 'feature-addons': 'feature-addons' - 'feature-app-links': 'feature-app-links' - 'feature-autofill': 'feature-autofill' - 'feature-awesomebar': 'feature-awesomebar' - 'feature-containers': 'feature-containers' - 'feature-contextmenu': 'feature-contextmenu' - 'feature-customtabs': 'feature-customtabs' - 'feature-downloads': 'feature-downloads' - 'feature-findinpage': 'feature-findinpage' - 'feature-fxsuggest': 'feature-fxsuggest' - 'feature-intent': 'feature-intent' - 'feature-logins': 'feature-logins' - 'feature-media': 'feature-media' - 'feature-privatemode': 'feature-privatemode' - 'feature-prompts': 'feature-prompts' - 'feature-push': 'feature-push' - 'feature-pwa': 'feature-pwa' - 'feature-qr': 'feature-qr' - 'feature-readerview': 'feature-readerview' - 'feature-recentlyclosed': 'feature-recentlyclosed' - 'feature-search': 'feature-search' - 'feature-serviceworker': 'feature-serviceworker' - 'feature-session': 'feature-session' - 'feature-share': 'feature-share' - 'feature-sitepermissions': 'feature-sitepermissions' - 'feature-syncedtabs': 'feature-syncedtabs' - 'feature-tab-collections': 'feature-tab-collections' - 'feature-tabs': 'feature-tabs' - 'feature-toolbar': 'feature-toolbar' - 'feature-top-sites': 'feature-top-sites' - 'feature-webauthn': 'feature-webauthn' - 'feature-webcompat': 'feature-webcompat' - 'feature-webnotifications': 'feature-webnotifications' - 'lib-crash': 'lib-crash' - 'lib-auth': 'lib-auth' - 'lib-crash-sentry': 'lib-crash-sentry' - 'lib-crash-sentry-legacy': 'lib-crash-sentry-legacy' - 'lib-dataprotect': 'lib-dataprotect' - 'lib-fetch-okhttp': 'lib-fetch-okhttp' - 'lib-jexl': 'lib-jexl' - 'lib-publicsuffixlist': 'lib-publicsuffixlist' - 'lib-push-firebase': 'lib-push-firebase' - 'lib-state': 'lib-state' - 'samples-compose-browser': 'samples-compose-browser' - 'samples-crash': 'samples-crash' - 'samples-dataprotect': 'samples-dataprotect' - 'samples-firefox-accounts': 'samples-firefox-accounts' - 'samples-glean-library': 'samples-glean-library' - 'samples-glean': 'samples-glean' - 'samples-sync-logins': 'samples-sync-logins' - 'samples-sync': 'samples-sync' - 'samples-toolbar': 'samples-toolbar' - 'service-contile': 'service-contile' - 'service-digitalassetlinks': 'service-digitalassetlinks' - 'service-experiments': 'service-experiments' - 'service-firefox-accounts': 'service-firefox-accounts' - 'service-fretboard': 'service-fretboard' - 'service-glean': 'service-glean' - 'service-location': 'service-location' - 'service-nimbus': 'service-nimbus' - 'service-pocket': 'service-pocket' - 'service-sync-autofill': 'service-sync-autofill' - 'service-sync-logins': 'service-sync-logins' - 'support-android-test': 'support-android-test' - 'support-base': 'support-base' - 'support-images': 'support-images' - 'support-ktx': 'support-ktx' - 'support-license': 'support-license' - 'support-locale': 'support-locale' - 'support-migration': 'support-migration' - 'support-remotesettings': 'support-remotesettings' - 'support-rusthttp': 'support-rusthttp' - 'support-rusterrors': 'support-rusterrors' - 'support-rustlog': 'support-rustlog' - 'support-sync-telemetry': 'support-sync-telemetry' - 'support-test-appservices': 'support-test-appservices' - 'support-test-fakes': 'support-test-fakes' - 'support-test-libstate': 'support-test-libstate' - 'support-test': 'support-test' - 'support-utils': 'support-utils' - 'support-webextensions': 'support-webextensions' - 'tooling-detekt': 'tooling-detekt' - 'tooling-fetch-tests': 'tooling-fetch-tests' - 'tooling-lint': 'tooling-lint' - 'ui-autocomplete': 'ui-autocomplete' - 'ui-colors': 'ui-colors' - 'ui-fonts': 'ui-fonts' - 'ui-icons': 'ui-icons' - 'ui-tabcounter': 'ui-tabcounter' - 'ui-widgets': 'ui-widgets' - - # These ones are too long to fit in 25 chars - 'lib-fetch-httpurlconnecti': 'lib-fetch-httpurlconnection' - 'feature-webcompat-reporte': 'feature-webcompat-reporter' - - # Groups aren't generated off buildconfig.yml: - 'samples-browser': 'samples-browser' - 'samples-browser-gecko': 'samples-browser-gecko' - 'samples-browser-system': 'samples-browser-system' - - # forPerformanceTest: Builds made for Raptor and other performance tests - 'Rap-P': 'Raptor power tests' - -index: - products: - - 'firefox' - - 'fennec' - - 'mobile' - - 'static-analysis' - - 'devedition' - - 'source' - - 'system-symbols' - - 'geckodriver' - -try: - # We have a few platforms for which we want to do some "extra" builds, or at - # least build-ish things. Sort of. Anyway, these other things are implemented - # as different "platforms". These do *not* automatically ride along with "-p - # all" - ridealong-builds: - 'linux': - - 'sm-plain-linux32' - - 'sm-arm-sim-linux32' - 'linux64': - - 'sm-plain-linux64' - - 'sm-nojit-linux64' - - 'sm-nonunified-linux64' - - 'sm-arm-sim-linux32' - - 'sm-arm64-sim-linux64' - - 'sm-compacting-linux64' - - 'sm-rootanalysis-linux64' - - 'sm-package-linux64' - - 'sm-tsan-linux64' - - 'sm-asan-linux64' - - 'sm-msan-linux64' - - 'sm-fuzzing-linux64' - 'win32': - - 'sm-plain-win32' - - 'sm-compacting-win32' - -release-promotion: - products: - - 'devedition' - - 'fennec' - - 'firefox' - - 'firefox-android' - rebuild-kinds: - - docker-image - - fetch - - packages - - toolchain - flavors: - promote_devedition: - product: devedition - target-tasks-method: promote_desktop - partial-updates: true - promote_firefox: - product: firefox - target-tasks-method: promote_desktop - partial-updates: true - promote_firefox_partner_repack: - product: firefox - rebuild-kinds: - - release-partner-repack - - release-partner-repack-chunking-dummy - - release-partner-repack-signing - - release-partner-repack-mac-signing - - release-partner-repack-mac-notarization - - release-partner-repack-repackage - - release-partner-repack-repackage-signing - - release-partner-repack-beetmover - target-tasks-method: promote_desktop - promote_firefox_partner_attribution: - product: firefox - rebuild-kinds: - - release-partner-attribution - - release-partner-attribution-beetmover - target-tasks-method: promote_desktop - promote_firefox_rc: - product: firefox - is-rc: true - target-tasks-method: promote_desktop - partial-updates: true - push_devedition: - product: devedition - target-tasks-method: push_desktop - partial-updates: true - push_firefox: - product: firefox - target-tasks-method: push_desktop - partial-updates: true - ship_devedition: - product: devedition - target-tasks-method: ship_desktop - version-bump: true - partial-updates: true - ship_firefox: - product: firefox - target-tasks-method: ship_desktop - version-bump: true - partial-updates: true - ship_firefox_rc: - product: firefox - is-rc: true - target-tasks-method: ship_desktop - partial-updates: true - promote_android: - product: firefox-android - target-tasks-method: promote_android - push_android: - product: firefox-android - target-tasks-method: push_android - ship_android: - product: firefox-android - target-tasks-method: ship_android - - -merge-automation: - behaviors: - central-to-beta: - fetch-version-from: "browser/config/version.txt" - version-files: - - filename: "config/milestone.txt" - new-suffix: '' - - filename: "browser/config/version.txt" - new-suffix: '' - - filename: "browser/config/version_display.txt" - new-suffix: 'b1' - - filename: "mobile/android/version.txt" - new-suffix: 'b1' - replacements: - - - browser/config/mozconfigs/linux32/l10n-mozconfig - - ac_add_options --with-branding=browser/branding/nightly - - ac_add_options --enable-official-branding - - - browser/config/mozconfigs/linux64/l10n-mozconfig - - ac_add_options --with-branding=browser/branding/nightly - - ac_add_options --enable-official-branding - - - browser/config/mozconfigs/win32/l10n-mozconfig - - ac_add_options --with-branding=browser/branding/nightly - - ac_add_options --enable-official-branding - - - browser/config/mozconfigs/win64/l10n-mozconfig - - ac_add_options --with-branding=browser/branding/nightly - - ac_add_options --enable-official-branding - - - browser/config/mozconfigs/win64-aarch64/l10n-mozconfig - - ac_add_options --with-branding=browser/branding/nightly - - ac_add_options --enable-official-branding - - - browser/config/mozconfigs/macosx64/l10n-mozconfig - - ac_add_options --with-branding=browser/branding/nightly - - ac_add_options --enable-official-branding - merge-old-head: true - base-tag: 'FIREFOX_BETA_{major_version}_BASE' - end-tag: 'FIREFOX_BETA_{major_version}_END' - from-repo: 'https://hg.mozilla.org/mozilla-central' - from-branch: 'central' - to-repo: 'https://hg.mozilla.org/releases/mozilla-beta' - to-branch: 'beta' - early-to-late-beta: - fetch-version-from: "browser/config/version.txt" - version-files: [] - replacements: - - - build/defines.sh - - EARLY_BETA_OR_EARLIER=1 - - EARLY_BETA_OR_EARLIER= - merge-old-head: false - to-repo: 'https://hg.mozilla.org/releases/mozilla-beta' - to-branch: 'beta' - beta-to-release: - fetch-version-from: "browser/config/version.txt" - version-files: - - filename: "browser/config/version_display.txt" - new-suffix: '' - - filename: "mobile/android/version.txt" - new-suffix: '' - replacements: [] - merge-old-head: true - base-tag: 'FIREFOX_RELEASE_{major_version}_BASE' - end-tag: 'FIREFOX_RELEASE_{major_version}_END' - from-repo: 'https://hg.mozilla.org/releases/mozilla-beta' - from-branch: 'beta' - to-repo: 'https://hg.mozilla.org/releases/mozilla-release' - to-branch: 'release' - release-to-esr: - fetch-version-from: "browser/config/version.txt" - version-files: - - filename: "browser/config/version_display.txt" - new-suffix: 'esr' - replacements: [] - merge-old-head: false - end-tag: "FIREFOX_ESR_{major_version}_BASE" - to-repo: 'https://hg.mozilla.org/releases/mozilla-esr115' - to-branch: 'esr115' - bump-central: - fetch-version-from: "browser/config/version.txt" - version-files: - - filename: "config/milestone.txt" - version-bump: "major" - new-suffix: 'a1' - - filename: "browser/config/version.txt" - version-bump: "major" - new-suffix: 'a1' - - filename: "browser/config/version_display.txt" - version-bump: "major" - new-suffix: 'a1' - - filename: "mobile/android/version.txt" - version-bump: "major" - new-suffix: 'a1' - replacements: - - - "services/sync/modules/constants.sys.mjs" - - 'WEAVE_VERSION = "1.{current_weave_version}.0"' - - 'WEAVE_VERSION = "1.{next_weave_version}.0"' - merge-old-head: false - end-tag: 'FIREFOX_NIGHTLY_{major_version}_END' - to-repo: 'https://hg.mozilla.org/mozilla-central' - to-branch: 'central' - bump-esr115: - fetch-version-from: "browser/config/version.txt" - version-files: - - filename: "config/milestone.txt" - version-bump: "minor" - - filename: "browser/config/version.txt" - version-bump: "minor" - - filename: "browser/config/version_display.txt" - version-bump: "minor" - replacements: [] - merge-old-head: false - to-repo: 'https://hg.mozilla.org/releases/mozilla-esr115' - to-branch: 'esr115' - -scriptworker: - # See additional configuration in taskcluster/gecko_taskgraph/util/scriptworker.py - scope-prefix: 'project:releng' - -partner-urls: - release-partner-repack: - by-release-product: - default: null - firefox: - by-release-type: - default: null - beta|release.*: - by-release-level: - production: 'git@github.com:mozilla-partners/repack-manifests.git' - staging: 'git@github.com:moz-releng-automation-stage/repack-manifests.git' - esr.*: - by-release-level: - production: 'git@github.com:mozilla-partners/esr-repack-manifests.git' - staging: 'git@github.com:moz-releng-automation-stage/esr-repack-manifests.git' - release-partner-attribution: - by-release-product: - default: null - firefox: - by-release-type: - default: null - beta|release.*: - by-release-level: - production: 'git@github.com:mozilla-partners/repack-manifests.git' - staging: 'git@github.com:moz-releng-automation-stage/repack-manifests.git' - esr.*: - by-release-level: - production: 'git@github.com:mozilla-partners/esr-repack-manifests.git' - staging: 'git@github.com:moz-releng-automation-stage/esr-repack-manifests.git' - release-eme-free-repack: - by-release-product: - default: null - firefox: - by-release-type: - default: null - beta|release.*: - by-release-level: - production: 'git@github.com:mozilla-partners/mozilla-EME-free-manifest.git' - staging: 'git@github.com:moz-releng-automation-stage/mozilla-EME-free-manifest.git' - - -task-priority: - by-project: - 'mozilla-release': 'highest' - 'mozilla-esr.*': 'very-high' - 'mozilla-beta': 'high' - 'mozilla-central': 'medium' - 'autoland': 'low' - 'mozilla-inbound': 'low' - 'default': 'very-low' - -taskgraph: - register: gecko_taskgraph:register - -workers: - aliases: - b-linux-gcp-aarch64: - provisioner: '{trust-domain}-{level}' - implementation: generic-worker - os: linux - worker-type: '{alias}' - b-linux.*: - provisioner: '{trust-domain}-{level}' - implementation: docker-worker - os: linux - worker-type: '{alias}' - b-win2012: - provisioner: '{trust-domain}-{level}' - implementation: generic-worker - os: windows - worker-type: '{alias}-azure' - b-win2022: - provisioner: '{trust-domain}-{level}' - implementation: generic-worker - os: windows - worker-type: '{alias}' - image: - provisioner: '{trust-domain}-{level}' - implementation: docker-worker - os: linux - worker-type: '{alias}' - images: - provisioner: '{trust-domain}-{level}' - implementation: docker-worker - os: linux - worker-type: '{alias}' - images-gcp: - provisioner: '{trust-domain}-{level}' - implementation: docker-worker - os: linux - worker-type: '{alias}' - addon: - provisioner: scriptworker-k8s - implementation: push-addons - os: scriptworker - worker-type: - by-release-level: - production: '{trust-domain}-3-addon' - staging: '{trust-domain}-1-addon' - balrog: - provisioner: scriptworker-k8s - implementation: balrog - os: scriptworker - worker-type: - by-release-level: - production: '{trust-domain}-3-balrog' - staging: '{trust-domain}-1-balrog' - bouncer: - provisioner: scriptworker-k8s - # Note that this implementation doesn't correspond with an - # payload_builder, there are several `bouncer-*` implemenations. - implementation: bouncer - os: scriptworker - worker-type: - by-release-level: - production: '{trust-domain}-3-bouncer' - staging: '{trust-domain}-1-bouncer' - beetmover: - provisioner: scriptworker-k8s - implementation: beetmover - os: scriptworker - worker-type: - by-release-level: - production: '{trust-domain}-3-beetmover' - staging: '{trust-domain}-1-beetmover' - beetmover-android: - provisioner: scriptworker-k8s - implementation: scriptworker-beetmover - os: scriptworker - worker-type: - by-release-level: - production: '{trust-domain}-3-beetmover' - staging: '{trust-domain}-1-beetmover' - shipit: - provisioner: scriptworker-k8s - implementation: shipit - os: scriptworker - worker-type: - by-release-level: - production: '{trust-domain}-3-shipit' - staging: '{trust-domain}-1-shipit' - linux-depsigning: - provisioner: scriptworker-k8s - implementation: scriptworker-signing - os: linux - worker-type: '{trust-domain}-t-signing' - linux-signing: - provisioner: scriptworker-k8s - implementation: scriptworker-signing - os: linux - worker-type: - by-release-level: - production: '{trust-domain}-3-signing' - staging: '{trust-domain}-t-signing' - mac-depsigning: - provisioner: scriptworker-prov-v1 - implementation: scriptworker-signing - os: macosx - worker-type: depsigning-mac-v1 - mac-signing: - provisioner: scriptworker-prov-v1 - implementation: scriptworker-signing - os: macosx - worker-type: - by-release-level: - production: signing-mac-v1 - staging: depsigning-mac-v1 - push-apk: - provisioner: scriptworker-k8s - implementation: scriptworker-pushapk - os: scriptworker - worker-type: '{trust-domain}-{level}-pushapk' - tree: - provisioner: scriptworker-k8s - implementation: treescript - os: scriptworker - worker-type: - by-release-level: - production: '{trust-domain}-3-tree' - staging: - by-project: - autoland: '{trust-domain}-3-tree' - default: '{trust-domain}-1-tree' - tree-dev: - provisioner: scriptworker-k8s - implementation: treescript - os: scriptworker - worker-type: '{trust-domain}-1-tree-dev' - t-bitbar-gw.*: - provisioner: proj-autophone - implementation: generic-worker - os: linux-bitbar - worker-type: 'gecko-{alias}' - t-linux(-large|-xlarge|-xlarge-source): - provisioner: '{trust-domain}-t' - implementation: docker-worker - os: linux - worker-type: '{alias}-gcp' - t-linux(-large|-xlarge|-xlarge-source)-noscratch: - provisioner: '{trust-domain}-t' - implementation: docker-worker - os: linux - worker-type: '{alias}-gcp' - t-linux-kvm: - provisioner: '{trust-domain}-t' - implementation: docker-worker - os: linux - worker-type: 't-linux-kvm-noscratch-gcp' - t-linux-talos: - provisioner: releng-hardware - implementation: generic-worker - os: linux - worker-type: 'gecko-{alias}' - t-linux-talos-1804: - provisioner: releng-hardware - implementation: generic-worker - os: linux - worker-type: 'gecko-{alias}' - t-linux-wayland: - provisioner: '{trust-domain}-t' - implementation: generic-worker - os: linux - worker-type: 't-linux-vm-2204-wayland' - t-osx-1015-r8: - provisioner: releng-hardware - implementation: generic-worker - os: macosx - worker-type: 'gecko-{alias}' - t-osx-1100-m1: - provisioner: releng-hardware - implementation: generic-worker - os: macosx - worker-type: 'gecko-{alias}' - t-osx-1400-m2: - provisioner: releng-hardware - implementation: generic-worker - os: macosx - worker-type: 'gecko-{alias}' - t-osx-1015-power: - provisioner: releng-hardware - implementation: generic-worker - os: macosx - worker-type: 'gecko-{alias}' - t-linux-xlarge-pgo: - provisioner: - by-level: - '3': '{trust-domain}-{level}' - default: '{trust-domain}-t' - implementation: docker-worker - os: linux - worker-type: 't-linux-xlarge-noscratch-gcp' - b-osx-1015: - provisioner: releng-hardware - implementation: generic-worker - os: macosx - worker-type: - by-level: - '3': 'gecko-3-b-osx-1015' - default: 'gecko-1-b-osx-1015' - b-osx-arm64: - provisioner: releng-hardware - implementation: generic-worker - os: macosx - worker-type: - by-level: - '3': 'gecko-3-b-osx-arm64' - default: 'gecko-1-b-osx-arm64' - t-win10-64(|-gpu-s|-source): - provisioner: '{trust-domain}-t' - implementation: generic-worker - os: windows - worker-type: '{alias}' - t-win10-64(-hw|-1803-hw): - provisioner: releng-hardware - implementation: generic-worker - os: windows - worker-type: 'gecko-{alias}' - win11-64-2009(-hw-ref): - provisioner: releng-hardware - implementation: generic-worker - os: windows - worker-type: '{alias}' - win10-64-2009(|-gpu|-ssd|-source|-ssd-gpu): - provisioner: 'gecko-t' - implementation: generic-worker - os: windows - worker-type: '{alias}' - t-win11-64(|-gpu-s|-source): - provisioner: '{trust-domain}-t' - implementation: generic-worker - os: windows - worker-type: '{alias}' - win11-64-2009(|-gpu|-ssd|-source|-ssd-gpu): - provisioner: 'gecko-t' - implementation: generic-worker - os: windows - worker-type: '{alias}' - t-win7-32-gpu: - provisioner: '{trust-domain}-t' - implementation: generic-worker - os: windows - worker-type: '{alias}' - t-win7-32: - provisioner: releng-hardware - implementation: generic-worker - os: windows - worker-type: 'gecko-{alias}-hw' - t-win64-aarch64-laptop: - provisioner: bitbar - implementation: generic-worker - os: windows - worker-type: 'gecko-{alias}' - succeed: - provisioner: built-in - implementation: succeed - os: none - worker-type: succeed - misc: - provisioner: '{trust-domain}-t' - implementation: docker-worker - os: linux - worker-type: misc-gcp - - -mac-signing: - mac-requirements: - by-platform: - macosx64.*: build/package/mac_osx/requirements.plist - default: '' - hardened-sign-config: - by-hardened-signing-type: - production: - - deep: false - runtime: true - force: true - entitlements: security/mac/hardenedruntime/v2/production/plugin-container.xml - globs: - - "/Contents/MacOS/plugin-container.app" - - - deep: false - runtime: true - force: true - entitlements: security/mac/hardenedruntime/v2/production/media-plugin-helper.xml - globs: - - "/Contents/MacOS/media-plugin-helper.app" - - - deep: false - runtime: true - force: true - # These files are signed without entitlements - globs: - - "/Contents/MacOS/crashreporter.app" - - "/Contents/MacOS/updater.app/Contents/Frameworks/UpdateSettings.framework" - - "/Contents/MacOS/updater.app" - - "/Contents/Library/LaunchServices/org.mozilla.updater" - - "/Contents/MacOS/XUL" - - "/Contents/MacOS/pingsender" - - "/Contents/MacOS/minidump-analyzer" - - "/Contents/MacOS/nmhproxy" - - "/Contents/MacOS/*.dylib" - - "/Contents/Resources/gmp-clearkey/*/*.dylib" - - "/Contents/Frameworks/ChannelPrefs.framework" - - - deep: false - runtime: true - force: true - entitlements: - by-build-platform: - .*devedition.*: security/mac/hardenedruntime/v2/production/firefoxdeveloperedition.browser.xml - default: - by-project: - mozilla-central: security/mac/hardenedruntime/v2/production/nightly.browser.xml - default: security/mac/hardenedruntime/v2/production/firefox.browser.xml - globs: - - "/" # The .app - - default: - - deep: false - runtime: true - force: true - entitlements: security/mac/hardenedruntime/v2/developer/plugin-container.xml - globs: - - "/Contents/MacOS/plugin-container.app" - - - deep: false - runtime: true - force: true - entitlements: security/mac/hardenedruntime/v2/developer/media-plugin-helper.xml - globs: - - "/Contents/MacOS/media-plugin-helper.app" - - - deep: false - runtime: true - force: true - entitlements: security/mac/hardenedruntime/v2/developer/utility.xml - globs: - - "/Contents/MacOS/crashreporter.app" - - "/Contents/MacOS/updater.app/Contents/Frameworks/UpdateSettings.framework" - - "/Contents/MacOS/updater.app" - - "/Contents/Library/LaunchServices/org.mozilla.updater" - - "/Contents/MacOS/pingsender" - - "/Contents/MacOS/minidump-analyzer" - - "/Contents/MacOS/nmhproxy" - - "/Contents/Frameworks/ChannelPrefs.framework" - - - deep: false - runtime: true - force: true - # These files are signed without entitlements - globs: - - "/Contents/MacOS/XUL" - - "/Contents/MacOS/*.dylib" - - "/Contents/Resources/gmp-clearkey/*/*.dylib" - - - deep: false - runtime: true - force: true - entitlements: security/mac/hardenedruntime/v2/developer/browser.xml - globs: - - "/" # The .app - -expiration-policy: - by-project: - try: - default: 28 days - shortest: 7 days - short: 14 days - medium: 28 days - long: 28 days - autoland: - default: 1 year - shortest: 14 days - short: 3 months - medium: 1 year - # To avoid keeping shippable builds for over a year - long: 1 year - default: - default: 3 months - shortest: 7 days - short: 1 month - medium: 1 year - long: 1 year diff --git a/taskcluster/ci/docker-image/kind.yml b/taskcluster/ci/docker-image/kind.yml deleted file mode 100644 index 12dc16cdd1..0000000000 --- a/taskcluster/ci/docker-image/kind.yml +++ /dev/null @@ -1,253 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -kind-dependencies: - - packages - -transforms: - - gecko_taskgraph.transforms.docker_image:transforms - - gecko_taskgraph.transforms.cached_tasks:transforms - - gecko_taskgraph.transforms.task:transforms - -# make a task for each docker-image we might want. For the moment, since we -# write artifacts for each, these are whitelisted, but ideally that will change -# (to use subdirectory clones of the proper directory), at which point we can -# generate tasks for every docker image in the directory, secure in the -# knowledge that unnecessary images will be omitted from the target task graph -jobs: - image_builder: - symbol: I(ib) - # Neither the ubuntu1804-*raw nor the ubuntu1804-*packages images can have - # packages dependencies. - ubuntu1804-raw: - symbol: I(ub18-raw) - definition: debian-raw - args: - BASE_IMAGE: ubuntu:bionic - ubuntu1804-packages: - symbol: I(ub18-pkg) - definition: debian-packages - parent: ubuntu1804-raw - ubuntu1804-i386-raw: - symbol: I(ub18-32-raw) - definition: debian-raw - args: - BASE_IMAGE: i386/ubuntu:bionic - ubuntu1804-i386-packages: - symbol: I(ub18-32-pkg) - definition: debian-packages - parent: ubuntu1804-i386-raw - ubuntu1804-base: - symbol: I(ub18-base) - parent: ubuntu1804-raw - packages: - - ub18-mercurial - - ub18-python-zstandard - - ub18-python-psutil - ubuntu1804-test-base: - symbol: I(ub18-test-base) - parent: ubuntu1804-base - packages: - - ub18-libc6 - - ub18-pygobject - - ub18-pyatspi - - ub18-32-libc6 - ubuntu1804-test: - symbol: I(ub18-test) - parent: ubuntu1804-test-base - ubuntu1804-build-python: - symbol: I(ub18-build-python) - parent: ubuntu1804-base - # Neither the ubuntu1804-*raw nor the ubuntu1804-*packages images can have - # packages dependencies. - ubuntu2004-raw: - symbol: I(ub20-raw) - definition: debian-raw - args: - BASE_IMAGE: ubuntu:focal - ubuntu2204-raw: - symbol: I(ub22-raw) - definition: debian-raw - args: - BASE_IMAGE: ubuntu:jammy - ubuntu2004-packages: - symbol: I(ub20-pkg) - definition: debian-packages - parent: ubuntu2004-raw - ubuntu2204-packages: - symbol: I(ub22-pkg) - definition: debian-packages - parent: ubuntu2204-raw - ubuntu2004-base: - symbol: I(ub20-base) - definition: debian-base - parent: ubuntu2004-raw - packages: - - ub20-mercurial - - ub20-python-zstandard - ubuntu2204-base: - symbol: I(ub22-base) - definition: debian-base - parent: ubuntu2204-raw - packages: - - ub22-mercurial - - ub22-python-zstandard - # Neither the debian8-*raw nor the debian8-*packages images can have - # packages dependencies. - debian8-raw: - symbol: I(deb8-raw) - definition: debian-raw - args: - BASE_IMAGE: debian:jessie-20210208 - DIST: jessie - debian8-packages: - symbol: I(deb8-pkg) - definition: debian-packages - parent: debian8-raw - debian8-i386-raw: - symbol: I(deb8-32-raw) - definition: debian-raw - args: - BASE_IMAGE: i386/debian:jessie-20210208 - DIST: jessie - debian8-i386-packages: - symbol: I(deb8-32-pkg) - definition: debian-packages - parent: debian8-i386-raw - custom-v8: - symbol: I(custom-v8) - parent: debian12-base - # Chromium-as-Release - custom-car-linux: - symbol: I(custom-car-linux) - parent: debian12-base - # Chromium-as-Release Android - custom-car-android: - symbol: I(custom-car-android) - parent: debian12-base - valgrind-build: - symbol: I(vb) - parent: debian12-amd64-build - packages: - - deb12-valgrind - lint: - symbol: I(lnt) - parent: debian12-base - # Neither the debian12-raw nor the debian12-packages images can have - # packages dependencies. - debian12-raw: - symbol: I(deb12-raw) - definition: debian-raw - args: - BASE_IMAGE: debian:bookworm-20230612 - DIST: bookworm - SNAPSHOT: '20230611T210420Z' - debian12-packages: - symbol: I(deb12-pkg) - definition: debian-packages - parent: debian12-raw - debian12-base: - symbol: I(deb12-base) - definition: debian-base - parent: debian12-raw - packages: - - deb12-mercurial - - deb12-python-zstandard - debian12-amd64-build: - symbol: I(deb12) - parent: debian12-base - definition: debian-build - debian12-repackage: - symbol: I(deb12-rpk) - parent: debian12-base - definition: debian-repackage - packages: - - deb12-mercurial - deb12-toolchain-build: - symbol: I(deb12-toolchain) - parent: debian12-base - definition: toolchain-build - android-build: - symbol: I(agb) - parent: debian12-base - fetch: - symbol: I(fetch) - parent: debian12-raw - packages: - - deb12-python-zstandard - static-analysis-build: - symbol: I(static-analysis-build) - parent: debian12-base - gdb-test: - symbol: I(gdb) - parent: debian12-amd64-build - index-task: - symbol: I(idx) - funsize-update-generator: - symbol: I(pg) - update-verify: - symbol: I(uv) - parent: ubuntu2004-base - diffoscope: - symbol: I(diff) - parent: debian12-base - partner-repack: - symbol: I(PR) - parent: debian12-base - definition: partner-repack - updatebot: - symbol: I(3rdp) - parent: push-to-try - periodic-updates: - symbol: I(file) - parent: debian12-base - firefox-snap: - symbol: I(snap) - firefox-flatpak: - symbol: I(flatpak) - webrender: - symbol: I(webrender) - parent: debian12-base - condprof: - symbol: I(condprof) - parent: ubuntu1804-test - github-sync: - symbol: I(github-sync) - parent: debian12-base - sentry: - symbol: I(sentry) - parent: debian12-base - system-symbols-mac: - symbol: I(system-symbols-mac) - parent: debian12-base - system-symbols-win: - symbol: I(system-symbols-win) - parent: debian12-base - system-symbols-win-gfx: - symbol: I(system-symbols-win-gfx) - parent: debian12-base - system-symbols-linux-scraper: - symbol: I(system-symbols-linux) - parent: debian12-base - push-to-try: - symbol: I(push-to-try) - parent: debian12-base - decision: - symbol: I(decision) - parent: ubuntu2004-base - snap-build-core22: - symbol: I(snap22-build) - parent: ubuntu2204-base - definition: snap-coreXX-build - args: - SNAP_BASE: core22 - SNAP_LIST: "gnome-42-2204 gtk-common-themes gnome-42-2204-sdk" - android-components: - symbol: I(android-components) - parent: debian12-base - android-ui-tests: - symbol: I(android-ui-tests) - parent: android-components diff --git a/taskcluster/ci/fetch/chromium-fetch.yml b/taskcluster/ci/fetch/chromium-fetch.yml deleted file mode 100644 index 88f7e4fc62..0000000000 --- a/taskcluster/ci/fetch/chromium-fetch.yml +++ /dev/null @@ -1,38 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -job-defaults: - fetch: - type: chromium-fetch - script: /builds/worker/bin/fetch-chromium.py - -linux64-chromium: - description: 'Linux64 Chromium Fetch' - fetch: - platform: linux - artifact-name: chromium-linux.tar.bz2 - -win32-chromium: - description: 'Windows32 Chromium Fetch' - fetch: - platform: win32 - artifact-name: chromium-win32.tar.bz2 - -win64-chromium: - description: 'Windows64 Chromium Fetch' - fetch: - platform: win64 - artifact-name: chromium-win64.tar.bz2 - -mac-chromium: - description: 'MacOSX Chromium Fetch' - fetch: - platform: mac - artifact-name: chromium-mac.tar.bz2 - -mac-chromium-arm: - description: 'MacOSX ARM Chromium Fetch' - fetch: - platform: mac-arm - artifact-name: chromium-mac-arm.tar.bz2 diff --git a/taskcluster/ci/generate-profile/kind.yml b/taskcluster/ci/generate-profile/kind.yml deleted file mode 100644 index b71afb23d0..0000000000 --- a/taskcluster/ci/generate-profile/kind.yml +++ /dev/null @@ -1,364 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -kind-dependencies: - - toolchain - - instrumented-build - -transforms: - - gecko_taskgraph.transforms.build_attrs:transforms - - gecko_taskgraph.transforms.release_deps:transforms - - gecko_taskgraph.transforms.run_pgo_profile:transforms - - gecko_taskgraph.transforms.job:transforms - - gecko_taskgraph.transforms.task:transforms - - -job-defaults: - treeherder: - symbol: Bpgo(run) - kind: build - tier: 1 - use-python: default - -jobs: - linux-shippable/opt: - description: "Linux Profile Generation" - shipping-phase: build - shipping-product: firefox - index: - product: firefox - job-name: linux-profile - treeherder: - platform: linux32-shippable/opt - worker-type: b-linux-gcp - worker: - chain-of-trust: true - env: - NEED_XVFB: "true" - max-run-time: 1200 - docker-image: {in-tree: ubuntu1804-test} - artifacts: - - type: directory - name: public/build - path: /builds/worker/artifacts/ - run: - using: run-task - cwd: '{checkout}' - command: > - ./taskcluster/scripts/misc/run-profileserver.sh - run-on-projects: ['release'] - fetches: - toolchain: - - linux64-clang - - linux64-minidump-stackwalk - - linux64-shippable/opt: - description: "Linux64 Profile Generation" - shipping-phase: build - shipping-product: firefox - index: - product: firefox - job-name: linux64-profile - treeherder: - platform: linux64-shippable/opt - worker-type: b-linux-gcp - worker: - chain-of-trust: true - env: - NEED_XVFB: "true" - max-run-time: 1200 - docker-image: {in-tree: ubuntu1804-test} - artifacts: - - type: directory - name: public/build - path: /builds/worker/artifacts/ - run: - using: run-task - cwd: '{checkout}' - command: > - ./taskcluster/scripts/misc/run-profileserver.sh - run-on-projects: ['release'] - fetches: - toolchain: - - linux64-clang - - linux64-minidump-stackwalk - - android-x86-shippable/opt: - description: "Android 5.0 x86 Profile Generation" - shipping-phase: build - shipping-product: fennec - index: - product: mobile - job-name: android-x86-profile - treeherder: - platform: android-5-0-x86/pgo - worker-type: t-linux-xlarge-pgo - worker: - chain-of-trust: true - max-run-time: 2700 - docker-image: {in-tree: ubuntu1804-test} - env: - WORKING_DIR: "/builds/worker" - MOZHARNESS_PATH: "/builds/worker/checkouts/gecko/testing/mozharness" - PYTHON: "/builds/worker/checkouts/gecko/mach python" - artifacts: - - type: directory - name: public/build - path: /builds/worker/artifacts/ - run: - using: mozharness - job-script: taskcluster/scripts/tester/test-linux.sh - script: android_emulator_pgo.py - tooltool-downloads: internal - options: [installer-path=/builds/worker/fetches/geckoview-test_runner.apk] - config: - - android/android_common.py - - android/android-x86_64-profile-generation.py - - android/android_pgo.py - run-on-projects: ['release'] - fetches: - toolchain: - - linux64-clang - - linux64-minidump-stackwalk - - linux64-hostutils - - android-sdk-linux - - android-system-image-x86_64-linux - - android-avd-x86_64-linux - - android-x86_64-shippable/opt: - description: "Android 5.0 x86_64 Profile Generation" - shipping-phase: build - shipping-product: fennec - index: - product: mobile - job-name: android-x86_64-profile - treeherder: - platform: android-5-0-x86_64/pgo - worker-type: t-linux-xlarge-pgo - worker: - chain-of-trust: true - max-run-time: 2700 - docker-image: {in-tree: ubuntu1804-test} - env: - WORKING_DIR: "/builds/worker" - MOZHARNESS_PATH: "/builds/worker/checkouts/gecko/testing/mozharness" - PYTHON: "/builds/worker/checkouts/gecko/mach python" - artifacts: - - type: directory - name: public/build - path: /builds/worker/artifacts/ - run: - using: mozharness - job-script: taskcluster/scripts/tester/test-linux.sh - script: android_emulator_pgo.py - tooltool-downloads: internal - options: [installer-path=/builds/worker/fetches/geckoview-test_runner.apk] - config: - - android/android_common.py - - android/android-x86_64-profile-generation.py - - android/android_pgo.py - run-on-projects: ['release'] - fetches: - toolchain: - - linux64-clang - - linux64-minidump-stackwalk - - linux64-hostutils - - android-sdk-linux - - android-system-image-x86_64-linux - - android-avd-x86_64-linux - - android-aarch64-shippable/opt: - description: "Android 5.0 Aarch64 Profile Generation" - shipping-phase: build - shipping-product: fennec - index: - product: mobile - job-name: android-aarch64-profile - treeherder: - platform: android-5-0-aarch64/pgo - worker-type: b-linux-kvm-gcp - worker: - chain-of-trust: true - max-run-time: 2700 - kvm: true # for access to /dev/kvm for hw accel in the emulator - docker-image: {in-tree: ubuntu1804-test} - env: - WORKING_DIR: "/builds/worker" - MOZHARNESS_PATH: "/builds/worker/checkouts/gecko/testing/mozharness" - PYTHON: "/builds/worker/checkouts/gecko/mach python" - artifacts: - - type: directory - name: public/build - path: /builds/worker/artifacts/ - run: - using: mozharness - job-script: taskcluster/scripts/tester/test-linux.sh - script: android_emulator_pgo.py - tooltool-downloads: internal - options: [installer-path=/builds/worker/fetches/geckoview-test_runner.apk] - config: - - android/android_common.py - - android/android-aarch64-profile-generation.py - - android/android_pgo.py - run-on-projects: ['release'] - fetches: - toolchain: - - linux64-clang - - linux64-minidump-stackwalk - - linux64-hostutils - - android-sdk-linux - - android31-system-image-x86_64-linux - - android31-avd-x86_64-linux - - win32-shippable/opt: - description: "Win32 Profile Generation" - shipping-phase: build - shipping-product: firefox - index: - product: firefox - job-name: win32-profile - treeherder: - platform: windows2012-32-shippable/opt - worker-type: b-win2022 - worker: - chain-of-trust: true - max-run-time: 2400 - env: - UPLOAD_PATH: "artifacts" - artifacts: - - type: directory - name: public/build - path: build/src/artifacts/ - run: - using: run-task - sparse-profile: profile-generate - cwd: '{checkout}' - command: ./taskcluster/scripts/misc/run-profileserver.sh - run-on-projects: ['release'] - fetches: - toolchain: - - win64-clang-toolchain - - win32-minidump-stackwalk - - win64-shippable/opt: - description: "Win64 Profile Generation" - shipping-phase: build - shipping-product: firefox - index: - product: firefox - job-name: win64-profile - treeherder: - platform: windows2012-64-shippable/opt - worker-type: b-win2022 - worker: - chain-of-trust: true - max-run-time: 2400 - env: - UPLOAD_PATH: "artifacts" - artifacts: - - type: directory - name: public/build - path: build/src/artifacts/ - run: - using: run-task - sparse-profile: profile-generate - cwd: '{checkout}' - command: ./taskcluster/scripts/misc/run-profileserver.sh - run-on-projects: ['release'] - fetches: - toolchain: - - win64-clang-toolchain - - win32-minidump-stackwalk - - win64-nightlyasrelease/opt: - description: "Win64 Nightly-as-release Profile Generation" - shipping-phase: build - shipping-product: firefox - index: - product: firefox - job-name: win64-nightlyasrelease-profile - treeherder: - platform: win64-nightlyasrelease/opt - worker-type: b-win2022 - worker: - chain-of-trust: true - max-run-time: 2400 - env: - UPLOAD_PATH: "artifacts" - artifacts: - - type: directory - name: public/build - path: build/src/artifacts/ - run: - using: run-task - sparse-profile: profile-generate - cwd: '{checkout}' - command: ./taskcluster/scripts/misc/run-profileserver.sh - run-on-projects: [trunk-only] - fetches: - toolchain: - - win64-clang-toolchain - - win32-minidump-stackwalk - - macosx64-shippable/opt: - description: "macosx64 Profile Generation" - shipping-phase: build - shipping-product: firefox - index: - product: firefox - job-name: macosx64-profile - treeherder: - platform: macosx1015-64-shippable/opt - worker-type: b-osx-1015 - worker: - chain-of-trust: true - max-run-time: 7200 - env: - SHELL: "/bin/bash" - artifacts: - - type: directory - name: public/build - path: artifacts/ - run: - using: run-task - sparse-profile: profile-generate - cwd: '{checkout}' - command: ./taskcluster/scripts/misc/run-profileserver-macos.sh - run-on-projects: ['release'] - fetches: - toolchain: - - macosx64-clang - - macosx64-minidump-stackwalk - - macosx64-aarch64-shippable/opt: - description: "macosx64 aarch64 Profile Generation" - shipping-phase: build - shipping-product: firefox - index: - product: firefox - job-name: macosx64-aarch64-profile - treeherder: - platform: macosx1100-64-shippable/opt - worker-type: b-osx-arm64 - worker: - chain-of-trust: true - max-run-time: 7200 - env: - SHELL: "/bin/bash" - artifacts: - - type: directory - name: public/build - path: artifacts/ - run: - using: run-task - sparse-profile: profile-generate - cwd: '{checkout}' - command: ./taskcluster/scripts/misc/run-profileserver-macos.sh - run-on-projects: ['release'] - fetches: - toolchain: - - macosx64-clang - - macosx64-minidump-stackwalk diff --git a/taskcluster/ci/github-sync/kind.yml b/taskcluster/ci/github-sync/kind.yml deleted file mode 100644 index 7c0b8136c4..0000000000 --- a/taskcluster/ci/github-sync/kind.yml +++ /dev/null @@ -1,53 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -kind-dependencies: - - toolchain - - build - -transforms: - - gecko_taskgraph.transforms.github_sync:transforms - - gecko_taskgraph.transforms.job:transforms - - gecko_taskgraph.transforms.task:transforms - -job-defaults: - attributes: - retrigger: true - run-on-projects: ['mozilla-central-only'] - worker-type: b-linux-gcp - treeherder: - platform: other/opt - tier: 2 - kind: other - worker: - max-run-time: 3600 - docker-image: {in-tree: github-sync} - run: - sparse-profile: github-sync - using: run-task - -jobs: - webrender: - description: Sync webrender to github mirror - secret: gecko/gfx-github-sync/token - run: - command: '$GECKO_PATH/tools/github-sync/sync-to-github.sh webrender gfx/wr servo/webrender @bors-servo' - when: - files-changed: - - 'gfx/wr/**' - treeherder: - symbol: GhS(wr) - - qcms: - description: Sync qcms to github mirror - secret: gecko/gfx-github-sync/token - run: - command: '$GECKO_PATH/tools/github-sync/sync-to-github.sh qcms gfx/qcms FirefoxGraphics/qcms @jrmuizel' - when: - files-changed: - - 'gfx/qcms/**' - treeherder: - symbol: GhS(qcms) diff --git a/taskcluster/ci/hazard/kind.yml b/taskcluster/ci/hazard/kind.yml deleted file mode 100644 index 8bdc1bbb17..0000000000 --- a/taskcluster/ci/hazard/kind.yml +++ /dev/null @@ -1,83 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -kind-dependencies: - - toolchain - -transforms: - - gecko_taskgraph.transforms.build_attrs:transforms - - gecko_taskgraph.transforms.build_lints:transforms - - gecko_taskgraph.transforms.job:transforms - - gecko_taskgraph.transforms.task:transforms - -job-defaults: - attributes: - retrigger: true - treeherder: - kind: build - tier: 1 - worker-type: b-linux-gcp - worker: - max-run-time: 10800 - docker-image: {in-tree: debian12-amd64-build} - use-python: default - -jobs: - linux64-shell-haz/debug: - description: "JS Shell Hazard Analysis Linux" - index: - product: firefox - job-name: shell-haz-debug - treeherder: - platform: linux64/debug - symbol: SM(H) - run: - using: hazard - command: > - cd /builds/worker/checkouts/gecko/taskcluster/scripts/builder - && ./build-haz-linux.sh --project js $HOME/workspace - when: - files-changed: - - js/public/** - - js/src/** - fetches: - toolchain: - - linux64-clang - - linux64-gcc-9 - - linux64-gcc-sixgill - - linux64-rust - - linux64-cbindgen - - linux64-node - - linux64-pkgconf - - sysroot-x86_64-linux-gnu - - linux64-haz/debug: - description: "Browser Hazard Analysis Linux" - index: - product: firefox - job-name: browser-haz-debug - treeherder: - platform: linux64/debug - symbol: H - run: - using: hazard - command: > - cd /builds/worker/checkouts/gecko/taskcluster/scripts/builder - && ./build-haz-linux.sh --project browser $HOME/workspace - fetches: - toolchain: - - linux64-clang - - linux64-gcc-9 - - linux64-gcc-sixgill - - linux64-rust - - linux64-cbindgen - - linux64-nasm - - linux64-node - - linux64-pkgconf - - sysroot-x86_64-linux-gnu - - sysroot-wasm32-wasi - optimization: - skip-unless-backstop: null diff --git a/taskcluster/ci/instrumented-build/kind.yml b/taskcluster/ci/instrumented-build/kind.yml deleted file mode 100644 index 9823970185..0000000000 --- a/taskcluster/ci/instrumented-build/kind.yml +++ /dev/null @@ -1,493 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -kind-dependencies: - - toolchain - - fetch - -transforms: - - gecko_taskgraph.transforms.build:transforms - - gecko_taskgraph.transforms.build_attrs:transforms - - gecko_taskgraph.transforms.build_lints:transforms - - gecko_taskgraph.transforms.job:transforms - - gecko_taskgraph.transforms.artifact:transforms - - gecko_taskgraph.transforms.task:transforms - -job-defaults: - shipping-phase: build - treeherder: - symbol: Bpgo(instr) - tier: 1 - worker: - max-run-time: 7200 - env: - PERFHERDER_EXTRA_OPTIONS: instrumented - MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system - use-python: default - run: - using: mozharness - actions: [get-secrets, build] - script: mozharness/scripts/fx_desktop_build.py - secrets: true - use-sccache: - by-release-level: - production: false - staging: true - fetches: - toolchain: - - linux64-sccache - -jobs: - linux-shippable/opt: - description: "Linux Instrumented" - index: - product: firefox - job-name: instrumented-linux - shipping-product: firefox - treeherder: - platform: linux32-shippable/opt - worker-type: b-linux-gcp - run: - config: - - builds/releng_base_firefox.py - - builds/releng_base_linux_32_builds.py - mozconfig-variant: profile-generate - tooltool-downloads: public - run-on-projects: ['release'] - fetches: - toolchain: - - linux64-clang - - linux64-rust - - linux64-rust-size - - linux64-cbindgen - - linux64-dump_syms - - linux64-nasm - - linux64-node - - linux64-pkgconf - - sysroot-i686-linux-gnu - - sysroot-x86_64-linux-gnu - - sysroot-wasm32-wasi - - linux64-shippable/opt: - description: "Linux64 Instrumented" - index: - product: firefox - job-name: instrumented-linux64 - shipping-product: firefox - treeherder: - platform: linux64-shippable/opt - worker-type: b-linux-gcp - run: - config: - - builds/releng_base_firefox.py - - builds/releng_base_linux_64_builds.py - mozconfig-variant: profile-generate - tooltool-downloads: public - run-on-projects: ['release'] - fetches: - toolchain: - - linux64-clang - - linux64-rust - - linux64-rust-size - - linux64-cbindgen - - linux64-dump_syms - - linux64-nasm - - linux64-node - - linux64-pkgconf - - sysroot-x86_64-linux-gnu - - sysroot-wasm32-wasi - - linux64-aarch64-shippable/opt: - description: "Linux AArch64 (a.k.a. ARM64) Instrumented" - index: - product: firefox - job-name: instrumented-linux64-aarch64 - shipping-product: firefox - treeherder: - platform: linux64-aarch64-shippable/opt - worker-type: b-linux-gcp - run: - config: - - builds/releng_base_firefox.py - - builds/releng_base_linux_64_builds.py - mozconfig-variant: profile-generate - extra-config: - extra_mozconfig_content: - - ac_add_options --target=aarch64 - - unset MOZ_STDCXX_COMPAT - tooltool-downloads: public - run-on-projects: ['mozilla-central'] - fetches: - toolchain: - - linux64-clang - - linux64-rust - - linux64-rust-size - - linux64-cbindgen - - linux64-dump_syms - - linux64-nasm - - linux64-node - - linux64-pkgconf - - sysroot-aarch64-linux-gnu - - sysroot-x86_64-linux-gnu - - sysroot-wasm32-wasi - - macosx64-shippable/opt: - description: "MacOS X x64 Cross-compile Instrumented" - shipping-phase: build - shipping-product: firefox - treeherder: - platform: osx-shippable/opt - worker-type: b-linux-gcp - worker: - max-run-time: 7200 - env: - PERFHERDER_EXTRA_OPTIONS: instrumented - run: - using: mozharness - actions: [get-secrets, build] - config: - - builds/releng_base_firefox.py - - builds/releng_base_mac_64_cross_builds.py - script: "mozharness/scripts/fx_desktop_build.py" - secrets: true - mozconfig-variant: profile-generate - run-on-projects: ['release'] - fetches: - toolchain: - - linux64-clang - - linux64-hfsplus - - linux64-libdmg - - linux64-rust-macos - - linux64-rust-size - - linux64-cbindgen - - linux64-dump_syms - - linux64-nasm - - linux64-node - - macosx64-sdk - - sysroot-x86_64-linux-gnu - - sysroot-wasm32-wasi - - macosx64-aarch64-shippable/opt: - description: "MacOS X aarch64 Cross-compile Instrumented" - shipping-phase: build - shipping-product: firefox - treeherder: - platform: osx-aarch64-shippable/opt - worker-type: b-linux-gcp - worker: - max-run-time: 7200 - env: - PERFHERDER_EXTRA_OPTIONS: instrumented - run: - using: mozharness - actions: [get-secrets, build] - config: - - builds/releng_base_firefox.py - - builds/releng_base_mac_64_cross_builds.py - script: "mozharness/scripts/fx_desktop_build.py" - secrets: true - mozconfig-variant: profile-generate - extra-config: - mozconfig_platform: macosx64-aarch64 - run-on-projects: ['release'] - fetches: - toolchain: - - linux64-clang - - linux64-hfsplus - - linux64-libdmg - - linux64-rust-macos - - linux64-rust-size - - linux64-cbindgen - - linux64-dump_syms - - linux64-nasm - - linux64-node - - macosx64-sdk - - sysroot-x86_64-linux-gnu - - sysroot-wasm32-wasi - - android-x86-shippable/opt: - description: "Android 5.0 x86 PGO instrumented" - index: - product: mobile - job-name: instrumented-android-x86 - shipping-product: fennec - treeherder: - platform: android-5-0-x86/pgo - worker-type: b-linux-gcp - worker: - docker-image: {in-tree: android-build} - env: - GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline" - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" - artifacts: - - name: public/build - path: /builds/worker/artifacts/ - type: directory - - name: public/build/geckoview-androidTest.apk - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk - type: file - - name: public/build/geckoview-test_runner.apk - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk - type: file - - name: public/build/geckoview-test_runner.aab - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab - type: file - - name: public/build/geckoview_example.apk - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk - type: file - - name: public/build/geckoview_example.aab - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab - type: file - run: - config: - - builds/releng_base_android_64_builds.py - custom-build-variant-cfg: x86-profile-generate - tooltool-downloads: internal - run-on-projects: ['release'] - fetches: - toolchain: - - android-gradle-dependencies - - android-gradle-python-envs - - android-ndk-linux - - android-sdk-linux - - linux64-jdk - - linux64-clang - - linux64-rust-android - - linux64-rust-size - - linux64-cbindgen - - linux64-dump_syms - - linux64-nasm - - linux64-node - - sysroot-x86_64-linux-gnu - - sysroot-wasm32-wasi - - android-x86_64-shippable/opt: - description: "Android 5.0 x86_64 PGO instrumented" - index: - product: mobile - job-name: instrumented-android-x86_64 - shipping-product: fennec - treeherder: - platform: android-5-0-x86_64/pgo - worker-type: b-linux-gcp - worker: - docker-image: {in-tree: android-build} - env: - GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline" - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" - artifacts: - - name: public/build - path: /builds/worker/artifacts/ - type: directory - - name: public/build/geckoview-androidTest.apk - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk - type: file - - name: public/build/geckoview-test_runner.apk - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk - type: file - - name: public/build/geckoview-test_runner.aab - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab - type: file - - name: public/build/geckoview_example.apk - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk - type: file - - name: public/build/geckoview_example.aab - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab - type: file - run: - config: - - builds/releng_base_android_64_builds.py - custom-build-variant-cfg: x86_64-profile-generate - tooltool-downloads: internal - run-on-projects: ['release'] - fetches: - toolchain: - - android-gradle-dependencies - - android-gradle-python-envs - - android-ndk-linux - - android-sdk-linux - - linux64-jdk - - linux64-clang - - linux64-rust-android - - linux64-rust-size - - linux64-cbindgen - - linux64-dump_syms - - linux64-nasm - - linux64-node - - sysroot-x86_64-linux-gnu - - sysroot-wasm32-wasi - - android-aarch64-shippable/opt: - description: "Android 5.0 AArch64 PGO instrumented" - index: - product: mobile - job-name: instrumented-android-aarch64 - shipping-product: fennec - treeherder: - platform: android-5-0-aarch64/pgo - worker-type: b-linux-gcp - worker: - docker-image: {in-tree: android-build} - env: - GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline" - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" - artifacts: - - name: public/build - path: /builds/worker/artifacts/ - type: directory - - name: public/build/geckoview-androidTest.apk - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk - type: file - - name: public/build/geckoview-test_runner.apk - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk - type: file - - name: public/build/geckoview-test_runner.aab - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab - type: file - - name: public/build/geckoview_example.apk - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk - type: file - - name: public/build/geckoview_example.aab - path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab - type: file - run: - config: - - builds/releng_base_android_64_builds.py - custom-build-variant-cfg: aarch64-profile-generate - tooltool-downloads: internal - run-on-projects: ['release'] - fetches: - toolchain: - - android-gradle-dependencies - - android-gradle-python-envs - - android-ndk-linux - - android-sdk-linux - - linux64-jdk - - linux64-clang - - linux64-rust-android - - linux64-rust-size - - linux64-cbindgen - - linux64-dump_syms - - linux64-nasm - - linux64-node - - sysroot-x86_64-linux-gnu - - sysroot-wasm32-wasi - - win32-shippable/opt: - description: "Win32 Shippable PGO Instrumented" - index: - product: firefox - job-name: instrumented-win32 - shipping-product: firefox - treeherder: - platform: windows2012-32-shippable/opt - worker-type: b-linux-gcp - run: - options: [append-env-variables-from-configs] - mozconfig-variant: profile-generate - config: - - builds/releng_base_firefox.py - - builds/releng_base_linux_64_builds.py - extra-config: - stage_platform: win32 - mozconfig_platform: win32 - run-on-projects: ['release'] - fetches: - toolchain: - - linux64-clang - - linux64-rust-cross - - linux64-rust-size - - linux64-nasm - - linux64-node - - linux64-cbindgen - - linux64-dump_syms - - linux64-wine - - linux64-winchecksec - - nsis - - sysroot-x86_64-linux-gnu - - sysroot-wasm32-wasi - - vs - - windows-rs - fetch: - - upx-3.95-win - - win64-nightlyasrelease/opt: - description: "Win64 Shippable PGO Instrumented" - index: - product: firefox - job-name: instrumented-nightlyasrelease-win64 - shipping-product: firefox - treeherder: - platform: win64-nightlyasrelease/opt - worker-type: b-linux-gcp - run: - options: [append-env-variables-from-configs] - mozconfig-variant: profile-generate - config: - - builds/releng_base_firefox.py - - builds/releng_base_linux_64_builds.py - extra-config: - stage_platform: win64 - mozconfig_platform: win64 - extra_mozconfig_content: - - ac_add_options --as-milestone=release - run-on-projects: [trunk-only] - fetches: - toolchain: - - linux64-clang - - linux64-rust-cross - - linux64-rust-size - - linux64-nasm - - linux64-node - - linux64-cbindgen - - linux64-dump_syms - - linux64-wine - - linux64-winchecksec - - nsis - - sysroot-x86_64-linux-gnu - - sysroot-wasm32-wasi - - vs - - windows-rs - fetch: - - upx-3.95-win - - win64-shippable/opt: - description: "Win64 Shippable PGO Instrumented" - index: - product: firefox - job-name: instrumented-win64 - shipping-product: firefox - treeherder: - platform: windows2012-64-shippable/opt - worker-type: b-linux-gcp - run: - options: [append-env-variables-from-configs] - mozconfig-variant: profile-generate - config: - - builds/releng_base_firefox.py - - builds/releng_base_linux_64_builds.py - extra-config: - stage_platform: win64 - mozconfig_platform: win64 - run-on-projects: ['release'] - fetches: - toolchain: - - linux64-clang - - linux64-rust-cross - - linux64-rust-size - - linux64-nasm - - linux64-node - - linux64-cbindgen - - linux64-dump_syms - - linux64-wine - - linux64-winchecksec - - nsis - - sysroot-x86_64-linux-gnu - - sysroot-wasm32-wasi - - vs - - windows-rs - fetch: - - upx-3.95-win diff --git a/taskcluster/ci/mar-signing-l10n/kind.yml b/taskcluster/ci/mar-signing-l10n/kind.yml deleted file mode 100644 index ad470915ef..0000000000 --- a/taskcluster/ci/mar-signing-l10n/kind.yml +++ /dev/null @@ -1,39 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -transforms: - - taskgraph.transforms.from_deps - - gecko_taskgraph.transforms.name_sanity - - gecko_taskgraph.transforms.mar_signing - - gecko_taskgraph.transforms.task - -kind-dependencies: - - repackage-l10n - -only-for-build-platforms: - - linux-shippable/opt - - linux64-shippable/opt - - macosx64-shippable/opt - - win32-shippable/opt - - win64-shippable/opt - - win64-aarch64-shippable/opt - - linux64-asan-reporter-shippable/opt - - linux-devedition/opt - - linux64-devedition/opt - - macosx64-devedition/opt - - win32-devedition/opt - - win64-devedition/opt - - win64-aarch64-devedition/opt - -jobs: - mar-signing-l10n: - from-deps: - group-by: single-with-filters - shipping-phase: promote - treeherder-group: ms - description-suffix: 'mar signing' - required_signoffs: - - mar-signing diff --git a/taskcluster/ci/release-beetmover-signed-langpacks/kind.yml b/taskcluster/ci/release-beetmover-signed-langpacks/kind.yml deleted file mode 100644 index 63bdcfe921..0000000000 --- a/taskcluster/ci/release-beetmover-signed-langpacks/kind.yml +++ /dev/null @@ -1,40 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -transforms: - - taskgraph.transforms.from_deps - - gecko_taskgraph.transforms.name_sanity - - gecko_taskgraph.transforms.release_beetmover_signed_addons - - gecko_taskgraph.transforms.task - -kind-dependencies: - - build-signing - - shippable-l10n-signing - -only-for-attributes: - - nightly - - shippable - -only-for-build-platforms: - - linux64-shippable/opt - - linux64-devedition/opt - -jobs: - release-beetmover-signed-langpacks: - description: Beetmover submission for platform-independent langpacks {locales} in {platform} directory - from-deps: - group-by: single-with-filters - worker-type: - by-release-level: - production: scriptworker-k8s/gecko-3-beetmover - staging: scriptworker-k8s/gecko-1-beetmover - run-on-projects: [] - shipping-phase: promote - attributes: - artifact_map: - by-release-type: - beta|release.*|esr.*: taskcluster/gecko_taskgraph/manifests/firefox_candidates.yml - default: taskcluster/gecko_taskgraph/manifests/firefox_nightly.yml diff --git a/taskcluster/ci/release-flatpak-push/kind.yml b/taskcluster/ci/release-flatpak-push/kind.yml deleted file mode 100644 index 27f5ebf3ec..0000000000 --- a/taskcluster/ci/release-flatpak-push/kind.yml +++ /dev/null @@ -1,42 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -transforms: - - gecko_taskgraph.transforms.release:run_on_releases - - gecko_taskgraph.transforms.release_deps:transforms - - gecko_taskgraph.transforms.release_flatpak_push:transforms - - gecko_taskgraph.transforms.task:transforms - -kind-dependencies: - - release-flatpak-repackage - -job-defaults: - description: Pushes Flatpaks onto Flathub - run-on-projects: [] # to make sure this never runs as part of CI - run-on-releases: [beta, release, release-rc] - shipping-phase: ship - treeherder: - platform: linux64/opt - kind: build - tier: 2 - worker-type: - by-release-level: - production: scriptworker-k8s/gecko-3-pushflatpak - staging: scriptworker-k8s/gecko-1-pushflatpak - worker: - implementation: push-flatpak - channel: - by-release-type: - beta: beta - release: stable - default: mock - -jobs: - firefox: - shipping-product: firefox - flathub-scope: "flathub:firefox" - treeherder: - symbol: Flatpak(push) diff --git a/taskcluster/ci/release-msix-push/kind.yml b/taskcluster/ci/release-msix-push/kind.yml deleted file mode 100644 index 3009c74df2..0000000000 --- a/taskcluster/ci/release-msix-push/kind.yml +++ /dev/null @@ -1,45 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -transforms: - - gecko_taskgraph.transforms.release:run_on_releases - - gecko_taskgraph.transforms.release_deps:transforms - - gecko_taskgraph.transforms.release_msix_push:transforms - - gecko_taskgraph.transforms.task:transforms - -kind-dependencies: - - repackage-shippable-l10n-msix - -job-defaults: - description: Pushes msix archives to Microsoft Store - run-on-projects: [] # to make sure this never runs as part of CI - run-on-releases: [beta, release, release-rc] - shipping-phase: ship # note override in transform - treeherder: - platform: win32-shippable/opt - kind: build - tier: 2 - worker-type: - by-release-level: - production: scriptworker-k8s/gecko-3-pushmsix - staging: scriptworker-k8s/gecko-1-pushmsix - worker: - implementation: push-msix - channel: - by-release-type: - beta: beta - release.*: release - default: mock - publish-mode: - by-release-type: - beta: Immediate - default: Manual - -jobs: - firefox: - shipping-product: firefox - treeherder: - symbol: MSIX(push) diff --git a/taskcluster/ci/release-secondary-flatpak-push/kind.yml b/taskcluster/ci/release-secondary-flatpak-push/kind.yml deleted file mode 100644 index 7f770d4ee5..0000000000 --- a/taskcluster/ci/release-secondary-flatpak-push/kind.yml +++ /dev/null @@ -1,38 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -transforms: - - gecko_taskgraph.transforms.release:run_on_releases - - gecko_taskgraph.transforms.release_deps:transforms - - gecko_taskgraph.transforms.release_flatpak_push:transforms - - gecko_taskgraph.transforms.task:transforms - -kind-dependencies: - - release-flatpak-repackage - -job-defaults: - description: Pushes Flatpaks onto Flathub - run-on-projects: [] # to make sure this never runs as part of CI - run-on-releases: [release-rc] - shipping-phase: ship # ship-rc phase - treeherder: - platform: linux64/opt - kind: build - tier: 2 - worker-type: - by-release-level: - production: scriptworker-k8s/gecko-3-pushflatpak - staging: scriptworker-k8s/gecko-1-pushflatpak - worker: - implementation: push-flatpak - channel: beta - -jobs: - firefox-rc: - shipping-product: firefox - flathub-scope: "flathub:firefox" - treeherder: - symbol: Flatpak(push-beta) diff --git a/taskcluster/ci/release-source/kind.yml b/taskcluster/ci/release-source/kind.yml deleted file mode 100644 index 6b550e9d7e..0000000000 --- a/taskcluster/ci/release-source/kind.yml +++ /dev/null @@ -1,54 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -kind-dependencies: - - toolchain - -transforms: - - gecko_taskgraph.transforms.build:transforms - - gecko_taskgraph.transforms.build_attrs:transforms - - gecko_taskgraph.transforms.build_lints:transforms - - gecko_taskgraph.transforms.job:transforms - - gecko_taskgraph.transforms.task:transforms - - -job-defaults: - shipping-phase: promote - treeherder: - symbol: Src - worker-type: b-linux-gcp - worker: - max-run-time: 3600 - env: - PKG_SRCPACK_BASENAME: source - attributes: - shippable: true - run: - using: mozharness - actions: [package-source] - script: "mozharness/scripts/fx_desktop_build.py" - config: - - builds/releng_sub_linux_configs/64_source.py - options: [] - tooltool-downloads: public - run-on-projects: [] - # The build_attrs transform defaults to setting a `skip-unlles-schedules' - # optimization based on the task label. The tasks here don't have corresponding - # schedules defined in mozbuild. - optimization: null - -jobs: - firefox-source/opt: - description: "Firefox source builder" - treeherder: - platform: firefox-release/opt - shipping-product: firefox - - devedition-source/opt: - description: "Devedition source builder" - treeherder: - platform: devedition-release/opt - shipping-product: devedition diff --git a/taskcluster/ci/repackage-deb/kind.yml b/taskcluster/ci/repackage-deb/kind.yml deleted file mode 100644 index aa6381bb4a..0000000000 --- a/taskcluster/ci/repackage-deb/kind.yml +++ /dev/null @@ -1,53 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -transforms: - - taskgraph.transforms.from_deps - - gecko_taskgraph.transforms.name_sanity - - gecko_taskgraph.transforms.repackage - - gecko_taskgraph.transforms.repackage_routes - - gecko_taskgraph.transforms.job - - gecko_taskgraph.transforms.task - -kind-dependencies: - - build-signing - - toolchain - -only-for-build-platforms: - - linux-shippable/opt - - linux-devedition/opt - - linux64-shippable/opt - - linux64-devedition/opt - -only-for-attributes: - - nightly - - shippable - -jobs: - repackage-deb: - from-deps: - group-by: single-with-filters - shipping-phase: promote - worker-type: b-linux-gcp - worker: - docker-image: - in-tree: debian12-repackage - mozharness: - run-as-root: true - use-caches: false - config: - by-build-platform: - linux\b.*: - - repackage/base.py - - repackage/linux32_signed.py - linux64\b.*: - - repackage/base.py - - repackage/linux64_signed.py - treeherder: - symbol: Rpk-deb - package-formats: - by-build-platform: - linux.*: [deb] diff --git a/taskcluster/ci/repackage-l10n/kind.yml b/taskcluster/ci/repackage-l10n/kind.yml deleted file mode 100644 index c78b52de2b..0000000000 --- a/taskcluster/ci/repackage-l10n/kind.yml +++ /dev/null @@ -1,86 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -transforms: - - taskgraph.transforms.from_deps - - gecko_taskgraph.transforms.repackage_set_upstream_mac_kind - - gecko_taskgraph.transforms.repackage_l10n - - gecko_taskgraph.transforms.name_sanity - - gecko_taskgraph.transforms.repackage - - gecko_taskgraph.transforms.job - - gecko_taskgraph.transforms.task - -kind-dependencies: - - shippable-l10n-signing - - shippable-l10n-mac-signing - - shippable-l10n-mac-notarization - - toolchain - -only-for-build-platforms: - - linux-shippable/opt - - linux64-shippable/opt - - macosx64-shippable/opt - - win32-shippable/opt - - win64-shippable/opt - - win64-aarch64-shippable/opt - - linux-devedition/opt - - linux64-devedition/opt - - macosx64-devedition/opt - - win32-devedition/opt - - win64-devedition/opt - - win64-aarch64-devedition/opt - -jobs: - repackage-l10n: - from-deps: - group-by: single-with-filters - upstream-mac-kind: - by-build-type: - debug: shippable-l10n-mac-signing - default: - by-project: - mozilla-(central|beta|release|esr.*): shippable-l10n-mac-notarization - default: shippable-l10n-mac-signing - worker-type: b-linux-gcp - mozharness: - config: - by-build-platform: - linux-.*: - - repackage/base.py - - repackage/linux32_signed.py - linux64-.*: - - repackage/base.py - - repackage/linux64_signed.py - macosx64-.*: - - repackage/base.py - - repackage/osx_signed.py - win32\b.*: - - repackage/base.py - - repackage/win32_sfx_stub.py - - repackage/win32_signed.py - win64(?!-aarch64)\b.*: - - repackage/base.py - - repackage/win32_sfx_stub.py - - repackage/win64_signed.py - win64-aarch64\b.*: - - repackage/base.py - - repackage/win64-aarch64_sfx_stub.py - - repackage/win64_signed.py - package-formats: - by-build-platform: - macosx64\b.*: - by-build-type: - # Debug builds can't be attributable - debug: [dmg, mar, pkg] - default: [dmg-attrib, mar, pkg] - linux.*: [mar] - win32\b.*: [mar, installer] - win64\b.*: [mar, installer] - fetches: - toolchain: - - linux64-mar-tools - - linux64-upx - treeherder-group: L10n-Rpk diff --git a/taskcluster/ci/searchfox/kind.yml b/taskcluster/ci/searchfox/kind.yml deleted file mode 100644 index 492cba940d..0000000000 --- a/taskcluster/ci/searchfox/kind.yml +++ /dev/null @@ -1,224 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -kind-dependencies: - - toolchain - - fetch - -transforms: - - gecko_taskgraph.transforms.build:transforms - - gecko_taskgraph.transforms.build_attrs:transforms - - gecko_taskgraph.transforms.build_lints:transforms - - gecko_taskgraph.transforms.job:transforms - - gecko_taskgraph.transforms.task:transforms - -job-defaults: - index: - product: firefox - treeherder: - symbol: Searchfox(idx) - kind: build - tier: 2 - run-on-projects: ['mozilla-central'] - optimization: null - use-python: default - # These builds don't use sccache because otherwise we wouldn't index - # the files that sccache optimizes away compilation for. - use-sccache: false - -jobs: - linux64-searchfox/debug: - description: "Linux64 Debug Searchfox" - index: - job-name: linux64-searchfox-debug - treeherder: - platform: linux64/debug - worker-type: b-linux-gcp - worker: - max-run-time: 10800 - env: - PERFHERDER_EXTRA_OPTIONS: searchfox - MOZSEARCH_PLATFORM: "linux" - run: - using: mozharness - actions: [build] - config: - - builds/releng_base_firefox.py - - builds/releng_sub_linux_configs/64_searchfox_and_debug.py - script: "mozharness/scripts/fx_desktop_build.py" - tooltool-downloads: public - keep-artifacts: false - fetches: - toolchain: - - linux64-clang - - linux64-nasm - - linux64-node - - linux64-rust - - linux64-cbindgen - - linux64-dump_syms - - linux64-pkgconf - - sysroot-x86_64-linux-gnu - - sysroot-wasm32-wasi - - macosx64-searchfox/debug: - description: "MacOS X x64 Debug Cross-compile Searchfox" - index: - job-name: macosx64-searchfox-debug - treeherder: - platform: osx-cross/debug - worker-type: b-linux-gcp - worker: - max-run-time: 10800 - env: - PERFHERDER_EXTRA_OPTIONS: searchfox - MOZSEARCH_PLATFORM: "macosx" - run: - using: mozharness - actions: [get-secrets, build] - config: - - builds/releng_base_firefox.py - - builds/releng_base_mac_64_cross_builds.py - script: "mozharness/scripts/fx_desktop_build.py" - custom-build-variant-cfg: cross-debug-searchfox - secrets: true - keep-artifacts: false - fetches: - toolchain: - - linux64-clang - - linux64-hfsplus - - linux64-libdmg - - linux64-nasm - - linux64-node - - linux64-rust-cross - - linux64-cbindgen - - linux64-dump_syms - - macosx64-sdk - - sysroot-x86_64-linux-gnu - - sysroot-wasm32-wasi - - ios-searchfox/debug: - description: "ios Debug Cross-compile Searchfox" - index: - job-name: ios-searchfox-debug - treeherder: - platform: ios/debug - worker-type: b-linux-gcp - worker: - max-run-time: 10800 - env: - PERFHERDER_EXTRA_OPTIONS: searchfox - MOZSEARCH_PLATFORM: "ios" - run: - using: mozharness - actions: [get-secrets, build] - config: - - builds/releng_base_firefox.py - script: "mozharness/scripts/fx_desktop_build.py" - secrets: true - keep-artifacts: false - extra-config: - app_name: mobile/ios - stage_platform: ios - mozconfig_platform: ios - disable_package_metrics: true - mozconfig-variant: debug-searchfox - fetches: - toolchain: - - linux64-clang - - linux64-hfsplus - - linux64-libdmg - - linux64-nasm - - linux64-node - - linux64-rust-ios - - linux64-cbindgen - - linux64-dump_syms - - ios-sdk - - sysroot-x86_64-linux-gnu - - sysroot-wasm32-wasi - - win64-searchfox/debug: - description: "Win64 Searchfox Debug (clang-cl)" - index: - job-name: win64-searchfox-debug - treeherder: - platform: windows2012-64/debug - worker-type: b-linux-gcp - worker: - max-run-time: 10800 - env: - PERFHERDER_EXTRA_OPTIONS: searchfox - MOZSEARCH_PLATFORM: "windows" - run: - using: mozharness - options: [append-env-variables-from-configs] - actions: [get-secrets, build] - script: mozharness/scripts/fx_desktop_build.py - secrets: true - config: - - builds/releng_base_firefox.py - - builds/releng_base_linux_64_builds.py - - builds/taskcluster_sub_win64/searchfox_debug.py - extra-config: - mozconfig_platform: win64 - fetches: - toolchain: - - linux64-clang - - linux64-rust-cross - - linux64-rust-size - - linux64-nasm - - linux64-node - - linux64-cbindgen - - linux64-dump_syms - - linux64-wine - - linux64-winchecksec - - nsis - - sysroot-x86_64-linux-gnu - - sysroot-wasm32-wasi - - vs - - windows-rs - fetch: - - upx-3.95-win - - android-armv7-searchfox/debug: - description: "Android ARMv7 Debug Searchfox" - index: - job-name: android-armv7-searchfox-debug - treeherder: - platform: android-4-1-armv7/debug - worker-type: b-linux-gcp - worker: - docker-image: {in-tree: android-build} - max-run-time: 10800 - env: - PERFHERDER_EXTRA_OPTIONS: searchfox - MOZSEARCH_PLATFORM: "android-armv7" - GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline" - TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" - run: - using: mozharness - actions: [get-secrets, build] - config: - - builds/releng_base_android_64_builds.py - script: "mozharness/scripts/fx_desktop_build.py" - secrets: true - custom-build-variant-cfg: arm-debug-searchfox - tooltool-downloads: internal - fetches: - toolchain: - - android-gradle-dependencies - - android-gradle-python-envs - - android-ndk-linux - - android-sdk-linux - - linux64-jdk - - linux64-clang - - linux64-rust-cross - - linux64-rust-size - - linux64-cbindgen - - linux64-dump_syms - - linux64-nasm - - linux64-node - - sysroot-x86_64-linux-gnu - - sysroot-wasm32-wasi diff --git a/taskcluster/ci/shippable-l10n/kind.yml b/taskcluster/ci/shippable-l10n/kind.yml deleted file mode 100644 index d38edb2ee5..0000000000 --- a/taskcluster/ci/shippable-l10n/kind.yml +++ /dev/null @@ -1,199 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -transforms: - - taskgraph.transforms.from_deps - - gecko_taskgraph.transforms.l10n - - gecko_taskgraph.transforms.job - - gecko_taskgraph.transforms.task - -kind-dependencies: - - build - - build-signing - - fetch - - repackage - - toolchain - -only-for-build-platforms: - - linux64-shippable/opt - - linux-shippable/opt - - macosx64-shippable/opt - - win32-shippable/opt - - win64-shippable/opt - - win64-aarch64-shippable/opt - - linux64-devedition/opt - - linux-devedition/opt - - macosx64-devedition/opt - - win32-devedition/opt - - win64-devedition/opt - - win64-aarch64-devedition/opt - -jobs: - shippable-l10n: - description: Localization - from-deps: - group-by: platform - locales-file: browser/locales/l10n-changesets.json - locales-per-chunk: 5 - run-on-projects: ['release'] - attributes: - shipping_phase: promote - ignore-locales: - by-build-platform: - # OSX has a special locale for japanese - macosx64.*: [ja] - default: [ja-JP-mac] - run-time: 1800 - fetches: - toolchain: - by-build-platform: - default: [] - macosx64.*: - - linux64-libdmg - - linux64-hfsplus - win.*: - - linux64-wine - - nsis - fetch: - by-build-platform: - default: [] - win.*: - - upx-3.95-win - tooltool: - by-build-platform: - default: internal - linux.*: public - index: - type: shippable-l10n - product: - by-build-platform: - default: firefox - .*-devedition: devedition - job-name: - by-build-platform: - linux-shippable: linux-opt - linux64-shippable: linux64-opt - macosx64-shippable: macosx64-opt - win32-shippable: win32-opt - win64-shippable: win64-opt - win64-aarch64-shippable: win64-aarch64-opt - linux-devedition: linux-devedition-opt - linux64-devedition: linux64-devedition-opt - macosx64-devedition: macosx64-devedition-opt - win32-devedition: win32-devedition-opt - win64-devedition: win64-devedition-opt - win64-aarch64-devedition: win64-aarch64-devedition-opt - worker-type: b-linux-gcp - treeherder: - symbol: L10n(B) - tier: 1 - platform: - by-build-platform: - linux64-shippable: linux64-shippable/opt - linux-shippable: linux32-shippable/opt - macosx64-shippable: osx-shippable/opt - win32-shippable: windows2012-32-shippable/opt - win64-shippable: windows2012-64-shippable/opt - win64-aarch64-shippable: windows2012-aarch64-shippable/opt - linux64-devedition: linux64-devedition/opt - linux-devedition: linux32-devedition/opt - macosx64-devedition: osx-cross-devedition/opt - win32-devedition: windows2012-32-devedition/opt - win64-devedition: windows2012-64-devedition/opt - win64-aarch64-devedition: windows2012-aarch64-devedition/opt - env: - by-build-platform: - linux.*: # linux64 and 32 get same treatment here - EN_US_PACKAGE_NAME: target.tar.bz2 - EN_US_BINARY_URL: - artifact-reference: <build-signing/{artifact_prefix}> - macosx64.*: - EN_US_PACKAGE_NAME: target.dmg - EN_US_BINARY_URL: - artifact-reference: <repackage/{artifact_prefix}> - win.*: - EN_US_PACKAGE_NAME: target.zip - EN_US_BINARY_URL: - artifact-reference: <build-signing/{artifact_prefix}> - mozharness: - config: - by-build-platform: - linux-shippable: - - single_locale/firefox.py - - single_locale/linux32.py - - single_locale/tc_common.py - - single_locale/tc_linux_common.py - - taskcluster_nightly.py - linux64-shippable: - - single_locale/firefox.py - - single_locale/linux64.py - - single_locale/tc_common.py - - single_locale/tc_linux_common.py - - taskcluster_nightly.py - macosx64-shippable: - - single_locale/firefox.py - - single_locale/macosx64.py - - single_locale/tc_common.py - - single_locale/tc_macosx64.py - - taskcluster_nightly.py - win32-shippable: - - single_locale/firefox.py - - single_locale/win32.py - - single_locale/tc_common.py - - single_locale/tc_win32.py - - taskcluster_nightly.py - win64-shippable: - - single_locale/firefox.py - - single_locale/win64.py - - single_locale/tc_common.py - - single_locale/tc_win64.py - - taskcluster_nightly.py - win64-aarch64-shippable: - - single_locale/firefox.py - - single_locale/win64-aarch64.py - - single_locale/tc_common.py - - single_locale/tc_win64.py - - taskcluster_nightly.py - linux-devedition: - - single_locale/devedition.py - - single_locale/linux32.py - - single_locale/tc_common.py - - single_locale/tc_linux_common.py - - taskcluster_nightly.py - linux64-devedition: - - single_locale/devedition.py - - single_locale/linux64.py - - single_locale/tc_common.py - - single_locale/tc_linux_common.py - - taskcluster_nightly.py - macosx64-devedition: - - single_locale/devedition.py - - single_locale/macosx64.py - - single_locale/tc_common.py - - single_locale/tc_macosx64.py - - taskcluster_nightly.py - win32-devedition: - - single_locale/devedition.py - - single_locale/win32.py - - single_locale/tc_common.py - - single_locale/tc_win32.py - - taskcluster_nightly.py - win64-devedition: - - single_locale/devedition.py - - single_locale/win64.py - - single_locale/tc_common.py - - single_locale/tc_win64.py - - taskcluster_nightly.py - win64-aarch64-devedition: - - single_locale/devedition.py - - single_locale/win64-aarch64.py - - single_locale/tc_common.py - - single_locale/tc_win64.py - - taskcluster_nightly.py - # no default, so we fail on new entries - actions: ['clone-locales', 'list-locales', 'setup', 'repack', - 'summary'] - script: mozharness/scripts/desktop_l10n.py diff --git a/taskcluster/ci/spidermonkey/kind.yml b/taskcluster/ci/spidermonkey/kind.yml deleted file mode 100644 index 358ffeeb3f..0000000000 --- a/taskcluster/ci/spidermonkey/kind.yml +++ /dev/null @@ -1,74 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -kind-dependencies: - - toolchain - -transforms: - - gecko_taskgraph.transforms.spidermonkey:transforms - - gecko_taskgraph.transforms.build_attrs:transforms - - gecko_taskgraph.transforms.build_lints:transforms - - gecko_taskgraph.transforms.job:transforms - - gecko_taskgraph.transforms.task:transforms - -job-defaults: - attributes: - retrigger: true - treeherder: - kind: build - tier: 1 - index: - product: firefox - worker-type: b-linux-gcp - run: - using: spidermonkey - when: - files-changed: - # any when.files-changed specified below in a job will be - # appended to this list - - build/** - - config/** - - configure.py - - dom/bindings/** - - intl/icu/** - - js/moz.configure - - js/public/** - - js/src/** - - layout/tools/reftest/reftest/** - - Makefile.in - - media/webrtc/trunk/tools/gyp/** - - memory/** - - mfbt/** - - modules/fdlibm/** - - modules/zlib/src/** - - mozglue/** - - moz.build - - moz.configure - - nsprpub/** - - python/** - - taskcluster/moz.build - - taskcluster/ci/spidermonkey/kind.yml - - testing/mozbase/** - - testing/web-platform/** - - test.mozbuild - - toolkit/mozapps/installer/package-name.mk - - toolkit/mozapps/installer/upload-files.mk - fetches: - toolchain: - by-worker-type: - .*-b-win2022: - - win64-clang - - win64-rust - default: - - linux64-clang - - linux64-gcc - - linux64-rust - - linux64-dump_syms - - sysroot-x86_64-linux-gnu - -jobs-from: - - linux.yml - - windows.yml diff --git a/taskcluster/ci/static-analysis-autotest/kind.yml b/taskcluster/ci/static-analysis-autotest/kind.yml deleted file mode 100644 index 39497268a8..0000000000 --- a/taskcluster/ci/static-analysis-autotest/kind.yml +++ /dev/null @@ -1,101 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -kind-dependencies: - - toolchain - -transforms: - - gecko_taskgraph.transforms.build_attrs:transforms - - gecko_taskgraph.transforms.build_lints:transforms - - gecko_taskgraph.transforms.job:transforms - - gecko_taskgraph.transforms.task:transforms - -job-defaults: - attributes: - retrigger: true - index: - product: firefox - worker: - skip-artifacts: true - max-run-time: 3600 - env: - PERFHERDER_EXTRA_OPTIONS: static-analysis-autotest - use-python: default - run-on-projects: ['mozilla-central'] - run: - using: mozharness - actions: [static-analysis-autotest] - script: mozharness/scripts/fx_desktop_build.py - treeherder: - symbol: Sa - kind: build - tier: 1 - -jobs: - linux64-st-autotest/debug: - description: "Linux64 Debug Static Analysis Autotest" - index: - job-name: linux64-st-autotest-debug - treeherder: - platform: linux64/debug - worker-type: t-linux-large - worker: - docker-image: {in-tree: static-analysis-build} - env: - # clang-tidy needs a recent libstdc++, which can be found in the clang - # toolchain. - LD_LIBRARY_PATH: /builds/worker/checkouts/gecko/clang/lib - PERFHERDER_EXTRA_OPTIONS: static-analysis-autotest - run: - config: - - builds/releng_base_firefox.py - - builds/releng_sub_linux_configs/64_stat_and_debug.py - tooltool-downloads: public - keep-artifacts: false - use-sccache: true - fetches: - toolchain: - - linux64-clang - - linux64-clang-tidy - - linux64-rust - - linux64-sccache - - linux64-cbindgen - - linux64-nasm - - linux64-node - - linux64-pkgconf - - sysroot-x86_64-linux-gnu - - sysroot-wasm32-wasi - - win64-st-autotest/debug: - description: "Win64 Debug Static Analysis Autotest" - index: - job-name: win64-st-autotest-debug - treeherder: - platform: windows2012-64/debug - tier: 2 - worker-type: b-win2022 - run: - config: - - builds/releng_base_firefox.py - - builds/taskcluster_base_windows.py - - builds/taskcluster_base_win64.py - - builds/taskcluster_sub_win64/debug.py - extra-config: - mozconfig_variant: debug - use-sccache: false - fetches: - toolchain: - - win64-clang - - win64-rust - - win64-cbindgen - - win64-clang-tidy - - win64-nasm - - win64-node - - win64-dump_syms - - win64-winchecksec - - vs - - windows-rs - - sysroot-wasm32-wasi diff --git a/taskcluster/ci/system-symbols-reprocess/kind.yml b/taskcluster/ci/system-symbols-reprocess/kind.yml deleted file mode 100644 index 5b81817188..0000000000 --- a/taskcluster/ci/system-symbols-reprocess/kind.yml +++ /dev/null @@ -1,46 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -# we need that to apply grouping only on jobs that have "build_platform", so we -# dont fail for the "fetch" kind that does is a dependency but does not have it -only-for-attributes: - - build_platform - -transforms: - - taskgraph.transforms.from_deps - - gecko_taskgraph.transforms.reprocess_symbols - - gecko_taskgraph.transforms.job - - gecko_taskgraph.transforms.task - -kind-dependencies: - - system-symbols - - system-symbols-upload - - fetch - -jobs: - system-symbols-reprocess: - from-deps: - kinds: ["system-symbols", "system-symbols-upload"] - group-by: platform - description: Reprocess Symbols on Crash-Stats - attributes: - cron: true - worker-type: b-linux-gcp - worker: - docker-image: {in-tree: system-symbols-linux-scraper} - max-run-time: 7200 - env: - # {level} gets replaced in the reprocess_symbols transform - CRASHSTATS_SECRET: "project/releng/gecko/build/level-{level}/gecko-symbol-reprocess" - DUMP_SYMS: "/bin/false" - run: - using: run-task - command: {artifact-reference: "${MOZ_FETCHES_DIR}/symbol-scrapers/reprocess.sh <system-symbols/public/build/target.crashreporter-symbols.zip>"} - fetches: - fetch: - - symbol-scrapers - scopes: - - secrets:get:project/releng/gecko/build/level-{level}/gecko-symbol-reprocess diff --git a/taskcluster/ci/system-symbols-upload/kind.yml b/taskcluster/ci/system-symbols-upload/kind.yml deleted file mode 100644 index dd9462a84b..0000000000 --- a/taskcluster/ci/system-symbols-upload/kind.yml +++ /dev/null @@ -1,34 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -transforms: - - taskgraph.transforms.from_deps - - gecko_taskgraph.transforms.upload_symbols - - gecko_taskgraph.transforms.job - - gecko_taskgraph.transforms.task - -kind-dependencies: - - system-symbols - -jobs: - system-symbols-upload: - description: Upload Symbols - from-deps: {} - attributes: - cron: true - worker-type: b-linux-gcp - worker: - docker-image: {in-tree: "lint"} - max-run-time: 1200 - env: - # {level} gets replaced in the upload_symbols transform - SYMBOL_SECRET: "project/releng/gecko/build/level-{level}/gecko-symbol-upload" - run: - using: mach - mach: {artifact-reference: "python toolkit/crashreporter/tools/upload_symbols.py <system-symbols/public/build/target.crashreporter-symbols.zip> --ignore-missing"} - sparse-profile: upload-symbols - scopes: - - secrets:get:project/releng/gecko/build/level-{level}/gecko-symbol-upload diff --git a/taskcluster/ci/test-apk/kind.yml b/taskcluster/ci/test-apk/kind.yml deleted file mode 100644 index b1fe6c2a88..0000000000 --- a/taskcluster/ci/test-apk/kind.yml +++ /dev/null @@ -1,157 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -transforms: - - gecko_taskgraph.transforms.test_apk:transforms - # While not a build, the build optimization works well for these tasks. - - gecko_taskgraph.transforms.build_schedules:transforms - - gecko_taskgraph.transforms.job:transforms - - gecko_taskgraph.transforms.task:transforms - -kind-dependencies: - - toolchain - - build-fat-aar - -job-defaults: - attributes: - retrigger: true - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt - fetches: - toolchain: - - android-sdk-linux - - android-gradle-dependencies - - android-gradle-python-envs - - linux64-jdk - build-fat-aar: - - target.maven.tar.xz - run: - using: gradlew - use-caches: false - treeherder: - kind: test - worker-type: b-linux-medium-gcp - worker: - docker-image: {in-tree: android-components} - max-run-time: 7200 - -jobs: - focus-debug: - description: Focus unit tests - attributes: - build-type: focus-debug - shipping-product: focus - run: - pre-gradlew: - - ["cd", "mobile/android/focus-android"] - gradlew: ['clean', 'test'] - dummy-secrets: - - content: "faketoken" - path: .adjust_token - treeherder: - platform: 'focus-android-all/opt' - symbol: focus-debug(T) - tier: 1 - worker: - artifacts: - - name: public/reports/index.html - path: /builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/reports/tests/testFocusDebugUnitTest/index.html - type: file - - name: public/reports/test - path: /builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/reports/tests - type: directory - - fenix-debug: - description: Fenix unit tests - attributes: - build-type: fenix-debug - shipping-product: fenix - run: - pre-gradlew: - - ["cd", "mobile/android/fenix"] - - ['java', '-version'] - gradlew: ['clean', 'testFenixDebugUnitTest'] - treeherder: - platform: 'fenix-android-all/opt' - symbol: fenix-debug(T) - tier: 1 - worker: - artifacts: - - name: public/reports/index.html - path: /builds/worker/checkouts/gecko/mobile/android/fenix/app/build/reports/tests/testFenixDebugUnitTest/index.html - type: file - - name: public/reports/test - path: /builds/worker/checkouts/gecko/mobile/android/fenix/app/build/reports/tests - type: directory - routes: - by-level: - '3': - - notify.slack-channel.G016BC5FUHJ.on-failed - 'default': [] - scopes: - by-level: - '3': - - queue:route:notify.slack-channel.G016BC5FUHJ.on-failed - - notify:slack-channel:G016BC5FUHJ - 'default': [] - extra: - notify: - by-level: - '3': - slackBlocks: | - [ - { - "type": "header", - "text": { - "type": "plain_text", - "text": "firefox-android :firefox: ${task.metadata.name} :x:\n " - } - }, - { - "type": "divider" - }, - { - "type": "section", - "text": { - "type": "mrkdwn", - "text": "*Task*: <https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId}|Taskcluster>" - } - }, - { - "type": "section", - "text": { - "type": "mrkdwn", - "text": "*Owner*: ${task.metadata.owner}" - } - }, - { - "type": "section", - "text": { - "type": "mrkdwn", - "text": "*Source*: <${task.payload.env.GECKO_HEAD_REPOSITORY}/rev/${task.payload.env.GECKO_HEAD_REV}|Commit> :hg:" - } - }, - { - "type": "section", - "text": { - "type": "mrkdwn", - "text": "*Test Summary*: <https://firefoxci.taskcluster-artifacts.net/${status.taskId}/0/public/reports/index.html|Results> :debug:" - } - }, - { - "type": "divider" - }, - { - "type": "context", - "elements": [ - { - "type": "mrkdwn", - "text": ":testops-notify: created by <https://mozilla-hub.atlassian.net/wiki/spaces/MTE/overview|Mobile Test Engineering>" - } - ] - } - ] - 'default': {} diff --git a/taskcluster/ci/test-components/kind.yml b/taskcluster/ci/test-components/kind.yml deleted file mode 100644 index bbdc5f7edd..0000000000 --- a/taskcluster/ci/test-components/kind.yml +++ /dev/null @@ -1,89 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -transforms: - - android_taskgraph.transforms.ui_tests:transforms - # While not a build, the build optimization works well for these tasks. - - gecko_taskgraph.transforms.build_schedules:transforms - - gecko_taskgraph.transforms.job:transforms - - gecko_taskgraph.transforms.task:transforms - -kind-dependencies: - - toolchain - - build-fat-aar - - -job-defaults: - attributes: - build-type: debug - retrigger: true - dependencies: - build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt - fetches: - toolchain: - - android-sdk-linux - - android-gradle-dependencies - - android-gradle-python-envs - - linux64-jdk - build-fat-aar: - - target.maven.tar.xz - run: - # TODO Generate APKs in a build task instead - gradlew: ['clean', 'assembleGecko', 'assembleAndroidTest', 'assembleDebug'] - pre-gradlew: - - ["cd", "mobile/android/android-components"] - secrets: - - name: project/mobile/firefox-android/android-components/firebase - key: firebaseToken - path: .firebase_token.json - json: true - using: gradlew - use-caches: false - treeherder: - kind: test - platform: 'AC-ui-test/opt' - tier: 2 - worker-type: b-linux-medium-gcp - worker: - artifacts: - - name: public - path: /builds/worker/artifacts - type: directory - docker-image: {in-tree: android-ui-tests} - env: - GOOGLE_APPLICATION_CREDENTIALS: '.firebase_token.json' - GOOGLE_PROJECT: moz-android-components-230120 - max-run-time: 2400 - optimization: - skip-unless-backstop: null - - -jobs: - unit-browser-engine-gecko-nightly: - component: browser - description: 'Run unit tests on device for browser component' - treeherder: - symbol: 'ui-components' - ui-browser: - component: samples-browser - description: 'Run ui tests for browser sample' - treeherder: - symbol: 'ui-samples-browser' - ui-glean: - component: samples-glean - description: 'Run ui tests for glean sample' - treeherder: - symbol: 'ui-samples-glean' - android-feature-containers: {} - android-feature-pwa: {} - android-feature-share: {} - android-feature-sitepermissions: {} - android-feature-top-sites: {} - android-feature-logins: {} - android-feature-prompts: {} - android-support-ktx: {} - android-feature-downloads: {} - android-feature-recentlyclosed: {} diff --git a/taskcluster/ci/toolchain/android.yml b/taskcluster/ci/toolchain/android.yml deleted file mode 100644 index 6c2c558c9c..0000000000 --- a/taskcluster/ci/toolchain/android.yml +++ /dev/null @@ -1,264 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -job-defaults: - worker-type: b-linux-gcp - worker: - docker-image: {in-tree: android-build} - max-run-time: 1800 - -# In automation, we generate the AVD using the linux64-android-avd jobs. On -# developers' machines, bootstrap will download the artifact from the avd job -# instead of generating it. -# -# The Android AVD needs the corresponding system image generated in the -# linux64-android-system-image TL job. System images are not redistributable, -# so locally bootstrap will use sdkmanager to download the corresponding system -# images. -linux64-android-avd-x86_64-repack: - attributes: - local-toolchain: true - description: "Android AVD (Linux) repack toolchain build" - treeherder: - symbol: TL(avd-x86_64-linux) - run: - script: repack-android-avd-linux.sh - arguments: - - 'python/mozboot/mozboot/android-avds/x86_64.json' - resources: - - 'python/mozboot/**/*android*' - toolchain-artifact: public/build/android-avd-linux.tar.zst - toolchain-alias: android-avd-x86_64-linux - fetches: - toolchain: - # Aliases aren't allowed for toolchains depending on toolchains. - - linux64-jdk-repack - -linux64-android31-avd-x86_64-repack: - description: "Android AVD (Linux) repack toolchain build" - treeherder: - symbol: TL(avd31-x86_64-linux) - worker-type: b-linux-kvm-gcp - worker: - kvm: true - run: - script: repack-android-avd-linux.sh - arguments: - - 'python/mozboot/mozboot/android-avds/android31-x86_64.json' - resources: - - 'python/mozboot/**/*android*' - toolchain-artifact: public/build/android-avd-linux.tar.zst - toolchain-alias: android31-avd-x86_64-linux - fetches: - toolchain: - # Aliases aren't allowed for toolchains depending on toolchains. - - linux64-jdk-repack - - -linux64-android-avd-arm-repack: - attributes: - local-toolchain: true - description: "Android AVD (Linux) repack toolchain build" - treeherder: - symbol: TL(avd-arm-linux) - run: - script: repack-android-avd-linux.sh - arguments: - - 'python/mozboot/mozboot/android-avds/arm.json' - resources: - - 'python/mozboot/**/*android*' - toolchain-artifact: public/build/android-avd-linux.tar.zst - toolchain-alias: android-avd-arm-linux - fetches: - toolchain: - # Aliases aren't allowed for toolchains depending on toolchains. - - linux64-jdk-repack - -linux64-android-avd-arm64-repack: - attributes: - local-toolchain: true - description: "Android AVD (Linux) repack toolchain build" - treeherder: - symbol: TL(avd-arm64-linux) - run: - script: repack-android-avd-linux.sh - arguments: - - 'python/mozboot/mozboot/android-avds/arm64.json' - resources: - - 'python/mozboot/**/*android*' - toolchain-artifact: public/build/android-avd-linux.tar.zst - toolchain-alias: android-avd-arm64-linux - fetches: - toolchain: - # Aliases aren't allowed for toolchains depending on toolchains. - - linux64-jdk-repack - -linux64-android-system-image-x86_64-repack: - description: "Android System Images (Linux) repack toolchain build" - treeherder: - symbol: TL(x86_64-avd-img-linux) - run: - script: repack-android-system-images-linux.sh - arguments: - - 'python/mozboot/mozboot/android-avds/x86_64.json' - resources: - - 'python/mozboot/**/*android*' - toolchain-artifact: project/gecko/android-system-images/android-system-images-linux.tar.zst - toolchain-alias: android-system-image-x86_64-linux - fetches: - toolchain: - # Aliases aren't allowed for toolchains depending on toolchains. - - linux64-jdk-repack - -linux64-android31-system-image-x86_64-repack: - description: "Android System Images (Linux) repack toolchain build" - treeherder: - symbol: TL(x86_64-avd31-img-linux) - run: - script: repack-android-system-images-linux.sh - arguments: - - 'python/mozboot/mozboot/android-avds/android31-x86_64.json' - resources: - - 'python/mozboot/**/*android*' - toolchain-artifact: project/gecko/android-system-images/android-system-images-linux.tar.zst - toolchain-alias: android31-system-image-x86_64-linux - fetches: - toolchain: - # Aliases aren't allowed for toolchains depending on toolchains. - - linux64-jdk-repack - - -linux64-jdk-repack: - description: "Java JDK (Linux) repack toolchain build" - treeherder: - symbol: TL(jdk) - run: - script: repack-jdk-linux.sh - resources: - - 'python/mozboot/**/*android*' - toolchain-artifact: project/gecko/jdk/jdk-linux.tar.zst - toolchain-alias: linux64-jdk - toolchain-env: - JAVA_HOME: "/builds/worker/fetches/jdk/jdk-17.0.10+7" - -linux64-android-sdk-linux-repack: - description: "Android SDK (Linux) repack toolchain build" - treeherder: - symbol: TL(android-sdk-linux) - run: - script: repack-android-sdk-linux.sh - resources: - - 'python/mozboot/**/*android*' - toolchain-artifact: project/gecko/android-sdk/android-sdk-linux.tar.zst - toolchain-alias: android-sdk-linux - fetches: - toolchain: - # Aliases aren't allowed for toolchains depending on toolchains. - - linux64-jdk-repack - -linux64-android-emulator-linux-repack: - description: "Android Emulator (Linux) repack toolchain build" - treeherder: - symbol: TL(android-emulator-linux) - run: - script: repack-android-emulator-linux.sh - resources: - - 'python/mozboot/**/*android*' - toolchain-artifact: project/gecko/android-emulator/android-emulator-linux.tar.zst - toolchain-alias: android-emulator-linux - fetches: - toolchain: - # Aliases aren't allowed for toolchains depending on toolchains. - - linux64-jdk-repack - -linux64-android-ndk-linux-repack: - description: "Android NDK (Linux) repack toolchain build" - treeherder: - symbol: TL(android-ndk-linux) - run: - script: repack-android-ndk-linux.sh - resources: - - 'python/mozboot/**/*android*' - toolchain-artifact: project/gecko/android-ndk/android-ndk.tar.zst - toolchain-alias: android-ndk-linux - -linux64-android-gradle-dependencies: - description: "Android Gradle dependencies toolchain task" - treeherder: - symbol: TL(gradle-dependencies) - worker: - env: - GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-online" - ANDROID_SDK_ROOT: "/builds/worker/fetches/android-sdk-linux" - max-run-time: 2700 - run: - script: android-gradle-dependencies.sh - sparse-profile: null - resources: - - 'taskcluster/scripts/misc/android-gradle-dependencies/**' - - '*.gradle' - - 'mobile/android/**/*.gradle' - - 'mobile/android/config/mozconfigs/android-arm-gradle-dependencies/**' - - 'mobile/android/config/mozconfigs/common*' - - 'mobile/android/gradle.configure' - - 'mobile/android/android-components/plugins/dependencies/src/main/java/DependenciesPlugin.kt' - - 'mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt' - - 'mobile/android/fenix/plugins/fenixdependencies/src/main/java/FenixDependenciesPlugin.kt' - - 'mobile/android/focus-android/plugins/focusdependencies/src/main/java/FocusDependenciesPlugin.kt' - toolchain-artifact: public/build/android-gradle-dependencies.tar.zst - toolchain-alias: android-gradle-dependencies - fetches: - fetch: - - sonatype-nexus - # Nexus needs Java 8 - - jdk-8-linux64 - toolchain: - # Aliases aren't allowed for toolchains depending on toolchains. - - linux64-android-sdk-linux-repack - - linux64-jdk-repack - - linux64-node - - android-gradle-python-envs - -linux64-android-gradle-dependencies-lite: - description: "Android Lite Gradle dependencies toolchain task" - treeherder: - symbol: TL(gradle-dependencies-lite) - worker: - env: - GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-online" - run: - script: android-gradle-dependencies-lite.sh - sparse-profile: null - resources: - - 'taskcluster/scripts/misc/android-gradle-dependencies/**' - - '*.gradle' - - 'mobile/android/**/*.gradle' - - 'mobile/android/config/mozconfigs/android-arm-gradle-dependencies/**' - - 'mobile/android/config/mozconfigs/common*' - - 'mobile/android/gradle.configure' - - 'mobile/android/android-components/plugins/dependencies/src/main/java/DependenciesPlugin.kt' - - 'mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt' - toolchain-artifact: public/build/android-gradle-dependencies.tar.zst - toolchain-alias: android-gradle-dependencies-lite - fetches: - fetch: - - sonatype-nexus - # Nexus needs Java 8 - - jdk-8-linux64 - toolchain: - # Aliases aren't allowed for toolchains depending on toolchains. - - linux64-android-sdk-linux-repack - - linux64-jdk-repack - - linux64-node - - android-gradle-python-envs - -android-gradle-python-envs: - description: "gradle-python-envs plugin toolchain task" - treeherder: - symbol: TL(gradle-python-envs) - run: - script: gradle-python-envs.sh - arguments: ['0.0.31'] - sparse-profile: null - toolchain-artifact: public/build/gradle-python-envs-0.0.31.tar.zst diff --git a/taskcluster/ci/ui-test-apk/kind.yml b/taskcluster/ci/ui-test-apk/kind.yml deleted file mode 100644 index 405a59f03a..0000000000 --- a/taskcluster/ci/ui-test-apk/kind.yml +++ /dev/null @@ -1,353 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -transforms: - - gecko_taskgraph.transforms.test_apk:transforms - # While not a build, the build optimization works well for these tasks. - - gecko_taskgraph.transforms.build_schedules:transforms - - gecko_taskgraph.transforms.job:transforms - - gecko_taskgraph.transforms.task:transforms - -kind-dependencies: - - toolchain - - signing-apk - -job-defaults: - attributes: - build-type: debug - retrigger: true - fetches: - toolchain: - - android-sdk-linux - optimization: - skip-unless-backstop: null - worker-type: b-linux-medium-gcp - worker: - docker-image: {in-tree: android-ui-tests} - max-run-time: 7200 - env: - GOOGLE_APPLICATION_CREDENTIALS: '.firebase_token.json' - ANDROID_SDK_ROOT: /builds/worker/fetches/android-sdk-linux - artifacts: - - name: public - path: /builds/worker/artifacts - type: directory - retry-exit-status: [20] - treeherder: - kind: test - tier: 2 - run: - use-caches: false - using: run-commands - dummy-secrets: - - content: "faketoken" - path: .adjust_token - routes: - by-level: - '3': - - notify.slack-channel.G016BC5FUHJ.on-failed - 'default': [] - scopes: - by-level: - '3': - - queue:route:notify.slack-channel.G016BC5FUHJ.on-failed - - notify:slack-channel:G016BC5FUHJ - 'default': [] - extra: - notify: - by-level: - '3': - slackText: 'https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId} | ${task.metadata.name} | ${task.metadata.source}' - slackBlocks: | - [ - { - "type": "header", - "text": { - "type": "plain_text", - "text": "firefox-android :firefox: ${task.metadata.name} :x:\n " - } - }, - { - "type": "divider" - }, - { - "type": "section", - "text": { - "type": "mrkdwn", - "text": "*Task*: <https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId}|Taskcluster>" - } - }, - { - "type": "section", - "text": { - "type": "mrkdwn", - "text": "*Owner*: ${task.metadata.owner}" - } - }, - { - "type": "section", - "text": { - "type": "mrkdwn", - "text": "*Source*: <${task.payload.env.GECKO_BASE_REPOSITORY}/rev/${task.payload.env.GECKO_HEAD_REV}|Commit> :hg:" - } - }, - { - "type": "divider" - }, - { - "type": "context", - "elements": [ - { - "type": "mrkdwn", - "text": ":testops-notify: created by <https://mozilla-hub.atlassian.net/wiki/spaces/MTE/overview|Mobile Test Engineering>" - } - ] - } - ] - 'default': {} - -jobs: - focus-arm-debug: - attributes: - build-type: focus-debug-firebase - shipping-product: focus - description: 'Focus UI tests with firebase' - run: - secrets: - - name: project/mobile/firefox-android/focus-android/firebase - key: firebaseToken - path: .firebase_token.json - json: true - pre-commands: - - ["cd", "mobile/android/focus-android"] - commands: - - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk] - - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk] - - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm64-v8a, app.apk, --apk_test, android-test.apk] - dependencies: - # key is arbitrary, the value corresponds to <kind name>-<build-name> - signed-apk-debug-apk: signing-apk-focus-debug - signed-apk-android-test: signing-apk-focus-android-test-debug - treeherder: - platform: 'focus-ui-test/opt' - symbol: focus-debug(ui-test-arm) - worker: - env: - GOOGLE_PROJECT: 'moz-focus-android' - focus-arm-nightly: - attributes: - build-type: focus-nightly-firebase - shipping-product: focus - description: 'UI tests on Nightly with firebase' - dependencies: - signed-apk-debug-apk: signing-apk-focus-nightly-firebase - signed-apk-android-test: signing-apk-focus-android-test-nightly - run-on-projects: [trunk] - run: - secrets: - - name: project/mobile/firefox-android/focus-android/firebase - key: firebaseToken - path: .firebase_token.json - json: true - pre-commands: - - ["cd", "mobile/android/focus-android"] - commands: - - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk] - - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk] - - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-start-test, app.apk, --apk_test, android-test.apk] - treeherder: - platform: 'focus-ui-test/opt' - symbol: focus-nightly(ui-test-arm-nightly) - worker: - env: - GOOGLE_PROJECT: 'moz-focus-android' - focus-arm-beta: - attributes: - build-type: focus-beta-firebase - shipping-product: focus - description: 'UI tests on Beta with firebase' - dependencies: - signed-apk-debug-apk: signing-apk-focus-beta-firebase - signed-apk-android-test: signing-apk-focus-android-test-beta - run-on-projects: [release] - run: - secrets: - - name: project/mobile/firefox-android/focus-android/firebase - key: firebaseToken - path: .firebase_token.json - json: true - pre-commands: - - ["cd", "mobile/android/focus-android"] - commands: - - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk] - - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk] - - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-beta, app.apk, --apk_test, android-test.apk] - treeherder: - platform: 'focus-ui-test/opt' - symbol: focus-beta(ui-test-arm-beta) - worker: - env: - GOOGLE_PROJECT: 'moz-focus-android' - fenix-arm-debug: - attributes: - build-type: fenix-debug-firebase - shipping-product: fenix - description: Test Fenix - dependencies: - signed-apk-debug-apk: signing-apk-fenix-debug - signed-apk-android-test: signing-apk-fenix-android-test-debug - run: - secrets: - - name: project/mobile/firefox-android/fenix/firebase - key: firebaseToken - path: .firebase_token.json - json: true - pre-commands: - - ["cd", "mobile/android/fenix"] - commands: - - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk] - - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk] - - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm64-v8a, app.apk, --apk_test, android-test.apk] - treeherder: - platform: 'fenix-ui-test/opt' - symbol: fenix-debug(ui-test-arm) - worker: - env: - GOOGLE_PROJECT: moz-fenix - screenshots-arm: - attributes: - build-type: fenix-debug-screenshots - shipping-product: fenix - screenshots: true - cron: true - description: Run UI screenshots tests to keep them up to date - dependencies: - signed-apk-debug-apk: signing-apk-fenix-debug - signed-apk-android-test: signing-apk-fenix-android-test-debug - run: - secrets: - - name: project/mobile/firefox-android/fenix/firebase - key: firebaseToken - path: .firebase_token.json - json: true - pre-commands: - - ["cd", "mobile/android/fenix"] - commands: - - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk] - - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk] - - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-screenshots-tests, app.apk, --apk_test, android-test.apk] - treeherder: - platform: 'fenix-ui-test/opt' - symbol: fenix-debug(screenshots-arm) - worker: - env: - GOOGLE_PROJECT: moz-fenix - fenix-arm-beta: - attributes: - build-type: fenix-beta-firebase - shipping-product: fenix - description: Test Fenix - dependencies: - signed-apk-debug-apk: signing-apk-fenix-beta-firebase - signed-apk-android-test: signing-apk-fenix-android-test-beta - run-on-projects: [release] - run: - secrets: - - name: project/mobile/firefox-android/fenix/firebase - key: firebaseToken - path: .firebase_token.json - json: true - pre-commands: - - ["cd", "mobile/android/fenix"] - commands: - - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk] - - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk] - - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-beta, app.apk, --apk_test, android-test.apk] - treeherder: - platform: 'fenix-ui-test/opt' - symbol: fenix-beta(ui-test-arm-beta) - worker: - env: - GOOGLE_PROJECT: moz-fenix - fenix-arm-nightly: - attributes: - build-type: fenix-nightly-firebase - shipping-product: fenix - description: Test Fenix - dependencies: - signed-apk-debug-apk: signing-apk-fenix-nightly-firebase - signed-apk-android-test: signing-apk-fenix-android-test-nightly - run-on-projects: [trunk] - run: - secrets: - - name: project/mobile/firefox-android/fenix/firebase - key: firebaseToken - path: .firebase_token.json - json: true - pre-commands: - - ["cd", "mobile/android/fenix"] - commands: - - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk] - - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk] - - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-start-test, app.apk, --apk_test, android-test.apk] - treeherder: - platform: 'fenix-ui-test/opt' - symbol: fenix-nightly(ui-test-arm-nightly) - worker: - env: - GOOGLE_PROJECT: moz-fenix - fenix-legacy-arm: - attributes: - build-type: fenix-legacy - legacy: true - shipping-product: fenix - description: Run select UI tests on legacy Android devices and API levels - dependencies: - signed-apk-debug-apk: signing-apk-fenix-debug - signed-apk-android-test: signing-apk-fenix-android-test-debug - run: - secrets: - - name: project/mobile/firefox-android/fenix/firebase - key: firebaseToken - path: .firebase_token.json - json: true - pre-commands: - - ["cd", "mobile/android/fenix"] - commands: - - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk] - - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk] - - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-legacy-api-tests, app.apk, --apk_test, android-test.apk] - treeherder: - platform: 'fenix-ui-test/opt' - symbol: fenix-debug(legacy-arm) - worker: - env: - GOOGLE_PROJECT: moz-fenix - - fenix-robo-arm-debug: - attributes: - build-type: fenix-robo - shipping-product: fenix - description: Run Robo test on ARM devices - dependencies: - signed-apk-debug-apk: signing-apk-fenix-debug - run: - secrets: - - name: project/mobile/firefox-android/fenix/firebase - key: firebaseToken - path: .firebase_token.json - json: true - pre-commands: - - ["cd", "mobile/android/fenix"] - commands: - - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk] - - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-robo-test, app.apk] - treeherder: - platform: 'fenix-ui-test/opt' - symbol: fenix-debug(robo-arm) - worker: - env: - GOOGLE_PROJECT: moz-fenix diff --git a/taskcluster/ci/updatebot/kind.yml b/taskcluster/ci/updatebot/kind.yml deleted file mode 100644 index 2a1bc00d42..0000000000 --- a/taskcluster/ci/updatebot/kind.yml +++ /dev/null @@ -1,92 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -kind-dependencies: - - fetch - - toolchain - -transforms: - - gecko_taskgraph.transforms.release_notifications:transforms - - gecko_taskgraph.transforms.job:transforms - - gecko_taskgraph.transforms.task:transforms - -jobs: - cron: - description: Cron Job for Updatebot - run-on-projects: [] - treeherder: - kind: other - platform: updatebot/all - symbol: cron - tier: 1 - worker-type: b-linux-gcp - worker: - docker-image: {in-tree: updatebot} - max-run-time: 4500 - taskcluster-proxy: true - scopes: - - secrets:get:project/updatebot/{level}/try-sshkey - - secrets:get:project/updatebot/{level}/phabricator-token - - secrets:get:project/updatebot/{level}/bugzilla-api-key - - secrets:get:project/updatebot/{level}/database-password - - secrets:get:project/updatebot/{level}/sentry-url - - secrets:get:project/updatebot/{level}/sql-proxy-config - - hooks:trigger-hook:project-gecko/in-tree-action-1-generic/* - run: - using: run-task - command: /builds/worker/run.py /builds/worker/checkouts/gecko /builds/worker/updatebot - notifications: - subject: 'updatebot cron failed' - message: 'updatebot cron failed' - status-types: - - on-failed - - on-exception - emails: ["tom@mozilla.com", "fbraun@mozilla.com"] - fetches: - toolchain: - - linux64-rust - - linux64-cargo-vet - - cron-win: - description: Cron Job for Updatebot (Windows) - run-on-projects: [] - treeherder: - kind: other - platform: updatebot/all - symbol: w-cron - tier: 1 - worker-type: b-win2022 - worker: - max-run-time: 4500 - taskcluster-proxy: true - # begin _GENERATE_DEPOT_TOOLS_BINARIES_ - # artifacts: - # - type: directory - # name: public/depot_tools.zip - # path: build\src\obj-build\depot_tools - # end _GENERATE_DEPOT_TOOLS_BINARIES_ - env: - TOOLTOOL_MANIFEST: "taskcluster/ci/updatebot/tooltool-manifests/updatebot.manifest" - MSYSTEM: "MINGW64" - run: - using: run-task - cwd: '{checkout}' - command: ./taskcluster/docker/updatebot/windows-setup.sh - tooltool-downloads: internal - scopes: - - secrets:get:project/updatebot/{level}/try-sshkey - - secrets:get:project/updatebot/{level}/phabricator-token - - secrets:get:project/updatebot/{level}/bugzilla-api-key - - secrets:get:project/updatebot/{level}/database-password - - secrets:get:project/updatebot/{level}/sentry-url - - secrets:get:project/updatebot/{level}/sql-proxy-config - - hooks:trigger-hook:project-gecko/in-tree-action-1-generic/* - fetches: - fetch: - - cloud-sql-proxy-1.25.0 - - php-windows-7.4.24 - - arcanist - - depot_tools diff --git a/taskcluster/ci/upload-generated-sources/kind.yml b/taskcluster/ci/upload-generated-sources/kind.yml deleted file mode 100644 index 86123d336d..0000000000 --- a/taskcluster/ci/upload-generated-sources/kind.yml +++ /dev/null @@ -1,42 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -transforms: - - taskgraph.transforms.from_deps - - gecko_taskgraph.transforms.upload_generated_sources - - gecko_taskgraph.transforms.job - - gecko_taskgraph.transforms.task - -kind-dependencies: - - build - -only-for-attributes: - - nightly - - shippable - - upload-generated-sources - -not-for-build-platforms: - - macosx64-shippable/opt - - macosx64-devedition/opt - -jobs: - upload-generated-sources: - description: Upload generated source files from build - from-deps: - group-by: single-with-filters - worker-type: t-linux-xlarge - treeherder: - symbol: Ugs - kind: build - worker: - docker-image: {in-tree: "lint"} - max-run-time: 600 - run: - using: mach - mach: {artifact-reference: "python --virtualenv upload-generated-sources build/upload_generated_sources.py <build/public/build/target.generated-files.tar.gz>"} - sparse-profile: upload-generated-sources - scopes: - - secrets:get:project/releng/gecko/build/level-{level}/gecko-generated-sources-upload diff --git a/taskcluster/ci/valgrind/kind.yml b/taskcluster/ci/valgrind/kind.yml deleted file mode 100644 index 9ccff4188f..0000000000 --- a/taskcluster/ci/valgrind/kind.yml +++ /dev/null @@ -1,65 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: gecko_taskgraph.loader.transform:loader - -kind-dependencies: - - toolchain - -transforms: - - gecko_taskgraph.transforms.build_attrs:transforms - - gecko_taskgraph.transforms.build_lints:transforms - - gecko_taskgraph.transforms.job:transforms - - gecko_taskgraph.transforms.task:transforms - -job-defaults: - attributes: - retrigger: true - use-python: default - -jobs: - linux64-valgrind-qr/opt-swr: - description: "Linux64 Valgrind Opt WebRender" - index: - product: firefox - job-name: linux64-valgrind-qr/opt-swr - treeherder: - platform: linux64-qr/opt - symbol: V-swr - kind: build - tier: 1 - worker-type: t-linux-kvm - worker: - docker-image: {in-tree: valgrind-build} - max-run-time: 72000 - env: - NEED_XVFB: "true" - PERFHERDER_EXTRA_OPTIONS: valgrind - run: - using: mozharness - actions: [get-secrets, build, valgrind-test] - custom-build-variant-cfg: valgrind - config: - - builds/releng_base_firefox.py - - builds/releng_base_linux_64_builds.py - extra-config: - extra_prefs: [gfx.webrender.software=true] - script: "mozharness/scripts/fx_desktop_build.py" - secrets: true - tooltool-downloads: public - use-sccache: true - fetches: - toolchain: - - linux64-clang - - linux64-rust - - linux64-cbindgen - - linux64-dump_syms - - linux64-sccache - - linux64-nasm - - linux64-node - - linux64-pkgconf - - sysroot-x86_64-linux-gnu - - sysroot-wasm32-wasi - optimization: - skip-unless-expanded: null diff --git a/taskcluster/config.yml b/taskcluster/config.yml new file mode 100644 index 0000000000..3c3ad2f5f4 --- /dev/null +++ b/taskcluster/config.yml @@ -0,0 +1,1092 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +trust-domain: gecko +project-repo-param-prefix: '' +product-dir: 'browser' +treeherder: + group-names: + 'cram': 'Cram tests' + 'js-bench-sm': 'JavaScript shell benchmarks with Spidermonkey' + 'js-bench-v8': 'JavaScript shell benchmarks with Google V8' + 'node': 'Node tests' + 'py3': 'Python 3 unit tests' + 'A': 'Android Gradle tests' + 'Bpgo': 'Profile-guided optimization builds' + 'Btime': 'Browsertime performance tests on Firefox' + 'Btime-cache': 'Browsertime performance tests on Firefox with populated bytecode cache.' + 'Btime-1proc': 'Browsertime performance tests on Firefox without e10s' + 'Btime-nofis': 'Browsertime tests on Firefox without fission enabled' + 'Btime-P-nofis': 'Browsertime power tests on Firefox without fission enabled' + 'Btime-Prof-nofis': 'Browsertime tests on Firefox with profiling and without fission enabled' + 'Btime-P-nofis-refbrow': 'Browsertime Power Usage Tests on reference browser without fission enabled' + 'Btime-P-nofis-fenix': 'Browsertime Power Usage Tests on Fenix without fission enabled' + 'Btime-live-nofis-fenix': 'Browsertime tests on Fenix without fission enabled using live sites' + 'Btime-nofis-fenix': 'Browsertime tests on Fenix without fission enabled' + 'Btime-webext-nofis-fenix': 'Browsertime performance tests on Fenix with extensions and without fission enabled' + 'Btime-webext': 'Browsertime performance tests on Firefox with extensions' + 'Btime-live-nofis': 'Browsertime tests on Firefox without fission enabled using live sites' + 'Btime-nofis-refbrow': 'Browsertime tests on reference browser without fission enabled' + 'Btime-live-nofis-ChR': 'Browsertime tests on Chrome without fission enabled using live sites' + 'Btime-Prof': 'Browsertime performance tests on Firefox with Gecko Profiling' + 'Btime-Prof-1proc': 'Browsertime performance tests on Firefox with Gecko Profiling and without e10s' + 'Btime-live': 'Browsertime performance tests on Firefox' + 'Btime-live-fenix': 'Browsertime performance tests on Firefox' + 'Btime-live-ChR': 'Browsertime performance tests on Google Chrome Release' + 'Btime-live-Saf': 'Browsertime performance tests on Safari' + 'Btime-ChR': 'Browsertime performance tests on Google Chrome Release' + 'Btime-nofis-ChR': 'Browsertime performance tests on Google Chrome Release without fission enabled' + 'Btime-P': 'Browsertime power tests on Firefox/Geckoview' + 'Btime-P-fenix': 'Browsertime power tests on Fenix' + 'Btime-P-refbrow': 'Browsertime power tests on reference browser' + 'Btime-fenix': 'Browsertime performance tests on Fenix' + 'Btime-refbrow': 'Browsertime performance tests on the reference browser' + 'Btime-Saf': 'Browsertime performance tests on Safari' + 'Btime-CaR': 'Browsertime performance tests on Chromium-as-Release' + 'Btime-nofis-CaR': 'Browsertime performance tests on Chromium-as-Release without fission enabled' + 'Fetch': 'Fetch and store content' + 'Fxfn': 'Firefox functional tests' + 'l10n-bump': 'L10n Bumper' + 'M': 'Mochitests' + 'M-cf': 'Mochitests confirm failure' + 'M-condprof': "Mochitests with conditioned profile" + 'M-condprof-cf': "Mochitests confirm failure with conditioned profile" + 'M-fis-hv': "Mochitests that run on Fission with isolateHighValue isolation strategy (Android-specific)" + 'M-fis-hv-cf': "Mochitests confirm failure with Fission and isolateHighValue isolation strategy (Android-specific)" + 'M-headless': 'Headless Mochitests' + 'M-headless-cf': 'Headless Mochitests confirm failure' + 'M-headless-spi-nw': 'Headless Mochitests with fission and socketprocess networking.' + 'M-headless-spi-nw-cf': 'Headless Mochitests confirm failure with fission and socketprocess networking.' + 'M-http3': 'Mochitests with Http/3 server' + 'M-http3-cf': 'Mochitests confirm failure with Http/3 server' + 'M-http2': 'Mochitests with Http/2 server' + 'M-http2-cf': 'Mochitests confirm failure with Http/2 server' + 'M-aab': 'Mochitests with AAB test_runner.' + 'M-aab-cf': 'Mochitests confirm failure with AAB test_runner.' + 'M-aab-nofis': 'Mochitests with AAB test_runner without fission enabled.' + 'M-aab-nofis-cf': 'Mochitests confirm failure with AAB test_runner without fission enabled.' + 'M-1proc': 'Mochitests without e10s or fission' + 'M-1proc-cf': 'Mochitests confirm failure without e10s or fission' + 'M-a11y-checks': 'Mochitests with accessibility checks enabled' + 'M-a11y-checks-cf': 'Mochitests confirm failure with accessibility checks enabled' + 'M-xorig': 'Mochitests with cross-origin and fission enabled' + 'M-xorig-cf': 'Mochitests confirm failure with cross-origin and fission enabled' + 'M-gli': 'Mochitests with WebGL over IPC' + 'M-gli-cf': 'Mochitests confirm failure with WebGL over IPC' + 'M-nofis': 'Mochitests without fission enabled' + 'M-nofis-cf': 'Mochitests confirm failure without fission enabled' + 'M-nofis-ship': "Mochitests without fission and with SHIP (session history in parent) enabled (Android-specific)" + 'M-nofis-ship-cf': "Mochitests confirm failure: no fission + with SHIP (session history in parent) on (Android-only)" + 'M-spi': 'Mochitests with socket process' + 'M-spi-cf': 'Mochitests confirm failure with socket process' + 'M-spi-nofis': 'Mochitests with socket process without fission enabled' + 'M-spi-nofis-cf': 'Mochitests confirm failure with socket process without fission enabled' + 'M-spi-nw': 'Mochitests with networking on socket process' + 'M-spi-nw-cf': 'Mochitests confirm failure with networking on socket process' + 'M-spi-nw-nofis': 'Mochitests with networking on socket process without fission enabled' + 'M-spi-nw-nofis-cf': 'Mochitests confirm failure with networking on socket process without fission enabled' + 'M-spi-nw-1proc': 'Mochitests with networking on socket process without e10s' + 'M-spi-nw-1proc-cf': 'Mochitests confirm failure with networking on socket process without e10s' + 'M-swr': 'Mochitests with software webrender enabled' + 'M-swr-cf': 'Mochitests confirm failure with software webrender enabled' + 'M-swr-a11y-checks': 'Mochitests with software webrender and accessibility checks enabled' + 'M-swr-a11y-checks-cf': 'Mochitests confirm failure with software webrender and accessibility checks enabled' + 'M-swr-1proc': 'Mochitests with software webrender enabled without e10s' + 'M-swr-1proc-cf': 'Mochitests confirm failure with software webrender enabled without e10s' + 'M-swr-nofis': 'Mochitests with software webrender without fission enabled' + 'M-swr-nofis-cf': 'Mochitests confirm failure with software webrender without fission enabled' + 'M-wmfme': 'Mochitests with Windows Media Foundation media engine enabled' + 'M-wmfme-cf': 'Mochitests confirm failure with Windows Media Foundation media engine enabled' + 'M-mda-gpu': 'Mochitests Media on GPU worker' + 'M-mda-gpu-cf': 'Mochitests confirm failure Media on GPU worker' + 'M-f': 'Mochitest failures' + 'M-f-swr': 'Mochitest failures software webrender' + 'M-f-cf': 'Mochitest failures w/confirm failure' + 'M-f-swr-cf': 'Mochitest failures software webrender w/confirm failure' + 'M-msix': 'Mochitests from MSIX builds' + 'M-msix-cf': 'Mochitests confirm failure from MSIX builds' + 'MSI': 'Repack installers into MSIs' + 'MSIs': 'Signing of Repacked installers of MSIs' + 'MSIX': 'Repack into MSIX package' + 'MSIXs': 'Signing of Repack into MSIX package' + 'Pup': "Puppeteer tests" + 'R': 'Reftests' + 'R-cf': 'Reftests confirm failure' + 'R-s': 'Reftest snapshot' + 'R-s-cf': 'Reftest snapshot with confirm failure' + 'R-nofis': 'Reftests without fission enabled' + 'R-nofis-cf': 'Reftests confirm failure without fission enabled' + 'R-nofis-ship': 'Reftests without fission and with SHIP (session history in parent) enabled (Android specific)' + 'R-nofis-ship-cf': 'Reftests confirm failure: no fission + with SHIP (session history in parent) on (Android-only)' + 'R-swr': 'Reftests with software webrender enabled' + 'R-swr-cf': 'Reftests confirm failure with software webrender enabled' + 'R-swr-nofis': 'Reftests with software webrender enabled without fission enabled' + 'R-swr-nofis-cf': 'Reftests confirm failure with software webrender enabled without fission enabled' + 'R-wr-dc0': 'Reftests with dcomp disabled' + 'R-wr-dc0-cf': 'Reftests confirm failure with dcomp disabled' + 'R-wr-dc1-p': 'Reftests with dcomp present but not overlays' + 'R-wr-dc1-p-cf': 'Reftests confirm failure with dcomp present but not overlays' + 'R-wr-dc2-o': 'Reftests with dcomp overlays but not compositing' + 'R-wr-dc2-o-cf': 'Reftests confirm failure with dcomp overlays but not compositing' + 'R-wr-dc3-c': 'Reftests with dcomp compositing' + 'R-wr-dc3-c-cf': 'Reftests confirm failure with dcomp compositing' + 'Rap': 'Raptor performance tests on Firefox' + 'Rap-live': 'Raptor performance tests on Firefox with live sites' + 'Rap-Prof': 'Raptor performance tests on Firefox with Gecko Profiling' + 'Rap-ChR': 'Raptor performance tests on Google Chrome Release' + 'Rap-refbrow': 'Raptor performance tests on the reference browser' + 'T': 'Talos performance tests' + 'T-gli': 'Talos performance tests with WebGL over IPC' + 'T-Prof': 'Talos performance tests on Firefox with Gecko Profiling' + 'T-Prof-gli': 'Talos performance tests with WebGL over IPC and Gecko Profiling' + 'T-swr': 'Talos performance tests with software webrender enabled' + 'tt': 'Telemetry tests' + 'tt-nofis': 'Telemetry tests without fission enabled' + 'SY': 'Are we slim yet tests by TaskCluster' + 'W': 'Web platform tests' + 'W-cf': 'Web platform tests confirm failure' + 'W-nofis': 'Web platform tests without fission enabled' + 'W-nofis-cf': 'Web platform tests confirm failure without fission enabled' + 'W-nofis-ship': 'Web platform tests without fission and with SHIP enabled' + 'W-nofis-ship-cf': 'Web platform tests confirm failure without fission and with SHIP enabled' + 'W-headless': 'Headless web platform tests' + 'W-headless-cf': 'Headless web platform tests confirm failure' + 'W-swr-nofis': 'Web platform tests with software webrender enabled without fission enabled' + 'W-swr-nofis-cf': 'Web platform tests confirm failure with software webrender enabled without fission enabled' + 'W-swr': 'Web platform tests with software webrender enabled' + 'W-swr-cf': 'Web platform tests confirm falure with software webrender enabled' + 'W-b': 'Web platform tests (backlog)' + 'W-b-nofis': 'Web platform tests (backlog) without fission enabled' + 'W-pb': 'Web platform tests with private browsing enabled' + 'X': 'Xpcshell tests' + 'X-cf': 'Xpcshell tests confirm failure' + 'X-condprof': 'Xpcshell tests with a conditioned profile' + 'X-condprof-cf': 'Xpcshell tests confirm failure with a conditioned profile' + 'X-nofis': 'Xpcshell tests without fission enabled' + 'X-nofis-cf': 'Xpcshell tests confirm failure without fission enabled' + 'X-nofis-ship': 'Xpcshell tests without fission and with SHIP (session history in parent) enabled (Android specific)' + 'X-nofis-ship-cf': 'Xpcshell confirm failure: no fission + with SHIP (session history in parent) on (Android-only)' + 'X-spi-nw': 'Xpcshell tests with networking on socket process' + 'X-spi-nw-cf': 'Xpcshell tests confirm failure with networking on socket process' + 'X-spi-nw-nofis': 'Xpcshell tests with networking on socket process without fission enabled' + 'X-spi-nw-nofis-cf': 'Xpcshell tests confirm failure with networking on socket process without fission enabled' + 'X-f': 'Xpcshell tests that fail on a given config' + 'X-f-spi-nw': 'Xpcshell tests that fail on a given config w/socket process' + 'X-msix': 'Xpcshell tests on msix packages' + 'X-msix-cf': 'Xpcshell tests confirm failure on msix packages' + 'L10n': 'Localised Repacks' + 'L10n-Rpk': 'Localized Repackaged Repacks' + 'deb-L10n': 'Localized Debian Repacks' + 'BM': 'Beetmover' + 'BMR': 'Beetmover repackages' + 'BM-apt': 'Beetmover .deb packages' + 'c-Up': 'Balrog submission of complete updates' + 'css': 'Checksum signing for source' + 'rs': 'Repackage signing' + 'BMcs': 'Beetmover checksums' + 'BMcslang': 'Beetmover checksums for language packs' + 'BMcss': 'Beetmover checksums for source' + 'Deb8': 'Packages for Debian 8' + 'Deb8-32': 'Packages for Debian 8 32-bits' + 'Deb9': 'Packages for Debian 9' + 'Deb10': 'Packages for Debian 10' + 'Deb11': 'Packages for Debian 11' + 'Deb12': 'Packages for Debian 12' + 'Ub18': 'Packages for Ubuntu 18.04' + 'Ub20': 'Packages for Ubuntu 20.04' + 'Ub22': 'Packages for Ubuntu 22.04' + 'I': 'Docker Image Builds' + 'TA': 'Toolchain builds for Android' + 'TL': 'Toolchain builds for Linux 64-bits' + 'TL32': 'Toolchain builds for Linux 32-bits' + 'TM': 'Toolchain builds for OSX' + 'TMW': 'Toolchain builds for Windows MinGW' + 'TW32': 'Toolchain builds for Windows 32-bits' + 'TW64': 'Toolchain builds for Windows 64-bits' + 'WMC32': 'MinGW-Clang builds for Windows 32-bits' + 'WMC64': 'MinGW-Clang builds for Windows 64-bits' + 'Searchfox': 'Searchfox builds' + 'SM': 'Spidermonkey builds' + 'p': 'Partial generation' + 'ps': 'Partials signing' + 'ms': 'Complete MAR signing' + 'ms-stage': 'Autograph-stage MAR signing test' + 'Rel': 'Release promotion' + 'Snap': 'Snap image generation' + 'Flatpak': 'Flatpak image generation' + 'langpack': 'Langpack sigatures and uploads' + 'TPS': 'Sync tests' + 'UV': 'Update verify' + 'UVnext': 'Update verify for esr-next' + 'pydep': 'python dependency update' + 'WR': 'WebRender standalone' + 'Wgpu': 'WebGPU standalone' + 'cpp': 'C/C++ checks' + 'pedantic': 'pedantic checks' + 'text': 'Check on texts' + 'misc': 'Misc checks' + 'js': 'JavaScript checks' + 'py': 'Python checks' + 'java': 'Java checks' + 'rust': 'Rust checks' + 'Static-Analysis': 'Full tree static-analysis' + 'SS': 'Shadow scheduler' + 'Sel': 'Selenium Snap tests' + 'Sentry': 'Sentry synchronization' + 'test-info': 'Test manifest skip/fail information' + 'condprof': 'Conditioned Profile Builder' + 'doc': 'Documentation' + 'perftest': 'Performance tests' + 'perftest-detect': 'Performance regression detection tooling' + 'perftest-chrome': 'Performance tests using Chrone' + 'perftest-http3': 'Performance tests with HTTP/3' + 'l10n': 'Localization checks' + 'fxrec': 'Desktop startup recorder (fxrecord)' + 'wc': 'webcompat' + 'Boot': 'Bootstrap' + 'Attr-L10n': 'Build Attribution' + 'android-l10n': 'Import strings from android-l10n repo' + + # The below symbols are from firefox-android (fenix/focus/android-components) + 'buildconfig': 'Make sure the content of .buildconfig.yml matches what gradle knows about its projects' + 'compare-locales': 'Validate strings.xml with compare-locales' + 'detekt': 'detekt linter' + 'ktlint': 'ktlint linter' + 'lint': 'gradle lint linter' + + 'focus': 'Focus general tasks no matter the variant' + 'focus-beta': 'Focus beta-related tasks' + 'focus-debug': 'Focus builds made for testing' + 'focus-nightly': 'Focus nightly-related tasks' + 'focus-release': 'Focus production-related tasks' + + 'fenix': 'Fenix general tasks no matter the variant' + 'fenix-beta': 'Fenix beta-related tasks' + 'fenix-debug': 'Fenix builds made for testing' + 'fenix-nightly': 'Fenix nightly-related tasks' + 'fenix-nightlySim': 'Nightly-related tasks that run on each github push' + 'fenix-release': 'Fenix production-related tasks' + + # This list is based on mobile/android/android-components/.buildconfig.yml except the exceptions down below + 'browser-domains': 'browser-domains' + 'browser-engine-gecko': 'browser-engine-gecko' + 'browser-engine-system': 'browser-engine-system' + 'browser-errorpages': 'browser-errorpages' + 'browser-icons': 'browser-icons' + 'browser-menu': 'browser-menu' + 'browser-menu2': 'browser-menu2' + 'browser-session-storage': 'browser-session-storage' + 'browser-state': 'browser-state' + 'browser-storage-sync': 'browser-storage-sync' + 'browser-tabstray': 'browser-tabstray' + 'browser-thumbnails': 'browser-thumbnails' + 'browser-toolbar': 'browser-toolbar' + 'browser-toolbar2': 'browser-toolbar2' + 'compose-awesomebar': 'compose-engine' + 'compose-browser-toolbar': 'awesomebar-browser-toolbar' + 'compose-engine': 'compose-engine' + 'compose-tabstray': 'compose-tabstray' + 'concept-awesomebar': 'concept-awesomebar' + 'concept-base': 'concept-base' + 'compose-cfr': 'compose-cfr' + 'concept-engine': 'concept-engine' + 'concept-fetch': 'concept-fetch' + 'concept-menu': 'concept-menu' + 'concept-push': 'concept-push' + 'concept-storage': 'concept-storage' + 'concept-sync': 'concept-sync' + 'concept-tabstray': 'concept-tabstray' + 'concept-toolbar': 'concept-toolbar' + 'feature-accounts-push': 'feature-accounts-push' + 'feature-accounts': 'feature-accounts' + 'feature-addons': 'feature-addons' + 'feature-app-links': 'feature-app-links' + 'feature-autofill': 'feature-autofill' + 'feature-awesomebar': 'feature-awesomebar' + 'feature-containers': 'feature-containers' + 'feature-contextmenu': 'feature-contextmenu' + 'feature-customtabs': 'feature-customtabs' + 'feature-downloads': 'feature-downloads' + 'feature-findinpage': 'feature-findinpage' + 'feature-fxsuggest': 'feature-fxsuggest' + 'feature-intent': 'feature-intent' + 'feature-logins': 'feature-logins' + 'feature-media': 'feature-media' + 'feature-privatemode': 'feature-privatemode' + 'feature-prompts': 'feature-prompts' + 'feature-push': 'feature-push' + 'feature-pwa': 'feature-pwa' + 'feature-qr': 'feature-qr' + 'feature-readerview': 'feature-readerview' + 'feature-recentlyclosed': 'feature-recentlyclosed' + 'feature-search': 'feature-search' + 'feature-serviceworker': 'feature-serviceworker' + 'feature-session': 'feature-session' + 'feature-share': 'feature-share' + 'feature-sitepermissions': 'feature-sitepermissions' + 'feature-syncedtabs': 'feature-syncedtabs' + 'feature-tab-collections': 'feature-tab-collections' + 'feature-tabs': 'feature-tabs' + 'feature-toolbar': 'feature-toolbar' + 'feature-top-sites': 'feature-top-sites' + 'feature-webauthn': 'feature-webauthn' + 'feature-webcompat': 'feature-webcompat' + 'feature-webnotifications': 'feature-webnotifications' + 'lib-crash': 'lib-crash' + 'lib-auth': 'lib-auth' + 'lib-crash-sentry': 'lib-crash-sentry' + 'lib-crash-sentry-legacy': 'lib-crash-sentry-legacy' + 'lib-dataprotect': 'lib-dataprotect' + 'lib-fetch-okhttp': 'lib-fetch-okhttp' + 'lib-jexl': 'lib-jexl' + 'lib-publicsuffixlist': 'lib-publicsuffixlist' + 'lib-push-firebase': 'lib-push-firebase' + 'lib-state': 'lib-state' + 'samples-compose-browser': 'samples-compose-browser' + 'samples-crash': 'samples-crash' + 'samples-dataprotect': 'samples-dataprotect' + 'samples-firefox-accounts': 'samples-firefox-accounts' + 'samples-glean-library': 'samples-glean-library' + 'samples-glean': 'samples-glean' + 'samples-sync-logins': 'samples-sync-logins' + 'samples-sync': 'samples-sync' + 'samples-toolbar': 'samples-toolbar' + 'service-contile': 'service-contile' + 'service-digitalassetlinks': 'service-digitalassetlinks' + 'service-experiments': 'service-experiments' + 'service-firefox-accounts': 'service-firefox-accounts' + 'service-fretboard': 'service-fretboard' + 'service-glean': 'service-glean' + 'service-location': 'service-location' + 'service-nimbus': 'service-nimbus' + 'service-pocket': 'service-pocket' + 'service-sync-autofill': 'service-sync-autofill' + 'service-sync-logins': 'service-sync-logins' + 'support-android-test': 'support-android-test' + 'support-base': 'support-base' + 'support-images': 'support-images' + 'support-ktx': 'support-ktx' + 'support-license': 'support-license' + 'support-locale': 'support-locale' + 'support-migration': 'support-migration' + 'support-remotesettings': 'support-remotesettings' + 'support-rusthttp': 'support-rusthttp' + 'support-rusterrors': 'support-rusterrors' + 'support-rustlog': 'support-rustlog' + 'support-sync-telemetry': 'support-sync-telemetry' + 'support-test-appservices': 'support-test-appservices' + 'support-test-fakes': 'support-test-fakes' + 'support-test-libstate': 'support-test-libstate' + 'support-test': 'support-test' + 'support-utils': 'support-utils' + 'support-webextensions': 'support-webextensions' + 'tooling-detekt': 'tooling-detekt' + 'tooling-fetch-tests': 'tooling-fetch-tests' + 'tooling-lint': 'tooling-lint' + 'ui-autocomplete': 'ui-autocomplete' + 'ui-colors': 'ui-colors' + 'ui-fonts': 'ui-fonts' + 'ui-icons': 'ui-icons' + 'ui-tabcounter': 'ui-tabcounter' + 'ui-widgets': 'ui-widgets' + + # These ones are too long to fit in 25 chars + 'lib-fetch-httpurlconnecti': 'lib-fetch-httpurlconnection' + 'feature-webcompat-reporte': 'feature-webcompat-reporter' + + # Groups aren't generated off buildconfig.yml: + 'samples-browser': 'samples-browser' + 'samples-browser-gecko': 'samples-browser-gecko' + 'samples-browser-system': 'samples-browser-system' + + # forPerformanceTest: Builds made for Raptor and other performance tests + 'Rap-P': 'Raptor power tests' + +index: + products: + - 'firefox' + - 'fennec' + - 'mobile' + - 'static-analysis' + - 'devedition' + - 'source' + - 'system-symbols' + - 'geckodriver' + +try: + # We have a few platforms for which we want to do some "extra" builds, or at + # least build-ish things. Sort of. Anyway, these other things are implemented + # as different "platforms". These do *not* automatically ride along with "-p + # all" + ridealong-builds: + 'linux': + - 'sm-plain-linux32' + - 'sm-arm-sim-linux32' + 'linux64': + - 'sm-plain-linux64' + - 'sm-nojit-linux64' + - 'sm-nonunified-linux64' + - 'sm-arm-sim-linux32' + - 'sm-arm64-sim-linux64' + - 'sm-compacting-linux64' + - 'sm-rootanalysis-linux64' + - 'sm-package-linux64' + - 'sm-tsan-linux64' + - 'sm-asan-linux64' + - 'sm-msan-linux64' + - 'sm-fuzzing-linux64' + 'win32': + - 'sm-plain-win32' + - 'sm-compacting-win32' + +release-promotion: + products: + - 'devedition' + - 'fennec' + - 'firefox' + - 'firefox-android' + rebuild-kinds: + - docker-image + - fetch + - packages + - toolchain + flavors: + promote_devedition: + product: devedition + target-tasks-method: promote_desktop + partial-updates: true + promote_firefox: + product: firefox + target-tasks-method: promote_desktop + partial-updates: true + promote_firefox_partner_repack: + product: firefox + rebuild-kinds: + - release-partner-repack + - release-partner-repack-chunking-dummy + - release-partner-repack-signing + - release-partner-repack-mac-signing + - release-partner-repack-mac-notarization + - release-partner-repack-repackage + - release-partner-repack-repackage-signing + - release-partner-repack-beetmover + target-tasks-method: promote_desktop + promote_firefox_partner_attribution: + product: firefox + rebuild-kinds: + - release-partner-attribution + - release-partner-attribution-beetmover + target-tasks-method: promote_desktop + promote_firefox_rc: + product: firefox + is-rc: true + target-tasks-method: promote_desktop + partial-updates: true + push_devedition: + product: devedition + target-tasks-method: push_desktop + partial-updates: true + push_firefox: + product: firefox + target-tasks-method: push_desktop + partial-updates: true + ship_devedition: + product: devedition + target-tasks-method: ship_desktop + version-bump: true + partial-updates: true + ship_firefox: + product: firefox + target-tasks-method: ship_desktop + version-bump: true + partial-updates: true + ship_firefox_rc: + product: firefox + is-rc: true + target-tasks-method: ship_desktop + partial-updates: true + promote_android: + product: firefox-android + target-tasks-method: promote_android + push_android: + product: firefox-android + target-tasks-method: push_android + ship_android: + product: firefox-android + target-tasks-method: ship_android + + +merge-automation: + behaviors: + central-to-beta: + fetch-version-from: "browser/config/version.txt" + version-files: + - filename: "config/milestone.txt" + new-suffix: '' + - filename: "browser/config/version.txt" + new-suffix: '' + - filename: "browser/config/version_display.txt" + new-suffix: 'b1' + - filename: "mobile/android/version.txt" + new-suffix: 'b1' + replacements: + - - browser/config/mozconfigs/linux32/l10n-mozconfig + - ac_add_options --with-branding=browser/branding/nightly + - ac_add_options --enable-official-branding + - - browser/config/mozconfigs/linux64/l10n-mozconfig + - ac_add_options --with-branding=browser/branding/nightly + - ac_add_options --enable-official-branding + - - browser/config/mozconfigs/win32/l10n-mozconfig + - ac_add_options --with-branding=browser/branding/nightly + - ac_add_options --enable-official-branding + - - browser/config/mozconfigs/win64/l10n-mozconfig + - ac_add_options --with-branding=browser/branding/nightly + - ac_add_options --enable-official-branding + - - browser/config/mozconfigs/win64-aarch64/l10n-mozconfig + - ac_add_options --with-branding=browser/branding/nightly + - ac_add_options --enable-official-branding + - - browser/config/mozconfigs/macosx64/l10n-mozconfig + - ac_add_options --with-branding=browser/branding/nightly + - ac_add_options --enable-official-branding + merge-old-head: true + base-tag: 'FIREFOX_BETA_{major_version}_BASE' + end-tag: 'FIREFOX_BETA_{major_version}_END' + from-repo: 'https://hg.mozilla.org/mozilla-central' + from-branch: 'central' + to-repo: 'https://hg.mozilla.org/releases/mozilla-beta' + to-branch: 'beta' + early-to-late-beta: + fetch-version-from: "browser/config/version.txt" + version-files: [] + replacements: + - - build/defines.sh + - EARLY_BETA_OR_EARLIER=1 + - EARLY_BETA_OR_EARLIER= + merge-old-head: false + to-repo: 'https://hg.mozilla.org/releases/mozilla-beta' + to-branch: 'beta' + beta-to-release: + fetch-version-from: "browser/config/version.txt" + version-files: + - filename: "browser/config/version_display.txt" + new-suffix: '' + - filename: "mobile/android/version.txt" + new-suffix: '' + replacements: [] + merge-old-head: true + base-tag: 'FIREFOX_RELEASE_{major_version}_BASE' + end-tag: 'FIREFOX_RELEASE_{major_version}_END' + from-repo: 'https://hg.mozilla.org/releases/mozilla-beta' + from-branch: 'beta' + to-repo: 'https://hg.mozilla.org/releases/mozilla-release' + to-branch: 'release' + release-to-esr: + fetch-version-from: "browser/config/version.txt" + version-files: + - filename: "browser/config/version_display.txt" + new-suffix: 'esr' + replacements: [] + merge-old-head: false + end-tag: "FIREFOX_ESR_{major_version}_BASE" + to-repo: 'https://hg.mozilla.org/releases/mozilla-esr115' + to-branch: 'esr115' + bump-central: + fetch-version-from: "browser/config/version.txt" + version-files: + - filename: "config/milestone.txt" + version-bump: "major" + new-suffix: 'a1' + - filename: "browser/config/version.txt" + version-bump: "major" + new-suffix: 'a1' + - filename: "browser/config/version_display.txt" + version-bump: "major" + new-suffix: 'a1' + - filename: "mobile/android/version.txt" + version-bump: "major" + new-suffix: 'a1' + replacements: + - - "services/sync/modules/constants.sys.mjs" + - 'WEAVE_VERSION = "1.{current_weave_version}.0"' + - 'WEAVE_VERSION = "1.{next_weave_version}.0"' + merge-old-head: false + end-tag: 'FIREFOX_NIGHTLY_{major_version}_END' + to-repo: 'https://hg.mozilla.org/mozilla-central' + to-branch: 'central' + bump-esr115: + fetch-version-from: "browser/config/version.txt" + version-files: + - filename: "config/milestone.txt" + version-bump: "minor" + - filename: "browser/config/version.txt" + version-bump: "minor" + - filename: "browser/config/version_display.txt" + version-bump: "minor" + replacements: [] + merge-old-head: false + to-repo: 'https://hg.mozilla.org/releases/mozilla-esr115' + to-branch: 'esr115' + +scriptworker: + # See additional configuration in taskcluster/gecko_taskgraph/util/scriptworker.py + scope-prefix: 'project:releng' + +partner-urls: + release-partner-repack: + by-release-product: + default: null + firefox: + by-release-type: + default: null + beta|release.*: + by-release-level: + production: 'git@github.com:mozilla-partners/repack-manifests.git' + staging: 'git@github.com:moz-releng-automation-stage/repack-manifests.git' + esr.*: + by-release-level: + production: 'git@github.com:mozilla-partners/esr-repack-manifests.git' + staging: 'git@github.com:moz-releng-automation-stage/esr-repack-manifests.git' + release-partner-attribution: + by-release-product: + default: null + firefox: + by-release-type: + default: null + beta|release.*: + by-release-level: + production: 'git@github.com:mozilla-partners/repack-manifests.git' + staging: 'git@github.com:moz-releng-automation-stage/repack-manifests.git' + esr.*: + by-release-level: + production: 'git@github.com:mozilla-partners/esr-repack-manifests.git' + staging: 'git@github.com:moz-releng-automation-stage/esr-repack-manifests.git' + release-eme-free-repack: + by-release-product: + default: null + firefox: + by-release-type: + default: null + beta|release.*: + by-release-level: + production: 'git@github.com:mozilla-partners/mozilla-EME-free-manifest.git' + staging: 'git@github.com:moz-releng-automation-stage/mozilla-EME-free-manifest.git' + + +task-priority: + by-project: + 'mozilla-release': 'highest' + 'mozilla-esr.*': 'very-high' + 'mozilla-beta': 'high' + 'mozilla-central': 'medium' + 'autoland': 'low' + 'mozilla-inbound': 'low' + 'default': 'very-low' + +taskgraph: + register: gecko_taskgraph:register + +workers: + aliases: + b-linux-gcp-aarch64: + provisioner: '{trust-domain}-{level}' + implementation: generic-worker + os: linux + worker-type: '{alias}' + b-linux.*: + provisioner: '{trust-domain}-{level}' + implementation: docker-worker + os: linux + worker-type: '{alias}' + b-win2012: + provisioner: '{trust-domain}-{level}' + implementation: generic-worker + os: windows + worker-type: '{alias}-azure' + b-win2022: + provisioner: '{trust-domain}-{level}' + implementation: generic-worker + os: windows + worker-type: '{alias}' + image: + provisioner: '{trust-domain}-{level}' + implementation: docker-worker + os: linux + worker-type: '{alias}' + images: + provisioner: '{trust-domain}-{level}' + implementation: docker-worker + os: linux + worker-type: '{alias}' + images-gcp: + provisioner: '{trust-domain}-{level}' + implementation: docker-worker + os: linux + worker-type: '{alias}' + addon: + provisioner: scriptworker-k8s + implementation: push-addons + os: scriptworker + worker-type: + by-release-level: + production: '{trust-domain}-3-addon' + staging: '{trust-domain}-1-addon' + balrog: + provisioner: scriptworker-k8s + implementation: balrog + os: scriptworker + worker-type: + by-release-level: + production: '{trust-domain}-3-balrog' + staging: '{trust-domain}-1-balrog' + bouncer: + provisioner: scriptworker-k8s + # Note that this implementation doesn't correspond with an + # payload_builder, there are several `bouncer-*` implemenations. + implementation: bouncer + os: scriptworker + worker-type: + by-release-level: + production: '{trust-domain}-3-bouncer' + staging: '{trust-domain}-1-bouncer' + beetmover: + provisioner: scriptworker-k8s + implementation: beetmover + os: scriptworker + worker-type: + by-release-level: + production: '{trust-domain}-3-beetmover' + staging: '{trust-domain}-1-beetmover' + beetmover-android: + provisioner: scriptworker-k8s + implementation: scriptworker-beetmover + os: scriptworker + worker-type: + by-release-level: + production: '{trust-domain}-3-beetmover' + staging: '{trust-domain}-1-beetmover' + shipit: + provisioner: scriptworker-k8s + implementation: shipit + os: scriptworker + worker-type: + by-release-level: + production: '{trust-domain}-3-shipit' + staging: '{trust-domain}-1-shipit' + linux-depsigning: + provisioner: scriptworker-k8s + implementation: scriptworker-signing + os: linux + worker-type: '{trust-domain}-t-signing' + linux-signing: + provisioner: scriptworker-k8s + implementation: scriptworker-signing + os: linux + worker-type: + by-release-level: + production: '{trust-domain}-3-signing' + staging: '{trust-domain}-t-signing' + mac-depsigning: + provisioner: scriptworker-prov-v1 + implementation: scriptworker-signing + os: macosx + worker-type: depsigning-mac-v1 + mac-signing: + provisioner: scriptworker-prov-v1 + implementation: scriptworker-signing + os: macosx + worker-type: + by-release-level: + production: signing-mac-v1 + staging: depsigning-mac-v1 + push-apk: + provisioner: scriptworker-k8s + implementation: scriptworker-pushapk + os: scriptworker + worker-type: '{trust-domain}-{level}-pushapk' + pushflatpak: + provisioner: scriptworker-k8s + implementation: push-flatpak + os: scriptworker + worker-type: + by-release-level: + staging: '{trust-domain}-1-pushflatpak' + production: '{trust-domain}-3-pushflatpak' + pushmsix: + provisioner: scriptworker-k8s + implementation: push-msix + os: scriptworker + worker-type: + by-release-level: + staging: '{trust-domain}-1-pushmsix' + production: '{trust-domain}-3-pushmsix' + tree: + provisioner: scriptworker-k8s + implementation: treescript + os: scriptworker + worker-type: + by-release-level: + production: '{trust-domain}-3-tree' + staging: + by-project: + autoland: '{trust-domain}-3-tree' + default: '{trust-domain}-1-tree' + tree-dev: + provisioner: scriptworker-k8s + implementation: treescript + os: scriptworker + worker-type: '{trust-domain}-1-tree-dev' + t-bitbar-gw.*: + provisioner: proj-autophone + implementation: generic-worker + os: linux-bitbar + worker-type: 'gecko-{alias}' + t-linux(-large|-xlarge|-xlarge-source): + provisioner: '{trust-domain}-t' + implementation: docker-worker + os: linux + worker-type: '{alias}-gcp' + t-linux(-large|-xlarge|-xlarge-source)-noscratch: + provisioner: '{trust-domain}-t' + implementation: docker-worker + os: linux + worker-type: '{alias}-gcp' + t-linux-kvm: + provisioner: '{trust-domain}-t' + implementation: docker-worker + os: linux + worker-type: 't-linux-kvm-noscratch-gcp' + t-linux-talos: + provisioner: releng-hardware + implementation: generic-worker + os: linux + worker-type: 'gecko-{alias}' + t-linux-talos-1804: + provisioner: releng-hardware + implementation: generic-worker + os: linux + worker-type: 'gecko-{alias}' + t-linux-wayland: + provisioner: '{trust-domain}-t' + implementation: generic-worker + os: linux + worker-type: 't-linux-vm-2204-wayland' + t-osx-1015-r8: + provisioner: releng-hardware + implementation: generic-worker + os: macosx + worker-type: 'gecko-{alias}' + t-osx-1100-m1: + provisioner: releng-hardware + implementation: generic-worker + os: macosx + worker-type: 'gecko-{alias}' + t-osx-1400-m2: + provisioner: releng-hardware + implementation: generic-worker + os: macosx + worker-type: 'gecko-{alias}' + t-osx-1015-power: + provisioner: releng-hardware + implementation: generic-worker + os: macosx + worker-type: 'gecko-{alias}' + t-linux-xlarge-pgo: + provisioner: + by-level: + '3': '{trust-domain}-{level}' + default: '{trust-domain}-t' + implementation: docker-worker + os: linux + worker-type: 't-linux-xlarge-noscratch-gcp' + b-osx-1015: + provisioner: releng-hardware + implementation: generic-worker + os: macosx + worker-type: + by-level: + '3': 'gecko-3-b-osx-1015' + default: 'gecko-1-b-osx-1015' + b-osx-arm64: + provisioner: releng-hardware + implementation: generic-worker + os: macosx + worker-type: + by-level: + '3': 'gecko-3-b-osx-arm64' + default: 'gecko-1-b-osx-arm64' + t-win10-64(|-gpu-s|-source): + provisioner: '{trust-domain}-t' + implementation: generic-worker + os: windows + worker-type: '{alias}' + t-win10-64(-hw|-1803-hw): + provisioner: releng-hardware + implementation: generic-worker + os: windows + worker-type: 'gecko-{alias}' + win11-64-2009(-hw-ref): + provisioner: releng-hardware + implementation: generic-worker + os: windows + worker-type: '{alias}' + win10-64-2009(|-gpu|-ssd|-source|-ssd-gpu): + provisioner: 'gecko-t' + implementation: generic-worker + os: windows + worker-type: '{alias}' + t-win11-64(|-gpu-s|-source): + provisioner: '{trust-domain}-t' + implementation: generic-worker + os: windows + worker-type: '{alias}' + win11-64-2009(|-gpu|-ssd|-source|-ssd-gpu): + provisioner: 'gecko-t' + implementation: generic-worker + os: windows + worker-type: '{alias}' + t-win7-32-gpu: + provisioner: '{trust-domain}-t' + implementation: generic-worker + os: windows + worker-type: '{alias}' + t-win7-32: + provisioner: releng-hardware + implementation: generic-worker + os: windows + worker-type: 'gecko-{alias}-hw' + t-win64-aarch64-laptop: + provisioner: bitbar + implementation: generic-worker + os: windows + worker-type: 'gecko-{alias}' + succeed: + provisioner: built-in + implementation: succeed + os: none + worker-type: succeed + misc: + provisioner: '{trust-domain}-t' + implementation: docker-worker + os: linux + worker-type: misc-gcp + + +mac-signing: + mac-requirements: + by-platform: + macosx64.*: build/package/mac_osx/requirements.plist + default: '' + hardened-sign-config: + by-hardened-signing-type: + production: + - deep: false + runtime: true + force: true + entitlements: security/mac/hardenedruntime/v2/production/plugin-container.xml + globs: + - "/Contents/MacOS/plugin-container.app" + + - deep: false + runtime: true + force: true + entitlements: security/mac/hardenedruntime/v2/production/media-plugin-helper.xml + globs: + - "/Contents/MacOS/media-plugin-helper.app" + + - deep: false + runtime: true + force: true + # These files are signed without entitlements + globs: + - "/Contents/MacOS/crashreporter.app" + - "/Contents/MacOS/updater.app/Contents/Frameworks/UpdateSettings.framework" + - "/Contents/MacOS/updater.app" + - "/Contents/Library/LaunchServices/org.mozilla.updater" + - "/Contents/MacOS/XUL" + - "/Contents/MacOS/pingsender" + - "/Contents/MacOS/minidump-analyzer" + - "/Contents/MacOS/nmhproxy" + - "/Contents/MacOS/*.dylib" + - "/Contents/Resources/gmp-clearkey/*/*.dylib" + - "/Contents/Frameworks/ChannelPrefs.framework" + + - deep: false + runtime: true + force: true + entitlements: + by-build-platform: + .*devedition.*: security/mac/hardenedruntime/v2/production/firefoxdeveloperedition.browser.xml + default: + by-project: + mozilla-central: security/mac/hardenedruntime/v2/production/nightly.browser.xml + default: security/mac/hardenedruntime/v2/production/firefox.browser.xml + globs: + - "/" # The .app + + default: + - deep: false + runtime: true + force: true + entitlements: security/mac/hardenedruntime/v2/developer/plugin-container.xml + globs: + - "/Contents/MacOS/plugin-container.app" + + - deep: false + runtime: true + force: true + entitlements: security/mac/hardenedruntime/v2/developer/media-plugin-helper.xml + globs: + - "/Contents/MacOS/media-plugin-helper.app" + + - deep: false + runtime: true + force: true + entitlements: security/mac/hardenedruntime/v2/developer/utility.xml + globs: + - "/Contents/MacOS/crashreporter.app" + - "/Contents/MacOS/updater.app/Contents/Frameworks/UpdateSettings.framework" + - "/Contents/MacOS/updater.app" + - "/Contents/Library/LaunchServices/org.mozilla.updater" + - "/Contents/MacOS/pingsender" + - "/Contents/MacOS/minidump-analyzer" + - "/Contents/MacOS/nmhproxy" + - "/Contents/Frameworks/ChannelPrefs.framework" + + - deep: false + runtime: true + force: true + # These files are signed without entitlements + globs: + - "/Contents/MacOS/XUL" + - "/Contents/MacOS/*.dylib" + - "/Contents/Resources/gmp-clearkey/*/*.dylib" + + - deep: false + runtime: true + force: true + entitlements: security/mac/hardenedruntime/v2/developer/browser.xml + globs: + - "/" # The .app + +expiration-policy: + by-project: + try: + default: 28 days + shortest: 7 days + short: 14 days + medium: 28 days + long: 28 days + autoland: + default: 1 year + shortest: 14 days + short: 3 months + medium: 1 year + # To avoid keeping shippable builds for over a year + long: 1 year + default: + default: 3 months + shortest: 7 days + short: 1 month + medium: 1 year + long: 1 year diff --git a/taskcluster/docker/debian-repackage/Dockerfile b/taskcluster/docker/debian-repackage/Dockerfile index ae257931d4..f068731b58 100644 --- a/taskcluster/docker/debian-repackage/Dockerfile +++ b/taskcluster/docker/debian-repackage/Dockerfile @@ -3,22 +3,16 @@ MAINTAINER Mozilla Releng <release@mozilla.com> VOLUME /builds/worker/workspace -# At the moment the Firefox build baseline is jessie. -# Things in the build/CI system that run in the task's container -# (mach, run-task, etc.) do not support jessie. -# There's also no jessie `base` images or packages generated in the CI. -# To generate Firefox Debian packages compatible with the baseline -# we bootstrap basic i386 and amd64 jessie systems on bullseye. -# We use these to generate shared library dependencies in jessie using chroot. -# python/mozbuild/mozbuild/repackaging/deb.py checks for jessie systems -# bootstrapped under /srv/jessie-i386 and /srv/jessie-amd64 -# If they aren't there, deb.py runs the repackage in the working directory without using chroot. -# To keep the build and repackage enviroments consistent the Debian baseline used -# here (jessie) should be synchronized with the baseline used in -# taskcluster/scripts/misc/build-sysroot.sh +# At the moment the Firefox build sysroot for i386 and amd64 use jessie and arm64 uses buster. +# To generate Firefox Debian packages we bootstrap jessie and buster sysroots. +# We use these sysroots to generate shared library dependencies for +# i386 (jessie), amd64 (jessie), and arm64 (buster) packages. +# To keep the build and repackage enviroments consistent the Debian distributions used by the sysroots +# created here should match the distributions used by the sysroots created in taskcluster/scripts/misc/build-sysroot.sh ARG TASKCLUSTER_ROOT_URL ARG DOCKER_IMAGE_PACKAGES RUN /usr/local/sbin/setup_packages.sh $TASKCLUSTER_ROOT_URL $DOCKER_IMAGE_PACKAGES && \ + dpkg --add-architecture arm64 && \ apt-get update && \ apt-get install debootstrap && set -xe && \ for arch in i386 amd64; do \ @@ -30,6 +24,20 @@ RUN /usr/local/sbin/setup_packages.sh $TASKCLUSTER_ROOT_URL $DOCKER_IMAGE_PACKAG --verbose \ jessie \ /srv/jessie-$arch \ - https://archive.debian.org/debian; \ + https://archive.debian.org/debian || (echo "Debootstrap failed, outputting log:" && cat /srv/jessie-$arch/debootstrap/debootstrap.log && exit 1); \ done && \ + # bootstrap a buster/amd64 root to generate an arm64 .deb package. + debootstrap \ + --arch=amd64 \ + --variant=buildd \ + --include=debhelper,binutils-multiarch,binutils-aarch64-linux-gnu \ + --keyring=/usr/share/keyrings/debian-archive-buster-stable.gpg \ + --verbose \ + buster \ + /srv/buster-amd64 \ + http://deb.debian.org/debian || (echo "Debootstrap failed, outputting log:" && cat /srv/buster-amd64/debootstrap/debootstrap.log && exit 1) && \ + chroot /srv/buster-amd64 /bin/bash -c "\ + dpkg --add-architecture arm64 && \ + apt-get update && \ + apt-get install -y libasound2:arm64 libgtk-3-0:arm64 libx11-xcb1:arm64 libxtst6:arm64" && \ /usr/local/sbin/clean_packages.sh $DOCKER_IMAGE_PACKAGES diff --git a/taskcluster/docker/github-sync/Dockerfile b/taskcluster/docker/github-sync/Dockerfile deleted file mode 100644 index bff131ad7b..0000000000 --- a/taskcluster/docker/github-sync/Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM $DOCKER_IMAGE_PARENT -MAINTAINER Kartikaya Gupta <kgupta@mozilla.com> - -VOLUME /builds/worker/checkouts -VOLUME /builds/worker/workspace -VOLUME /builds/worker/tooltool-cache -VOLUME /builds/worker/.ghsync - -ADD prepare.sh /setup/prepare-docker.sh -ADD requirements.txt /setup/requirements.txt -RUN /bin/bash /setup/prepare-docker.sh /setup/requirements.txt && rm -R /setup - -# Set a default command useful for debugging -CMD ["/bin/bash", "--login"] diff --git a/taskcluster/docker/github-sync/prepare.sh b/taskcluster/docker/github-sync/prepare.sh deleted file mode 100755 index 6c0be27168..0000000000 --- a/taskcluster/docker/github-sync/prepare.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env bash - -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -set -o errexit -set -o nounset -set -o pipefail -set -o xtrace - -test "$(whoami)" == 'root' - -# Install stuff we need -apt-get -y update -apt-get install -y \ - cmake \ - curl \ - gcc \ - git \ - g++ \ - libffi-dev \ - libgit2-dev \ - libssl-dev \ - python3 \ - python3-dev \ - python3-pip \ - python3-setuptools - -# Python packages -pip3 install --break-system-packages -r "$1" diff --git a/taskcluster/docker/github-sync/requirements.txt b/taskcluster/docker/github-sync/requirements.txt deleted file mode 100644 index 13fd42681d..0000000000 --- a/taskcluster/docker/github-sync/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -requests == 2.21.0 -pygit2 == 1.11.1 -python-hglib == 2.6.1 diff --git a/taskcluster/docker/sentry/Dockerfile b/taskcluster/docker/sentry/Dockerfile index 2f606c5529..c07fdd3961 100644 --- a/taskcluster/docker/sentry/Dockerfile +++ b/taskcluster/docker/sentry/Dockerfile @@ -1,5 +1,5 @@ FROM $DOCKER_IMAGE_PARENT -LABEL maintainer="Mitchell Hentges mhentges@mozilla.com" +LABEL maintainer="Alex Hochheiden ahochheiden@mozilla.com" VOLUME /builds/worker/checkouts diff --git a/taskcluster/docker/snap-coreXX-build/snap-tests/README.md b/taskcluster/docker/snap-coreXX-build/snap-tests/README.md index 73f78c72bc..bdc79dbe4b 100644 --- a/taskcluster/docker/snap-coreXX-build/snap-tests/README.md +++ b/taskcluster/docker/snap-coreXX-build/snap-tests/README.md @@ -16,6 +16,10 @@ inspecting the browser at the end of a test. Data URL containing the diff screenshot will be dumped to stdout/stderr when `TEST_DUMP_DIFF` is set in the environment. +A recording of the desktop can be captured via GNOME Screencast feature by +passing `TEST_RECORD_SCREEN=true` in the enviromnent. Upon completion of the +task it should upload a WebM file. + Updating reference screenshots ============================== - `./mach try fuzzy --push-to-lando --full --env TEST_COLLECT_REFERENCE=1 -q "'snap-upstream-test"` diff --git a/taskcluster/docker/snap-coreXX-build/snap-tests/record.py b/taskcluster/docker/snap-coreXX-build/snap-tests/record.py new file mode 100644 index 0000000000..51fe47f6d8 --- /dev/null +++ b/taskcluster/docker/snap-coreXX-build/snap-tests/record.py @@ -0,0 +1,24 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at https://mozilla.org/MPL/2.0/. + +import os +import time + +import dbus + +session_bus = dbus.SessionBus() +session_bus.call_blocking( + "org.gnome.Shell.Screencast", + "/org/gnome/Shell/Screencast", + "org.gnome.Shell.Screencast", + "Screencast", + signature="sa{sv}", + args=[ + os.path.join(os.environ.get("ARTIFACT_DIR", ""), "video_%d_%t.webm"), + {"draw-cursor": True, "framerate": 35}, + ], +) + +while True: + time.sleep(30) diff --git a/taskcluster/docker/snap-coreXX-build/snap-tests/tests.sh b/taskcluster/docker/snap-coreXX-build/snap-tests/tests.sh index 854ef2c9af..3412d04727 100755 --- a/taskcluster/docker/snap-coreXX-build/snap-tests/tests.sh +++ b/taskcluster/docker/snap-coreXX-build/snap-tests/tests.sh @@ -60,6 +60,16 @@ if [ -n "${MOZ_LOG}" ]; then export MOZ_LOG_FILE="${ARTIFACT_DIR}/gecko-log" fi +RECORD_SCREEN_PID=0 +if [ "${TEST_RECORD_SCREEN}" = "true" ]; then + python3 record.py & + RECORD_SCREEN_PID=$! + echo "Recording with PID ${RECORD_SCREEN_PID}" + + trap 'echo [EXIT] Stopping screen recording from PID ${RECORD_SCREEN_PID} && kill ${RECORD_SCREEN_PID}' EXIT + trap 'echo [ERR] Stopping screen recording from PID ${RECORD_SCREEN_PID} && kill ${RECORD_SCREEN_PID}' ERR +fi; + if [ "${SUITE}" = "basic" ]; then sed -e "s/#RUNTIME_VERSION#/${RUNTIME_VERSION}/#" < basic_tests/expectations.json.in > basic_tests/expectations.json python3 basic_tests.py basic_tests/expectations.json diff --git a/taskcluster/docker/system-symbols-linux-scraper/Dockerfile b/taskcluster/docker/system-symbols-linux-scraper/Dockerfile index edafc97c83..e9785c93c1 100644 --- a/taskcluster/docker/system-symbols-linux-scraper/Dockerfile +++ b/taskcluster/docker/system-symbols-linux-scraper/Dockerfile @@ -12,7 +12,7 @@ VOLUME /builds/worker/checkouts RUN apt-get update && \ apt-get install --no-install-recommends -y \ - 7zip binutils build-essential cpio curl debuginfod elfutils flatpak jq \ + file 7zip binutils build-essential cpio curl debuginfod elfutils flatpak jq \ libxml2-utils python3-pip rpm2cpio squashfs-tools unzip wget zip && \ apt-get autoremove -y && rm -rf /var/lib/apt/lists/* diff --git a/taskcluster/docker/system-symbols-linux-scraper/README b/taskcluster/docker/system-symbols-linux-scraper/README new file mode 100644 index 0000000000..ac37a2d3f3 --- /dev/null +++ b/taskcluster/docker/system-symbols-linux-scraper/README @@ -0,0 +1,64 @@ +Performing a (re)bootstrapping of symbols scraping process +========================================================== + +Whenever for any reason the symbol scraping process might have been faulty long +enough, we can end up (currently) in a situation where the recorded status of +`SHA256SUMS.zip` on the TaskCluster index is inconsistent with what we really +processed. + +This document aims at explaining what needs to be done and where to recover +from that state (this is based on the experience from bug 1893156). + +First, you need to identify since how long the problem has been present. As of +now there is no really better tooling than processing manually the cron tasks +logs and see when it started to fail. + +Once you have identified a date, the next step is to work on the bootstrapping +content. As visible in +https://searchfox.org/mozilla-central/rev/f6e3b81aac49e602f06c204f9278da30993cdc8a/taskcluster/docker/system-symbols-linux-scraper/run.sh#62, +the first source of truth is the gh-pages branch of the symbol-scrapers github +repository: https://github.com/mozilla/symbol-scrapers/tree/gh-pages. This +source of truth is evaluated ONLY if the TaskCluster index is NOT present. The +route is being computed from the running task's definition: +https://searchfox.org/mozilla-central/rev/f6e3b81aac49e602f06c204f9278da30993cdc8a/taskcluster/docker/system-symbols-linux-scraper/run.sh#14 +from which we ONLY consider the `latest` alias. + +As of today the index is for example for debian: +index.gecko.v2.mozilla-central.latest.system-symbols.debian and thus one can +explore the content at +https://firefox-ci-tc.services.mozilla.com/tasks/index/gecko.v2.mozilla-central.latest.system-symbols.debian, +other means of browsing including pushdate allows to find e.g., +https://firefox-ci-tc.services.mozilla.com/tasks/index/gecko.v2.mozilla-central.pushdate.2024.04.20.20240420094034.system-symbols/debian +from which we can get a link to the sums file: +https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/gecko.v2.mozilla-central.pushdate.2024.04.20.20240420094034.system-symbols.debian/artifacts/public%2Fbuild%2FSHA256SUMS.zip + +Once you have identified WHEN the problem arose, you can take the above URL +(adapting with the correct date) and adapting to the various distributions. + +Make sure you have an uptodate git clone of the mozilla/symbol-scrapers +repository, checkout a new branch out of the gh-pages tree, and you can proceed +to the data extraction following (example with a different date): + for distro in alpine archlinux debian fedora firefox-flatpak firefox-snap gnome-sdk-snap mint opensuse ubuntu; do + wget https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/gecko.v2.mozilla-central.pushdate.2024.02.07.latest.system-symbols.$distro/artifacts/public%2Fbuild%2FSHA256SUMS.zip -O $distro/SHA256SUMS.zip; + done; + mv archlinux/SHA256SUMS.zip arch/ + +Please note that there's a slight difference in naming, archlinux vs arch. +Please note other distros might have been added since so you need to adapt. + +Send a pull request once this is OK, make it reviewed or merge it. + +As of now, the content of the boostrapping process is in the state we want, but +if you run a symbols scraping task, it will still pull data from the +TaskCluster index. This time, you need to use the index that refers to latest +and NOT the pushdate or another one, so the index used in the example SHOULD be +good. You just have to run deleteTask (with the appropriate credentials if you +have them, or ask releng for help in #firefox-ci): + for distro in alpine archlinux debian fedora firefox-flatpak firefox-snap gnome-sdk-snap mint opensuse ubuntu; do + taskcluster api index deleteTask gecko.v2.mozilla-central.latest.system-symbols.$distro + done; + +From there, HTTP queries to (for the debian example) +https://firefox-ci-tc.services.mozilla.com/tasks/index/gecko.v2.mozilla-central.latest.system-symbols.debian +would return 404, which will make the symbol scraping tasks search its data on +GitHub. diff --git a/taskcluster/docker/updatebot/updatebot-version.sh b/taskcluster/docker/updatebot/updatebot-version.sh index ea788dd130..0491fdf447 100644 --- a/taskcluster/docker/updatebot/updatebot-version.sh +++ b/taskcluster/docker/updatebot/updatebot-version.sh @@ -1,2 +1,2 @@ -export UPDATEBOT_REVISION=5cf21801808c95a3948916fd03f1001d964d796a +export UPDATEBOT_REVISION=d7689dd2e47c6df15f5fece49a85a5297d4c4ff3 diff --git a/taskcluster/docker/updatebot/windows-setup.sh b/taskcluster/docker/updatebot/windows-setup.sh index c04d0a6fbf..975aaea249 100644 --- a/taskcluster/docker/updatebot/windows-setup.sh +++ b/taskcluster/docker/updatebot/windows-setup.sh @@ -27,7 +27,7 @@ mv depot_tools.git depot_tools # Generating a new version of the preloaded depot_tools download can be done by: # 1) Running the task, uncommenting the variable assignment below, uncommenting the -# _GENERATE_DEPOT_TOOLS_BINARIES_ section in taskcluster/ci/updatebot/kind.yml, +# _GENERATE_DEPOT_TOOLS_BINARIES_ section in taskcluster/kinds/updatebot/kind.yml, # and ensuring that an angle update will actually take place (so it downloads the depot_tools) # 2) Downloading and sanity-checking the depot_tools-preloaded-binaries-GIT_HASH-DATE.zip artifact # 3) Adding it to tooltool @@ -121,7 +121,7 @@ if test -n "$GENERATE_DEPOT_TOOLS_BINARIES"; then # Convoluted way to get the git hash, because we don't have a .git directory # Adding extra print statements just in case we need to debug it - GIT_HASH=$(grep depot_tools -A 1 "$GECKO_PATH/taskcluster/ci/fetch/updatebot.yml" | tee /dev/tty | grep revision | tee /dev/tty | awk -F': *' '{print $2}' | tee /dev/tty) + GIT_HASH=$(grep depot_tools -A 1 "$GECKO_PATH/taskcluster/kinds/fetch/updatebot.yml" | tee /dev/tty | grep revision | tee /dev/tty | awk -F': *' '{print $2}' | tee /dev/tty) DATE=$(date -I) mv depot_tools-preloaded-binaries.zip "depot_tools-preloaded-binaries-$GIT_HASH-$DATE.zip" diff --git a/taskcluster/docs/howto/index.rst b/taskcluster/docs/howto/index.rst index ab1010666b..c3a03ef166 100644 --- a/taskcluster/docs/howto/index.rst +++ b/taskcluster/docs/howto/index.rst @@ -35,7 +35,7 @@ Changing Test Characteristics ............................. First, find the test description. This will be in -``taskcluster/ci/*/tests.yml``, for the appropriate kind (consult +``taskcluster/kinds/*/tests.yml``, for the appropriate kind (consult :ref:`kinds`). You will find a YAML stanza for each test suite, and each stanza defines the test's characteristics. For example, the ``chunks`` property gives the number of chunks to run. This can be specified as a simple @@ -65,7 +65,7 @@ Adding a Test Suite To add a new test suite, you will need to know the proper mozharness invocation for that suite, and which kind it fits into (consult :ref:`kinds`). -Add a new stanza to ``taskcluster/ci/<kind>/tests.yml``, copying from the other +Add a new stanza to ``taskcluster/kinds/<kind>/tests.yml``, copying from the other stanzas in that file. The meanings should be clear, but authoritative documentation is in ``taskcluster/gecko_taskgraph/transforms/test/__init__.py`` should you need diff --git a/taskcluster/docs/kinds.rst b/taskcluster/docs/kinds.rst index b54f95f0fa..76edaaa511 100644 --- a/taskcluster/docs/kinds.rst +++ b/taskcluster/docs/kinds.rst @@ -684,7 +684,7 @@ diffoscope ---------- Tasks used to compare pairs of Firefox builds using https://diffoscope.org/. As of writing, this is mainly meant to be used in try builds, by editing -taskcluster/ci/diffoscope/kind.yml for your needs. +taskcluster/kinds/diffoscope/kind.yml for your needs. addon ----- @@ -703,11 +703,6 @@ webrender Tasks used to do testing of WebRender standalone (without gecko). The WebRender code lives in gfx/wr and has its own testing infrastructure. -github-sync ------------- -Tasks used to do synchronize parts of Gecko that have downstream GitHub -repositories. - instrumented-build ------------------ Tasks that generate builds with PGO instrumentation enabled. This is an diff --git a/taskcluster/docs/kinds/test.rst b/taskcluster/docs/kinds/test.rst index 20d3635c5c..b577a4a993 100644 --- a/taskcluster/docs/kinds/test.rst +++ b/taskcluster/docs/kinds/test.rst @@ -120,7 +120,7 @@ manifest conditions pending the triage owner / manager to review. Please subscribe to alerts from `firefox-ci <https://groups.google.com/a/mozilla.com/g/firefox-ci>` group in order to be aware of changes to the CI, scheduling, or the policy. -.. _variants.yml: https://searchfox.org/mozilla-central/source/taskcluster/ci/test/variants.yml +.. _variants.yml: https://searchfox.org/mozilla-central/source/taskcluster/kinds/test/variants.yml .. _json-e: https://json-e.js.org/ diff --git a/taskcluster/docs/partner-attribution.rst b/taskcluster/docs/partner-attribution.rst index f83eabb005..c283d4b529 100644 --- a/taskcluster/docs/partner-attribution.rst +++ b/taskcluster/docs/partner-attribution.rst @@ -27,7 +27,7 @@ partner repacks. logic. It's usually looked up during the release promotion action task, using the Github GraphQL API in the `get_partner_config_by_url() <python/taskgraph.util.html#taskgraph.util.partners.get_partner_config_by_url>`_ function, with the -url defined in `taskcluster/ci/config.yml <https://searchfox.org/mozilla-central/search?q=partner-urls&path=taskcluster%2Fci%2Fconfig.yml&case=true®exp=false&redirect=true>`_. +url defined in `taskcluster/config.yml <https://searchfox.org/mozilla-central/search?q=partner-urls&path=taskcluster%2Fconfig.yml&case=true®exp=false&redirect=true>`_. ``release_partner_build_number`` is an integer used to create unique upload paths in the firefox candidates directory, while ``release_partners`` is a list of partners that should be diff --git a/taskcluster/docs/partner-repacks.rst b/taskcluster/docs/partner-repacks.rst index 3ae352e06d..6aa3db7da7 100644 --- a/taskcluster/docs/partner-repacks.rst +++ b/taskcluster/docs/partner-repacks.rst @@ -40,7 +40,7 @@ release. They're both true for Firefox betas >= b8 and releases, but otherwise d logic. It's usually looked up during the release promotion action task, using the Github GraphQL API in the `get_partner_config_by_url() <python/taskgraph.util.html#taskgraph.util.partners.get_partner_config_by_url>`_ function, with the -url defined in `taskcluster/ci/config.yml <https://searchfox +url defined in `taskcluster/config.yml <https://searchfox .org/mozilla-release/search?q=regexp%3A^partner+path%3Aconfig.yml&redirect=true>`_. ``release_partner_build_number`` is an integer used to create unique upload paths in the firefox diff --git a/taskcluster/docs/taskgraph.rst b/taskcluster/docs/taskgraph.rst index 5b3ac83643..dbb74f3499 100644 --- a/taskcluster/docs/taskgraph.rst +++ b/taskcluster/docs/taskgraph.rst @@ -32,7 +32,7 @@ Kinds Generation starts with "kinds". These are yaml files that denote groupings of tasks that are loosely related to one another. For example, in Gecko there are ``build`` and ``test`` kinds. Each kind has its own directory under -`taskcluster/ci`_ which contains a ``kind.yml`` file. +`taskcluster/kinds`_ which contains a ``kind.yml`` file. For more information on kinds, see Taskgraph's `kind documentation`_. For a list of available kinds in ``mozilla-central``, see the :doc:`kinds reference @@ -114,7 +114,7 @@ Graph Configuration There are several configuration settings that are pertain to the entire taskgraph. These are specified in :file:`config.yml` at the root of the -taskgraph configuration (typically :file:`taskcluster/ci/`). The available +taskgraph configuration (typically :file:`taskcluster`). The available settings are documented inline in `taskcluster/gecko_taskgraph/config.py <https://searchfox.org/mozilla-central/source/taskcluster/gecko_taskgraph/config.py>`_. @@ -131,7 +131,7 @@ For more information, see Taskgraph's `actions documentation`_. .. _graph generation documentation: https://taskcluster-taskgraph.readthedocs.io/en/latest/concepts/task-graphs.html .. _this guide: https://taskcluster-taskgraph.readthedocs.io/en/latest/howto/run-locally.html -.. _taskcluster/ci: https://searchfox.org/mozilla-central/source/taskcluster/ci +.. _taskcluster/kinds: https://searchfox.org/mozilla-central/source/taskcluster/kinds .. _kind documentation: https://taskcluster-taskgraph.readthedocs.io/en/latest/concepts/kind.html .. _loader documentation: https://taskcluster-taskgraph.readthedocs.io/en/latest/concepts/loading.html .. _transforms documentation: https://taskcluster-taskgraph.readthedocs.io/en/latest/concepts/transforms.html diff --git a/taskcluster/docs/versioncontrol.rst b/taskcluster/docs/versioncontrol.rst index 835f8915cf..c187ea7f64 100644 --- a/taskcluster/docs/versioncontrol.rst +++ b/taskcluster/docs/versioncontrol.rst @@ -35,7 +35,7 @@ The locations are as follows: Debian Packages for Debian and Ubuntu Based Docker Images --------------------------------------------------------- -``taskcluster/ci/packages/debian.yml`` and ``taskcluster/ci/packages/ubuntu.yml`` +``taskcluster/kinds/packages/debian.yml`` and ``taskcluster/kinds/packages/ubuntu.yml`` define custom Debian packages for Mercurial. These are installed in various Docker images. diff --git a/taskcluster/gecko_taskgraph/config.py b/taskcluster/gecko_taskgraph/config.py index 7b6237f9fb..df4a5665e3 100644 --- a/taskcluster/gecko_taskgraph/config.py +++ b/taskcluster/gecko_taskgraph/config.py @@ -4,6 +4,7 @@ from taskgraph.util.schema import Schema, optionally_keyed_by from voluptuous import Any, Optional, Required +from voluptuous.validators import Length graph_config_schema = Schema( { @@ -20,7 +21,7 @@ graph_config_schema = Schema( Required("product-dir"): str, Required("treeherder"): { # Mapping of treeherder group symbols to descriptive names - Required("group-names"): {str: str} + Required("group-names"): {str: Length(max=100)} }, Required("index"): {Required("products"): [str]}, Required("try"): { diff --git a/taskcluster/gecko_taskgraph/files_changed.py b/taskcluster/gecko_taskgraph/files_changed.py index c814df0806..0352fb9d7e 100644 --- a/taskcluster/gecko_taskgraph/files_changed.py +++ b/taskcluster/gecko_taskgraph/files_changed.py @@ -16,7 +16,7 @@ from mozpack.path import match as mozpackmatch from mozversioncontrol import InvalidRepoPath, get_repository_object from gecko_taskgraph import GECKO -from gecko_taskgraph.util.hg import get_json_automationrelevance +from gecko_taskgraph.util.hg import get_json_pushchangedfiles logger = logging.getLogger(__name__) @@ -27,9 +27,8 @@ def get_changed_files(repository, revision): Get the set of files changed in the push headed by the given revision. Responses are cached, so multiple calls with the same arguments are OK. """ - contents = get_json_automationrelevance(repository, revision) try: - changesets = contents["changesets"] + return get_json_pushchangedfiles(repository, revision)["files"] except KeyError: # We shouldn't hit this error in CI. if os.environ.get("MOZ_AUTOMATION"): @@ -39,17 +38,6 @@ def get_changed_files(repository, revision): # version control. return get_locally_changed_files(GECKO) - logger.debug("{} commits influencing task scheduling:".format(len(changesets))) - changed_files = set() - for c in changesets: - desc = "" # Support empty desc - if c["desc"]: - desc = c["desc"].splitlines()[0].encode("ascii", "ignore") - logger.debug(" {cset} {desc}".format(cset=c["node"][0:12], desc=desc)) - changed_files |= set(c["files"]) - - return changed_files - def check(params, file_patterns): """Determine whether any of the files changed in the indicated push to diff --git a/taskcluster/gecko_taskgraph/main.py b/taskcluster/gecko_taskgraph/main.py index e261f26c80..c6d7a4a3c8 100644 --- a/taskcluster/gecko_taskgraph/main.py +++ b/taskcluster/gecko_taskgraph/main.py @@ -108,7 +108,7 @@ def get_filtered_taskgraph(taskgraph, tasksregex, exclude_keys): for key in exclude_keys: obj = task_dict attrs = key.split(".") - while attrs[0] in obj: + while obj and attrs[0] in obj: if len(attrs) == 1: del obj[attrs[0]] break @@ -386,10 +386,10 @@ def show_taskgraph(options): output_file = options["output_file"] if options["diff"]: - # --root argument is taskgraph's config at <repo>/taskcluster/ci + # --root argument is taskgraph's config at <repo>/taskcluster repo_root = os.getcwd() if options["root"]: - repo_root = f"{options['root']}/../.." + repo_root = f"{options['root']}/.." repo = get_repository(repo_root) if not repo.working_directory_clean(): @@ -707,7 +707,7 @@ def decision(options): @argument( "--root", "-r", - default="taskcluster/ci", + default="taskcluster", help="root of the taskgraph definition relative to topsrcdir", ) def action_callback(options): @@ -743,7 +743,7 @@ def action_callback(options): @argument( "--root", "-r", - default="taskcluster/ci", + default="taskcluster", help="root of the taskgraph definition relative to topsrcdir", ) @argument( diff --git a/taskcluster/gecko_taskgraph/manifests/firefox_candidates.yml b/taskcluster/gecko_taskgraph/manifests/firefox_candidates.yml index af0ea79aa4..d847b4fcdc 100644 --- a/taskcluster/gecko_taskgraph/manifests/firefox_candidates.yml +++ b/taskcluster/gecko_taskgraph/manifests/firefox_candidates.yml @@ -62,6 +62,8 @@ platform_names: linux64-shippable: 'linux-x86_64' linux64-devedition: 'linux-x86_64' linux64-asan-reporter-shippable: 'linux-x86_64-asan-reporter' + linux64-aarch64-shippable: 'linux-aarch64' + linux64-aarch64-devedition: 'linux-aarch64' macosx64-shippable: 'mac' macosx64-devedition: 'mac' win32-shippable: 'win32' @@ -78,6 +80,8 @@ platform_names: linux64-shippable: 'linux64' linux64-devedition: 'linux64-devedition' linux64-asan-reporter-shippable: 'linux-x86_64-asan-reporter' + linux64-aarch64-shippable: 'linux64-aarch64' + linux64-aarch64-devedition: 'linux64-aarch64-devedition' macosx64-shippable: 'macosx64' macosx64-devedition: 'macosx64-devedition' win32-shippable: 'win32' @@ -94,6 +98,8 @@ platform_names: linux64-shippable: 'linux64' linux64-devedition: 'linux64' linux64-asan-reporter-shippable: 'linux-x86_64-asan-reporter' + linux64-aarch64-shippable: 'linux64-aarch64' + linux64-aarch64-devedition: 'linux64-aarch64' macosx64-shippable: 'macosx64' macosx64-devedition: 'macosx64' win32-shippable: 'win32' diff --git a/taskcluster/gecko_taskgraph/manifests/firefox_candidates_checksums.yml b/taskcluster/gecko_taskgraph/manifests/firefox_candidates_checksums.yml index 43ba4cbf15..7ca17662e2 100644 --- a/taskcluster/gecko_taskgraph/manifests/firefox_candidates_checksums.yml +++ b/taskcluster/gecko_taskgraph/manifests/firefox_candidates_checksums.yml @@ -51,6 +51,8 @@ platform_names: linux64-shippable: 'linux-x86_64' linux64-devedition: 'linux-x86_64' linux64-asan-reporter-shippable: 'linux-x86_64-asan-reporter' + linux64-aarch64-shippable: 'linux-aarch64' + linux64-aarch64-devedition: 'linux-aarch64' macosx64-shippable: 'mac' macosx64-devedition: 'mac' win32-shippable: 'win32' diff --git a/taskcluster/gecko_taskgraph/manifests/firefox_nightly.yml b/taskcluster/gecko_taskgraph/manifests/firefox_nightly.yml index 421caba08f..60c39e7c53 100644 --- a/taskcluster/gecko_taskgraph/manifests/firefox_nightly.yml +++ b/taskcluster/gecko_taskgraph/manifests/firefox_nightly.yml @@ -57,6 +57,8 @@ platform_names: linux-devedition: 'linux-i686' linux64-shippable: 'linux-x86_64' linux64-devedition: 'linux-x86_64' + linux64-aarch64-shippable: 'linux-aarch64' + linux64-aarch64-devedition: 'linux-aarch64' linux64-asan-reporter-shippable: 'linux-x86_64-asan-reporter' macosx64-shippable: 'mac' macosx64-devedition: 'mac' @@ -74,6 +76,8 @@ platform_names: linux64-asan-reporter-shippable: 'linux64-asan-reporter' linux64-shippable: 'linux64' linux64-devedition: 'linux64' + linux64-aarch64-shippable: 'linux64-aarch64' + linux64-aarch64-devedition: 'linux64-aarch64' macosx64-shippable: 'macosx64' macosx64-devedition: 'macosx64' win32-shippable: 'win32' @@ -127,19 +131,10 @@ mapping: checksums_path: KEY only_for_platforms: - linux64-shippable + - linux64-aarch64-shippable destinations: - ${year}/${month}/${upload_date}-${branch} - latest-${branch} - target.common.tests.tar.gz: - <<: *default - description: "Mixture of reftests, mochitests, UI and others, commonly bundled together in a test suite" - pretty_name: firefox-${version}.${locale}.${filename_platform}.common.tests.tar.gz - checksums_path: firefox-${version}.${locale}.${filename_platform}.common.tests.tar.gz - target.cppunittest.tests.tar.gz: - <<: *default - description: "C++ unittests related in-tree test infrastructure" - pretty_name: firefox-${version}.${locale}.${filename_platform}.cppunittest.tests.tar.gz - checksums_path: firefox-${version}.${locale}.${filename_platform}.cppunittest.tests.tar.gz target.crashreporter-symbols.zip: <<: *default description: "Crashreporter symbols to be consumed by Socorro" @@ -153,51 +148,16 @@ mapping: description: "Various compile and moz_app flags baked together in a json file" pretty_name: firefox-${version}.${locale}.${filename_platform}.json checksums_path: firefox-${version}.${locale}.${filename_platform}.json - target.mochitest.tests.tar.gz: - <<: *default - description: "Results for running the mochitest testing framework via Javascript function calls" - pretty_name: firefox-${version}.${locale}.${filename_platform}.mochitest.tests.tar.gz - checksums_path: firefox-${version}.${locale}.${filename_platform}.mochitest.tests.tar.gz target.mozinfo.json: <<: *default description: "Various compile and moz_app flags baked together in a json file" pretty_name: firefox-${version}.${locale}.${filename_platform}.mozinfo.json checksums_path: firefox-${version}.${locale}.${filename_platform}.mozinfo.json - target.reftest.tests.tar.gz: - <<: *default - description: "Results for running the reftest testing framework via display of two Web pages comparison" - pretty_name: firefox-${version}.${locale}.${filename_platform}.reftest.tests.tar.gz - checksums_path: firefox-${version}.${locale}.${filename_platform}.reftest.tests.tar.gz - target.talos.tests.tar.gz: - <<: *default - description: "Results for running the talos testing framework to measure performance" - pretty_name: firefox-${version}.${locale}.${filename_platform}.talos.tests.tar.gz - checksums_path: firefox-${version}.${locale}.${filename_platform}.talos.tests.tar.gz - target.awsy.tests.tar.gz: - <<: *default - description: "Results for running the awsy testing framework to track memory usage" - pretty_name: firefox-${version}.${locale}.${filename_platform}.awsy.tests.tar.gz - checksums_path: firefox-${version}.${locale}.${filename_platform}.awsy.tests.tar.gz - target.test_packages.json: - <<: *default - description: "File containing metadata about all other files and testing harnesses specifics" - pretty_name: firefox-${version}.${locale}.${filename_platform}.test_packages.json - checksums_path: firefox-${version}.${locale}.${filename_platform}.test_packages.json target.txt: <<: *default description: "File containing buildid and revision" pretty_name: firefox-${version}.${locale}.${filename_platform}.txt checksums_path: firefox-${version}.${locale}.${filename_platform}.txt - target.web-platform.tests.tar.gz: - <<: *default - description: "Results for running the webplatform testing framework to cover standard Web platform features" - pretty_name: firefox-${version}.${locale}.${filename_platform}.web-platform.tests.tar.gz - checksums_path: firefox-${version}.${locale}.${filename_platform}.web-platform.tests.tar.gz - target.xpcshell.tests.tar.gz: - <<: *default - description: "Results for running the xpcshell testing framework to enable XPConnect console application" - pretty_name: firefox-${version}.${locale}.${filename_platform}.xpcshell.tests.tar.gz - checksums_path: firefox-${version}.${locale}.${filename_platform}.xpcshell.tests.tar.gz target_info.txt: <<: *default description: "File containing the buildID" @@ -226,6 +186,7 @@ mapping: only_for_platforms: - linux-shippable - linux64-shippable + - linux64-aarch64-shippable - macosx64-shippable - win64-shippable - win32-shippable @@ -252,6 +213,8 @@ mapping: only_for_platforms: - linux-shippable - linux64-shippable + - linux64-aarch64-shippable + - linux64-aarch64-devedition - linux-devedition - linux64-devedition pretty_name: firefox-${version}.${locale}.langpack.deb @@ -301,6 +264,7 @@ mapping: only_for_platforms: - linux-shippable - linux64-shippable + - linux64-aarch64-shippable - linux64-asan-reporter-shippable pretty_name: firefox-${version}.${locale}.${filename_platform}.tar.bz2 checksums_path: firefox-${version}.${locale}.${filename_platform}.tar.bz2 @@ -322,6 +286,7 @@ mapping: only_for_platforms: - linux-shippable - linux64-shippable + - linux64-aarch64-shippable - linux64-asan-reporter-shippable pretty_name: firefox-${version}.${locale}.${filename_platform}.tar.bz2.asc checksums_path: firefox-${version}.${locale}.${filename_platform}.tar.bz2.asc @@ -499,6 +464,7 @@ mapping: only_for_platforms: - linux-shippable - linux64-shippable + - linux64-aarch64-shippable pretty_name: firefox-${version}.${locale}.${filename_platform}.deb checksums_path: firefox-${version}.${locale}.${filename_platform}.deb update_balrog_manifest: false diff --git a/taskcluster/gecko_taskgraph/manifests/firefox_nightly_checksums.yml b/taskcluster/gecko_taskgraph/manifests/firefox_nightly_checksums.yml index f1b81572ab..caa31f556e 100644 --- a/taskcluster/gecko_taskgraph/manifests/firefox_nightly_checksums.yml +++ b/taskcluster/gecko_taskgraph/manifests/firefox_nightly_checksums.yml @@ -18,6 +18,8 @@ platform_names: linux-shippable: 'linux-i686' linux-devedition: 'linux-i686' linux64-shippable: 'linux-x86_64' + linux64-aarch64-shippable: 'linux-aarch64' + linux64-aarch64-devedition: 'linux-aarch64' linux64-devedition: 'linux-x86_64' linux64-asan-reporter-shippable: 'linux-x86_64-asan-reporter' macosx64-shippable: 'mac' diff --git a/taskcluster/gecko_taskgraph/optimize/mozlint.py b/taskcluster/gecko_taskgraph/optimize/mozlint.py new file mode 100644 index 0000000000..0fe42ea70d --- /dev/null +++ b/taskcluster/gecko_taskgraph/optimize/mozlint.py @@ -0,0 +1,96 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +import logging +from pathlib import Path +from typing import List, Union + +from mozlint.parser import Parser +from mozlint.pathutils import filterpaths +from taskgraph.optimize.base import OptimizationStrategy +from taskgraph.util.path import match as match_path + +from gecko_taskgraph import GECKO + +logger = logging.getLogger(__name__) + + +class TGMozlintParser(Parser): + """ + Mozlint Parser that skips validation. This is needed because decision + tasks use sparse clones and the files themselves are not present. + """ + + def _validate(self, linter): + pass + + +class SkipUnlessMozlint(OptimizationStrategy): + """ + Optimization strategy for mozlint tests. + + Uses the mozlint YAML file for each test to determine whether or not a test + should run. + + Using: + - The optimization relies on having `files_changed` set in the decision task + parameters. + - Register with register_strategy. The argument is the path to MozLint YAML + configuration files ("/tools/lint" for mozilla-central): + - In source-test/mozlint.yml, set the optimization strategy for each job by filename: + - For Mozlint jobs that run multiple linters at once use a list of filenames: + """ + + def __init__(self, linters_path: str): + self.mozlint_parser = TGMozlintParser(GECKO) + self.linters_path = Path(GECKO) / linters_path + + def should_remove_task( + self, task, params, mozlint_confs: Union[str, List[str]] + ) -> bool: + include = [] + exclude = [] + extensions = [] + exclude_extensions = [] + support_files = ["python/mozlint/**", "tools/lint/**"] + + files_changed = params["files_changed"] + + if isinstance(mozlint_confs, str): + mozlint_confs = [mozlint_confs] + + for mozlint_conf in mozlint_confs: + mozlint_yaml = str(self.linters_path / mozlint_conf) + logger.info(f"Loading file patterns for {task.label} from {mozlint_yaml}.") + linter_config = self.mozlint_parser(mozlint_yaml) + + for config in linter_config: + include += config.get("include", []) + exclude += config.get("exclude", []) + extensions += [e.strip(".") for e in config.get("extensions", [])] + exclude_extensions += [ + e.strip(".") for e in config.get("exclude_extensions", []) + ] + support_files += config.get("support-files", []) + + # Support files may not be part of "include" patterns, so check first + # Do not remove (return False) if any changed + for pattern in set(support_files): + for path in files_changed: + if match_path(path, pattern): + return False + + to_lint, to_exclude = filterpaths( + GECKO, + list(files_changed), + include=include, + exclude=exclude, + extensions=extensions, + exclude_extensions=exclude_extensions, + ) + + # to_lint should be an empty list if there is nothing to check + if not to_lint: + return True + return False diff --git a/taskcluster/gecko_taskgraph/optimize/schema.py b/taskcluster/gecko_taskgraph/optimize/schema.py index a7f878cf60..a348fb177c 100644 --- a/taskcluster/gecko_taskgraph/optimize/schema.py +++ b/taskcluster/gecko_taskgraph/optimize/schema.py @@ -39,6 +39,8 @@ default_optimizations = ( {"upload-symbols": None}, # optimize strategy alias for reprocess-symbols tasks {"reprocess-symbols": None}, + # optimization strategy for mozlint tests + {"skip-unless-mozlint": voluptuous.Any(str, [str])}, ) OptimizationSchema = voluptuous.Any(*default_optimizations) diff --git a/taskcluster/gecko_taskgraph/optimize/strategies.py b/taskcluster/gecko_taskgraph/optimize/strategies.py index ffc395385b..f1ade38672 100644 --- a/taskcluster/gecko_taskgraph/optimize/strategies.py +++ b/taskcluster/gecko_taskgraph/optimize/strategies.py @@ -11,6 +11,8 @@ from mozbuild.util import memoize from taskgraph.optimize.base import OptimizationStrategy, register_strategy from taskgraph.util.path import match as match_path +from gecko_taskgraph.optimize.mozlint import SkipUnlessMozlint + logger = logging.getLogger(__name__) @@ -100,3 +102,6 @@ class SkipUnlessChanged(OptimizationStrategy): ) return True return False + + +register_strategy("skip-unless-mozlint", args=("tools/lint",))(SkipUnlessMozlint) diff --git a/taskcluster/gecko_taskgraph/target_tasks.py b/taskcluster/gecko_taskgraph/target_tasks.py index e004cfb3e2..5469f9eb0d 100644 --- a/taskcluster/gecko_taskgraph/target_tasks.py +++ b/taskcluster/gecko_taskgraph/target_tasks.py @@ -11,7 +11,7 @@ from datetime import datetime, timedelta from redo import retry from taskgraph.parameters import Parameters -from taskgraph.target_tasks import _target_task, get_method +from taskgraph.target_tasks import get_method, register_target_task from taskgraph.util.taskcluster import find_task_id from gecko_taskgraph import GECKO, try_option_syntax @@ -43,7 +43,7 @@ UNCOMMON_TRY_TASK_LABELS = [ r"linux-", # hide all linux32 tasks by default - bug 1599197 r"linux1804-32", # hide linux32 tests - bug 1599197 # Test tasks - r"web-platform-tests.*backlog", # hide wpt jobs that are not implemented yet - bug 1572820 + r"web-platform-tests(?!-webgpu).*backlog", # hide wpt jobs that are not implemented yet - bug 1572820 r"-ccov", r"-profiling-", # talos/raptor profiling jobs are run too often r"-32-.*-webgpu", # webgpu gets little benefit from these tests. @@ -396,7 +396,7 @@ def _try_option_syntax(full_task_graph, parameters, graph_config): return target_tasks_labels -@_target_task("try_tasks") +@register_target_task("try_tasks") def target_tasks_try(full_task_graph, parameters, graph_config): try_mode = parameters["try_mode"] if try_mode == "try_task_config": @@ -408,13 +408,13 @@ def target_tasks_try(full_task_graph, parameters, graph_config): return [] -@_target_task("try_select_tasks") +@register_target_task("try_select_tasks") def target_tasks_try_select(full_task_graph, parameters, graph_config): tasks = target_tasks_try_select_uncommon(full_task_graph, parameters, graph_config) return [l for l in tasks if filter_by_uncommon_try_tasks(l)] -@_target_task("try_select_tasks_uncommon") +@register_target_task("try_select_tasks_uncommon") def target_tasks_try_select_uncommon(full_task_graph, parameters, graph_config): from gecko_taskgraph.decision import PER_PROJECT_PARAMETERS @@ -440,7 +440,7 @@ def target_tasks_try_select_uncommon(full_task_graph, parameters, graph_config): return sorted(tasks) -@_target_task("try_auto") +@register_target_task("try_auto") def target_tasks_try_auto(full_task_graph, parameters, graph_config): """Target the tasks which have indicated they should be run on autoland (rather than try) via the `run_on_projects` attributes. @@ -471,7 +471,7 @@ def target_tasks_try_auto(full_task_graph, parameters, graph_config): ] -@_target_task("default") +@register_target_task("default") def target_tasks_default(full_task_graph, parameters, graph_config): """Target the tasks which have indicated they should be run on this project via the `run_on_projects` attributes.""" @@ -484,7 +484,7 @@ def target_tasks_default(full_task_graph, parameters, graph_config): ] -@_target_task("autoland_tasks") +@register_target_task("autoland_tasks") def target_tasks_autoland(full_task_graph, parameters, graph_config): """In addition to doing the filtering by project that the 'default' filter does, also remove any tests running against shippable builds @@ -510,7 +510,7 @@ def target_tasks_autoland(full_task_graph, parameters, graph_config): return [l for l in filtered_for_project if filter(full_task_graph[l])] -@_target_task("mozilla_central_tasks") +@register_target_task("mozilla_central_tasks") def target_tasks_mozilla_central(full_task_graph, parameters, graph_config): """In addition to doing the filtering by project that the 'default' filter does, also remove any tests running against regular (aka not shippable, @@ -550,7 +550,7 @@ def target_tasks_mozilla_central(full_task_graph, parameters, graph_config): return [l for l in filtered_for_project if filter(full_task_graph[l])] -@_target_task("graphics_tasks") +@register_target_task("graphics_tasks") def target_tasks_graphics(full_task_graph, parameters, graph_config): """In addition to doing the filtering by project that the 'default' filter does, also remove artifact builds because we have csets on @@ -568,7 +568,7 @@ def target_tasks_graphics(full_task_graph, parameters, graph_config): return [l for l in filtered_for_project if filter(full_task_graph[l])] -@_target_task("mozilla_beta_tasks") +@register_target_task("mozilla_beta_tasks") def target_tasks_mozilla_beta(full_task_graph, parameters, graph_config): """Select the set of tasks required for a promotable beta or release build of desktop, plus android CI. The candidates build process involves a pipeline @@ -581,7 +581,7 @@ def target_tasks_mozilla_beta(full_task_graph, parameters, graph_config): ] -@_target_task("mozilla_release_tasks") +@register_target_task("mozilla_release_tasks") def target_tasks_mozilla_release(full_task_graph, parameters, graph_config): """Select the set of tasks required for a promotable beta or release build of desktop, plus android CI. The candidates build process involves a pipeline @@ -594,7 +594,7 @@ def target_tasks_mozilla_release(full_task_graph, parameters, graph_config): ] -@_target_task("mozilla_esr115_tasks") +@register_target_task("mozilla_esr115_tasks") def target_tasks_mozilla_esr115(full_task_graph, parameters, graph_config): """Select the set of tasks required for a promotable beta or release build of desktop, without android CI. The candidates build process involves a pipeline @@ -618,7 +618,7 @@ def target_tasks_mozilla_esr115(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t)] -@_target_task("promote_desktop") +@register_target_task("promote_desktop") def target_tasks_promote_desktop(full_task_graph, parameters, graph_config): """Select the superset of tasks required to promote a beta or release build of a desktop product. This should include all non-android @@ -642,7 +642,7 @@ def target_tasks_promote_desktop(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t)] -@_target_task("push_desktop") +@register_target_task("push_desktop") def target_tasks_push_desktop(full_task_graph, parameters, graph_config): """Select the set of tasks required to push a build of desktop to cdns. Previous build deps will be optimized out via action task.""" @@ -668,7 +668,7 @@ def target_tasks_push_desktop(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t)] -@_target_task("ship_desktop") +@register_target_task("ship_desktop") def target_tasks_ship_desktop(full_task_graph, parameters, graph_config): """Select the set of tasks required to ship desktop. Previous build deps will be optimized out via action task.""" @@ -709,7 +709,7 @@ def target_tasks_ship_desktop(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t)] -@_target_task("pine_tasks") +@register_target_task("pine_tasks") def target_tasks_pine(full_task_graph, parameters, graph_config): """Bug 1879960 - no reftests or wpt needed""" filtered_for_project = target_tasks_default( @@ -717,6 +717,8 @@ def target_tasks_pine(full_task_graph, parameters, graph_config): ) def filter(task): + if "android" in task.attributes.get("build_platform", ""): + return False suite = task.attributes.get("unittest_suite", "") if "reftest" in suite or "web-platform" in suite: return False @@ -725,7 +727,7 @@ def target_tasks_pine(full_task_graph, parameters, graph_config): return [l for l in filtered_for_project if filter(full_task_graph[l])] -@_target_task("larch_tasks") +@register_target_task("larch_tasks") def target_tasks_larch(full_task_graph, parameters, graph_config): """Bug 1879213 - only run necessary tasks on larch""" filtered_for_project = target_tasks_default( @@ -749,7 +751,7 @@ def target_tasks_larch(full_task_graph, parameters, graph_config): return [l for l in filtered_for_project if filter(full_task_graph[l])] -@_target_task("kaios_tasks") +@register_target_task("kaios_tasks") def target_tasks_kaios(full_task_graph, parameters, graph_config): """The set of tasks to run for kaios integration""" @@ -760,7 +762,7 @@ def target_tasks_kaios(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t)] -@_target_task("custom-car_perf_testing") +@register_target_task("custom-car_perf_testing") def target_tasks_custom_car_perf_testing(full_task_graph, parameters, graph_config): """Select tasks required for running daily performance tests for custom chromium-as-release.""" @@ -787,7 +789,7 @@ def target_tasks_custom_car_perf_testing(full_task_graph, parameters, graph_conf return [l for l, t in full_task_graph.tasks.items() if filter(t)] -@_target_task("general_perf_testing") +@register_target_task("general_perf_testing") def target_tasks_general_perf_testing(full_task_graph, parameters, graph_config): """ Select tasks required for running performance tests 3 times a week. @@ -910,7 +912,7 @@ def make_desktop_nightly_filter(platforms): return filter -@_target_task("sp-perftests") +@register_target_task("sp-perftests") def target_tasks_speedometer_tests(full_task_graph, parameters, graph_config): def filter(task): platform = task.attributes.get("test_platform") @@ -934,7 +936,7 @@ def target_tasks_speedometer_tests(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t)] -@_target_task("nightly_linux") +@register_target_task("nightly_linux") def target_tasks_nightly_linux(full_task_graph, parameters, graph_config): """Select the set of tasks required for a nightly build of linux. The nightly build process involves a pipeline of builds, signing, @@ -945,7 +947,7 @@ def target_tasks_nightly_linux(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t, parameters)] -@_target_task("nightly_macosx") +@register_target_task("nightly_macosx") def target_tasks_nightly_macosx(full_task_graph, parameters, graph_config): """Select the set of tasks required for a nightly build of macosx. The nightly build process involves a pipeline of builds, signing, @@ -954,7 +956,7 @@ def target_tasks_nightly_macosx(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t, parameters)] -@_target_task("nightly_win32") +@register_target_task("nightly_win32") def target_tasks_nightly_win32(full_task_graph, parameters, graph_config): """Select the set of tasks required for a nightly build of win32 and win64. The nightly build process involves a pipeline of builds, signing, @@ -963,7 +965,7 @@ def target_tasks_nightly_win32(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t, parameters)] -@_target_task("nightly_win64") +@register_target_task("nightly_win64") def target_tasks_nightly_win64(full_task_graph, parameters, graph_config): """Select the set of tasks required for a nightly build of win32 and win64. The nightly build process involves a pipeline of builds, signing, @@ -972,7 +974,7 @@ def target_tasks_nightly_win64(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t, parameters)] -@_target_task("nightly_win64_aarch64") +@register_target_task("nightly_win64_aarch64") def target_tasks_nightly_win64_aarch64(full_task_graph, parameters, graph_config): """Select the set of tasks required for a nightly build of win32 and win64. The nightly build process involves a pipeline of builds, signing, @@ -981,7 +983,7 @@ def target_tasks_nightly_win64_aarch64(full_task_graph, parameters, graph_config return [l for l, t in full_task_graph.tasks.items() if filter(t, parameters)] -@_target_task("nightly_asan") +@register_target_task("nightly_asan") def target_tasks_nightly_asan(full_task_graph, parameters, graph_config): """Select the set of tasks required for a nightly build of asan. The nightly build process involves a pipeline of builds, signing, @@ -992,7 +994,7 @@ def target_tasks_nightly_asan(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t, parameters)] -@_target_task("daily_releases") +@register_target_task("daily_releases") def target_tasks_daily_releases(full_task_graph, parameters, graph_config): """Select the set of tasks required to identify if we should release. If we determine that we should the task will communicate to ship-it to @@ -1004,7 +1006,7 @@ def target_tasks_daily_releases(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t)] -@_target_task("nightly_desktop") +@register_target_task("nightly_desktop") def target_tasks_nightly_desktop(full_task_graph, parameters, graph_config): """Select the set of tasks required for a nightly build of linux, mac, windows.""" @@ -1042,7 +1044,7 @@ def target_tasks_nightly_desktop(full_task_graph, parameters, graph_config): ) -@_target_task("nightly_all") +@register_target_task("nightly_all") def target_tasks_nightly_all(full_task_graph, parameters, graph_config): """Select the set of tasks required for a nightly build of firefox desktop and android""" index_path = ( @@ -1065,7 +1067,7 @@ def target_tasks_nightly_all(full_task_graph, parameters, graph_config): # Run Searchfox analysis once daily. -@_target_task("searchfox_index") +@register_target_task("searchfox_index") def target_tasks_searchfox(full_task_graph, parameters, graph_config): """Select tasks required for indexing Firefox for Searchfox web site each day""" return [ @@ -1081,7 +1083,7 @@ def target_tasks_searchfox(full_task_graph, parameters, graph_config): # Run build linux64-plain-clang-trunk/opt on mozilla-central/beta with perf tests -@_target_task("linux64_clang_trunk_perf") +@register_target_task("linux64_clang_trunk_perf") def target_tasks_build_linux64_clang_trunk_perf( full_task_graph, parameters, graph_config ): @@ -1097,19 +1099,19 @@ def target_tasks_build_linux64_clang_trunk_perf( # Run Updatebot's cron job 4 times daily. -@_target_task("updatebot_cron") +@register_target_task("updatebot_cron") def target_tasks_updatebot_cron(full_task_graph, parameters, graph_config): """Select tasks required to run Updatebot's cron job""" return ["updatebot-cron"] -@_target_task("customv8_update") +@register_target_task("customv8_update") def target_tasks_customv8_update(full_task_graph, parameters, graph_config): """Select tasks required for building latest d8/v8 version.""" return ["toolchain-linux64-custom-v8"] -@_target_task("file_update") +@register_target_task("file_update") def target_tasks_file_update(full_task_graph, parameters, graph_config): """Select the set of tasks required to perform nightly in-tree file updates""" @@ -1120,7 +1122,7 @@ def target_tasks_file_update(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t)] -@_target_task("l10n_bump") +@register_target_task("l10n_bump") def target_tasks_l10n_bump(full_task_graph, parameters, graph_config): """Select the set of tasks required to perform l10n bumping.""" @@ -1131,7 +1133,7 @@ def target_tasks_l10n_bump(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t)] -@_target_task("merge_automation") +@register_target_task("merge_automation") def target_tasks_merge_automation(full_task_graph, parameters, graph_config): """Select the set of tasks required to perform repository merges.""" @@ -1142,7 +1144,7 @@ def target_tasks_merge_automation(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t)] -@_target_task("scriptworker_canary") +@register_target_task("scriptworker_canary") def target_tasks_scriptworker_canary(full_task_graph, parameters, graph_config): """Select the set of tasks required to run scriptworker canaries.""" @@ -1153,7 +1155,7 @@ def target_tasks_scriptworker_canary(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t)] -@_target_task("cron_bouncer_check") +@register_target_task("cron_bouncer_check") def target_tasks_bouncer_check(full_task_graph, parameters, graph_config): """Select the set of tasks required to perform bouncer version verification.""" @@ -1166,7 +1168,7 @@ def target_tasks_bouncer_check(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t)] -@_target_task("staging_release_builds") +@register_target_task("staging_release_builds") def target_tasks_staging_release(full_task_graph, parameters, graph_config): """ Select all builds that are part of releases. @@ -1190,7 +1192,7 @@ def target_tasks_staging_release(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t)] -@_target_task("release_simulation") +@register_target_task("release_simulation") def target_tasks_release_simulation(full_task_graph, parameters, graph_config): """ Select builds that would run on push on a release branch. @@ -1227,7 +1229,7 @@ def target_tasks_release_simulation(full_task_graph, parameters, graph_config): ] -@_target_task("codereview") +@register_target_task("codereview") def target_tasks_codereview(full_task_graph, parameters, graph_config): """Select all code review tasks needed to produce a report""" @@ -1245,13 +1247,13 @@ def target_tasks_codereview(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t)] -@_target_task("nothing") +@register_target_task("nothing") def target_tasks_nothing(full_task_graph, parameters, graph_config): """Select nothing, for DONTBUILD pushes""" return [] -@_target_task("daily_beta_perf") +@register_target_task("daily_beta_perf") def target_tasks_daily_beta_perf(full_task_graph, parameters, graph_config): """ Select performance tests on the beta branch to be run daily @@ -1353,7 +1355,7 @@ def target_tasks_daily_beta_perf(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t)] -@_target_task("weekly_release_perf") +@register_target_task("weekly_release_perf") def target_tasks_weekly_release_perf(full_task_graph, parameters, graph_config): """ Select performance tests on the release branch to be run weekly @@ -1421,7 +1423,7 @@ def target_tasks_weekly_release_perf(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t)] -@_target_task("raptor_tp6m") +@register_target_task("raptor_tp6m") def target_tasks_raptor_tp6m(full_task_graph, parameters, graph_config): """ Select tasks required for running raptor cold page-load tests on fenix and refbrow @@ -1448,7 +1450,7 @@ def target_tasks_raptor_tp6m(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t)] -@_target_task("backfill_all_browsertime") +@register_target_task("backfill_all_browsertime") def target_tasks_backfill_all_browsertime(full_task_graph, parameters, graph_config): """ Search for revisions that contains patches that were reviewed by perftest reviewers @@ -1516,7 +1518,7 @@ def target_tasks_backfill_all_browsertime(full_task_graph, parameters, graph_con return [] -@_target_task("condprof") +@register_target_task("condprof") def target_tasks_condprof(full_task_graph, parameters, graph_config): """ Select tasks required for building conditioned profiles. @@ -1527,7 +1529,7 @@ def target_tasks_condprof(full_task_graph, parameters, graph_config): yield name -@_target_task("system_symbols") +@register_target_task("system_symbols") def target_tasks_system_symbols(full_task_graph, parameters, graph_config): """ Select tasks for scraping and uploading system symbols. @@ -1541,7 +1543,7 @@ def target_tasks_system_symbols(full_task_graph, parameters, graph_config): yield name -@_target_task("perftest") +@register_target_task("perftest") def target_tasks_perftest(full_task_graph, parameters, graph_config): """ Select perftest tasks we want to run daily @@ -1553,7 +1555,7 @@ def target_tasks_perftest(full_task_graph, parameters, graph_config): yield name -@_target_task("perftest-on-autoland") +@register_target_task("perftest-on-autoland") def target_tasks_perftest_autoland(full_task_graph, parameters, graph_config): """ Select perftest tasks we want to run daily @@ -1567,7 +1569,7 @@ def target_tasks_perftest_autoland(full_task_graph, parameters, graph_config): yield name -@_target_task("l10n-cross-channel") +@register_target_task("l10n-cross-channel") def target_tasks_l10n_cross_channel(full_task_graph, parameters, graph_config): """Select the set of tasks required to run l10n cross-channel.""" @@ -1577,7 +1579,7 @@ def target_tasks_l10n_cross_channel(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t)] -@_target_task("eslint-build") +@register_target_task("eslint-build") def target_tasks_eslint_build(full_task_graph, parameters, graph_config): """Select the task to run additional ESLint rules which require a build.""" @@ -1588,7 +1590,7 @@ def target_tasks_eslint_build(full_task_graph, parameters, graph_config): yield name -@_target_task("holly_tasks") +@register_target_task("holly_tasks") def target_tasks_holly(full_task_graph, parameters, graph_config): """Bug 1814661: only run updatebot tasks on holly""" @@ -1598,7 +1600,7 @@ def target_tasks_holly(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t)] -@_target_task("snap_upstream_tests") +@register_target_task("snap_upstream_tests") def target_tasks_snap_upstream_tests(full_task_graph, parameters, graph_config): """ Select tasks for testing Snap package built as upstream. Omit -try because @@ -1609,7 +1611,7 @@ def target_tasks_snap_upstream_tests(full_task_graph, parameters, graph_config): yield name -@_target_task("nightly-android") +@register_target_task("nightly-android") def target_tasks_nightly_android(full_task_graph, parameters, graph_config): def filter(task, parameters): # geckoview @@ -1645,11 +1647,11 @@ def target_tasks_nightly_android(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t, parameters)] -@_target_task("android-l10n-import") +@register_target_task("android-l10n-import") def target_tasks_android_l10n_import(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if l == "android-l10n-import"] -@_target_task("android-l10n-sync") +@register_target_task("android-l10n-sync") def target_tasks_android_l10n_sync(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if l == "android-l10n-sync"] diff --git a/taskcluster/gecko_taskgraph/test/automationrelevance.json b/taskcluster/gecko_taskgraph/test/automationrelevance.json deleted file mode 100644 index 3bdfa9ed9e..0000000000 --- a/taskcluster/gecko_taskgraph/test/automationrelevance.json +++ /dev/null @@ -1,358 +0,0 @@ -{ - "changesets": [ - { - "author": "James Long <longster@gmail.com>", - "backsoutnodes": [], - "bugs": [ - { - "no": "1300866", - "url": "https://bugzilla.mozilla.org/show_bug.cgi?id=1300866" - } - ], - "date": [1473196655.0, 14400], - "desc": "Bug 1300866 - expose devtools require to new debugger r=jlast,bgrins", - "extra": { - "branch": "default" - }, - "files": ["devtools/client/debugger/index.html"], - "node": "ae2144aa4356b65c2f8c0de8c9082dcb7e330e24", - "parents": ["37c9349b4e8167a61b08b7e119c21ea177b98942"], - "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&originalRevision=a14f88a9af7a59e677478694bafd9375ac53683e&newProject=mozilla-central&newRevision=ae2144aa4356b65c2f8c0de8c9082dcb7e330e24", - "pushdate": [1473261248, 0], - "pushhead": "a14f88a9af7a59e677478694bafd9375ac53683e", - "pushid": 30664, - "pushnodes": [ - "ae2144aa4356b65c2f8c0de8c9082dcb7e330e24", - "73a6a267a50a0e1c41e689b265ad3eebe43d7ac6", - "16a1a91f9269ab95dd83eb29dc5d0227665f7d94", - "99c542fa43a72ee863c813b5624048d1b443549b", - "a6b6a93eb41a05e310a11f0172f01ba9b21d3eac", - "541c9086c0f27fba60beecc9bc94543103895c86", - "041a925171e431bf51fb50193ab19d156088c89a", - "a14f88a9af7a59e677478694bafd9375ac53683e" - ], - "pushuser": "cbook@mozilla.com", - "rev": 312890, - "reviewers": [ - { - "name": "jlast", - "revset": "reviewer(jlast)" - }, - { - "name": "bgrins", - "revset": "reviewer(bgrins)" - } - ], - "treeherderrepo": "mozilla-central", - "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=mozilla-central" - }, - { - "author": "Wes Kocher <wkocher@mozilla.com>", - "backsoutnodes": [], - "bugs": [], - "date": [1473208638.0, 25200], - "desc": "Merge m-c to fx-team, a=merge", - "extra": { - "branch": "default" - }, - "files": ["taskcluster/scripts/builder/build-l10n.sh"], - "node": "73a6a267a50a0e1c41e689b265ad3eebe43d7ac6", - "parents": [ - "ae2144aa4356b65c2f8c0de8c9082dcb7e330e24", - "91c2b9d5c1354ca79e5b174591dbb03b32b15bbf" - ], - "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&originalRevision=a14f88a9af7a59e677478694bafd9375ac53683e&newProject=mozilla-central&newRevision=ae2144aa4356b65c2f8c0de8c9082dcb7e330e24", - "pushdate": [1473261248, 0], - "pushhead": "a14f88a9af7a59e677478694bafd9375ac53683e", - "pushid": 30664, - "pushnodes": [ - "ae2144aa4356b65c2f8c0de8c9082dcb7e330e24", - "73a6a267a50a0e1c41e689b265ad3eebe43d7ac6", - "16a1a91f9269ab95dd83eb29dc5d0227665f7d94", - "99c542fa43a72ee863c813b5624048d1b443549b", - "a6b6a93eb41a05e310a11f0172f01ba9b21d3eac", - "541c9086c0f27fba60beecc9bc94543103895c86", - "041a925171e431bf51fb50193ab19d156088c89a", - "a14f88a9af7a59e677478694bafd9375ac53683e" - ], - "pushuser": "cbook@mozilla.com", - "rev": 312891, - "reviewers": [ - { - "name": "merge", - "revset": "reviewer(merge)" - } - ], - "treeherderrepo": "mozilla-central", - "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=mozilla-central" - }, - { - "author": "Towkir Ahmed <towkir17@gmail.com>", - "backsoutnodes": [], - "bugs": [ - { - "no": "1296648", - "url": "https://bugzilla.mozilla.org/show_bug.cgi?id=1296648" - } - ], - "date": [1472957580.0, 14400], - "desc": "Bug 1296648 - Fix direction of .ruleview-expander.theme-twisty in RTL locales. r=ntim", - "extra": { - "branch": "default" - }, - "files": ["devtools/client/themes/rules.css"], - "node": "16a1a91f9269ab95dd83eb29dc5d0227665f7d94", - "parents": ["73a6a267a50a0e1c41e689b265ad3eebe43d7ac6"], - "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&originalRevision=a14f88a9af7a59e677478694bafd9375ac53683e&newProject=mozilla-central&newRevision=ae2144aa4356b65c2f8c0de8c9082dcb7e330e24", - "pushdate": [1473261248, 0], - "pushhead": "a14f88a9af7a59e677478694bafd9375ac53683e", - "pushid": 30664, - "pushnodes": [ - "ae2144aa4356b65c2f8c0de8c9082dcb7e330e24", - "73a6a267a50a0e1c41e689b265ad3eebe43d7ac6", - "16a1a91f9269ab95dd83eb29dc5d0227665f7d94", - "99c542fa43a72ee863c813b5624048d1b443549b", - "a6b6a93eb41a05e310a11f0172f01ba9b21d3eac", - "541c9086c0f27fba60beecc9bc94543103895c86", - "041a925171e431bf51fb50193ab19d156088c89a", - "a14f88a9af7a59e677478694bafd9375ac53683e" - ], - "pushuser": "cbook@mozilla.com", - "rev": 312892, - "reviewers": [ - { - "name": "ntim", - "revset": "reviewer(ntim)" - } - ], - "treeherderrepo": "mozilla-central", - "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=mozilla-central" - }, - { - "author": "Oriol <oriol-bugzilla@hotmail.com>", - "backsoutnodes": [], - "bugs": [ - { - "no": "1300336", - "url": "https://bugzilla.mozilla.org/show_bug.cgi?id=1300336" - } - ], - "date": [1472921160.0, 14400], - "desc": "Bug 1300336 - Allow pseudo-arrays to have a length property. r=fitzgen", - "extra": { - "branch": "default" - }, - "files": [ - "devtools/client/webconsole/test/browser_webconsole_output_06.js", - "devtools/server/actors/object.js" - ], - "node": "99c542fa43a72ee863c813b5624048d1b443549b", - "parents": ["16a1a91f9269ab95dd83eb29dc5d0227665f7d94"], - "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&originalRevision=a14f88a9af7a59e677478694bafd9375ac53683e&newProject=mozilla-central&newRevision=ae2144aa4356b65c2f8c0de8c9082dcb7e330e24", - "pushdate": [1473261248, 0], - "pushhead": "a14f88a9af7a59e677478694bafd9375ac53683e", - "pushid": 30664, - "pushnodes": [ - "ae2144aa4356b65c2f8c0de8c9082dcb7e330e24", - "73a6a267a50a0e1c41e689b265ad3eebe43d7ac6", - "16a1a91f9269ab95dd83eb29dc5d0227665f7d94", - "99c542fa43a72ee863c813b5624048d1b443549b", - "a6b6a93eb41a05e310a11f0172f01ba9b21d3eac", - "541c9086c0f27fba60beecc9bc94543103895c86", - "041a925171e431bf51fb50193ab19d156088c89a", - "a14f88a9af7a59e677478694bafd9375ac53683e" - ], - "pushuser": "cbook@mozilla.com", - "rev": 312893, - "reviewers": [ - { - "name": "fitzgen", - "revset": "reviewer(fitzgen)" - } - ], - "treeherderrepo": "mozilla-central", - "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=mozilla-central" - }, - { - "author": "Ruturaj Vartak <ruturaj@gmail.com>", - "backsoutnodes": [], - "bugs": [ - { - "no": "1295010", - "url": "https://bugzilla.mozilla.org/show_bug.cgi?id=1295010" - } - ], - "date": [1472854020.0, -7200], - "desc": "Bug 1295010 - Don't move the eyedropper to the out of browser window by keyboard navigation. r=pbro\n\nMozReview-Commit-ID: vBwmSxVNXK", - "extra": { - "amend_source": "6885024ef00cfa33d73c59dc03c48ebcda9ccbdd", - "branch": "default", - "histedit_source": "c43167f0a7cbe9f4c733b15da726e5150a9529ba", - "rebase_source": "b74df421630fc46dab6b6cc026bf3e0ae6b4a651" - }, - "files": [ - "devtools/client/inspector/test/browser_inspector_highlighter-eyedropper-events.js", - "devtools/client/inspector/test/head.js", - "devtools/server/actors/highlighters/eye-dropper.js" - ], - "node": "a6b6a93eb41a05e310a11f0172f01ba9b21d3eac", - "parents": ["99c542fa43a72ee863c813b5624048d1b443549b"], - "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&originalRevision=a14f88a9af7a59e677478694bafd9375ac53683e&newProject=mozilla-central&newRevision=ae2144aa4356b65c2f8c0de8c9082dcb7e330e24", - "pushdate": [1473261248, 0], - "pushhead": "a14f88a9af7a59e677478694bafd9375ac53683e", - "pushid": 30664, - "pushnodes": [ - "ae2144aa4356b65c2f8c0de8c9082dcb7e330e24", - "73a6a267a50a0e1c41e689b265ad3eebe43d7ac6", - "16a1a91f9269ab95dd83eb29dc5d0227665f7d94", - "99c542fa43a72ee863c813b5624048d1b443549b", - "a6b6a93eb41a05e310a11f0172f01ba9b21d3eac", - "541c9086c0f27fba60beecc9bc94543103895c86", - "041a925171e431bf51fb50193ab19d156088c89a", - "a14f88a9af7a59e677478694bafd9375ac53683e" - ], - "pushuser": "cbook@mozilla.com", - "rev": 312894, - "reviewers": [ - { - "name": "pbro", - "revset": "reviewer(pbro)" - } - ], - "treeherderrepo": "mozilla-central", - "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=mozilla-central" - }, - { - "author": "Matteo Ferretti <mferretti@mozilla.com>", - "backsoutnodes": [], - "bugs": [ - { - "no": "1299154", - "url": "https://bugzilla.mozilla.org/show_bug.cgi?id=1299154" - } - ], - "date": [1472629906.0, -7200], - "desc": "Bug 1299154 - added Set/GetOverrideDPPX to restorefromHistory; r=mstange\n\nMozReview-Commit-ID: AsyAcG3Igbn\n", - "extra": { - "branch": "default", - "committer": "Matteo Ferretti <mferretti@mozilla.com> 1473236511 -7200" - }, - "files": [ - "docshell/base/nsDocShell.cpp", - "dom/tests/mochitest/general/test_contentViewer_overrideDPPX.html" - ], - "node": "541c9086c0f27fba60beecc9bc94543103895c86", - "parents": ["a6b6a93eb41a05e310a11f0172f01ba9b21d3eac"], - "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&originalRevision=a14f88a9af7a59e677478694bafd9375ac53683e&newProject=mozilla-central&newRevision=ae2144aa4356b65c2f8c0de8c9082dcb7e330e24", - "pushdate": [1473261248, 0], - "pushhead": "a14f88a9af7a59e677478694bafd9375ac53683e", - "pushid": 30664, - "pushnodes": [ - "ae2144aa4356b65c2f8c0de8c9082dcb7e330e24", - "73a6a267a50a0e1c41e689b265ad3eebe43d7ac6", - "16a1a91f9269ab95dd83eb29dc5d0227665f7d94", - "99c542fa43a72ee863c813b5624048d1b443549b", - "a6b6a93eb41a05e310a11f0172f01ba9b21d3eac", - "541c9086c0f27fba60beecc9bc94543103895c86", - "041a925171e431bf51fb50193ab19d156088c89a", - "a14f88a9af7a59e677478694bafd9375ac53683e" - ], - "pushuser": "cbook@mozilla.com", - "rev": 312895, - "reviewers": [ - { - "name": "mstange", - "revset": "reviewer(mstange)" - } - ], - "treeherderrepo": "mozilla-central", - "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=mozilla-central" - }, - { - "author": "Patrick Brosset <pbrosset@mozilla.com>", - "backsoutnodes": [], - "bugs": [ - { - "no": "1295010", - "url": "https://bugzilla.mozilla.org/show_bug.cgi?id=1295010" - } - ], - "date": [1473239449.0, -7200], - "desc": "Bug 1295010 - Removed testActor from highlighterHelper in inspector tests; r=me\n\nMozReview-Commit-ID: GMksl81iGcp", - "extra": { - "branch": "default" - }, - "files": [ - "devtools/client/inspector/test/browser_inspector_highlighter-eyedropper-events.js", - "devtools/client/inspector/test/head.js" - ], - "node": "041a925171e431bf51fb50193ab19d156088c89a", - "parents": ["541c9086c0f27fba60beecc9bc94543103895c86"], - "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&originalRevision=a14f88a9af7a59e677478694bafd9375ac53683e&newProject=mozilla-central&newRevision=ae2144aa4356b65c2f8c0de8c9082dcb7e330e24", - "pushdate": [1473261248, 0], - "pushhead": "a14f88a9af7a59e677478694bafd9375ac53683e", - "pushid": 30664, - "pushnodes": [ - "ae2144aa4356b65c2f8c0de8c9082dcb7e330e24", - "73a6a267a50a0e1c41e689b265ad3eebe43d7ac6", - "16a1a91f9269ab95dd83eb29dc5d0227665f7d94", - "99c542fa43a72ee863c813b5624048d1b443549b", - "a6b6a93eb41a05e310a11f0172f01ba9b21d3eac", - "541c9086c0f27fba60beecc9bc94543103895c86", - "041a925171e431bf51fb50193ab19d156088c89a", - "a14f88a9af7a59e677478694bafd9375ac53683e" - ], - "pushuser": "cbook@mozilla.com", - "rev": 312896, - "reviewers": [ - { - "name": "me", - "revset": "reviewer(me)" - } - ], - "treeherderrepo": "mozilla-central", - "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=mozilla-central" - }, - { - "author": "Carsten \"Tomcat\" Book <cbook@mozilla.com>", - "backsoutnodes": [], - "bugs": [], - "date": [1473261233.0, -7200], - "desc": "merge fx-team to mozilla-central a=merge", - "extra": { - "branch": "default" - }, - "files": [], - "node": "a14f88a9af7a59e677478694bafd9375ac53683e", - "parents": [ - "3d0b41fdd93bd8233745eadb4e0358e385bf2cb9", - "041a925171e431bf51fb50193ab19d156088c89a" - ], - "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&originalRevision=a14f88a9af7a59e677478694bafd9375ac53683e&newProject=mozilla-central&newRevision=ae2144aa4356b65c2f8c0de8c9082dcb7e330e24", - "pushdate": [1473261248, 0], - "pushhead": "a14f88a9af7a59e677478694bafd9375ac53683e", - "pushid": 30664, - "pushnodes": [ - "ae2144aa4356b65c2f8c0de8c9082dcb7e330e24", - "73a6a267a50a0e1c41e689b265ad3eebe43d7ac6", - "16a1a91f9269ab95dd83eb29dc5d0227665f7d94", - "99c542fa43a72ee863c813b5624048d1b443549b", - "a6b6a93eb41a05e310a11f0172f01ba9b21d3eac", - "541c9086c0f27fba60beecc9bc94543103895c86", - "041a925171e431bf51fb50193ab19d156088c89a", - "a14f88a9af7a59e677478694bafd9375ac53683e" - ], - "pushuser": "cbook@mozilla.com", - "rev": 312897, - "reviewers": [ - { - "name": "merge", - "revset": "reviewer(merge)" - } - ], - "treeherderrepo": "mozilla-central", - "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=mozilla-central" - } - ], - "visible": true -} diff --git a/taskcluster/gecko_taskgraph/test/conftest.py b/taskcluster/gecko_taskgraph/test/conftest.py index ff3d6ce2bd..758d3402b5 100644 --- a/taskcluster/gecko_taskgraph/test/conftest.py +++ b/taskcluster/gecko_taskgraph/test/conftest.py @@ -47,7 +47,7 @@ def enable_logging(): @pytest.fixture(scope="session") def graph_config(): - return load_graph_config(os.path.join(GECKO, "taskcluster", "ci")) + return load_graph_config(os.path.join(GECKO, "taskcluster")) @pytest.fixture(scope="session") diff --git a/taskcluster/gecko_taskgraph/test/test_actions_util.py b/taskcluster/gecko_taskgraph/test/test_actions_util.py index 7c38caea57..0838dafc11 100644 --- a/taskcluster/gecko_taskgraph/test/test_actions_util.py +++ b/taskcluster/gecko_taskgraph/test/test_actions_util.py @@ -155,6 +155,7 @@ def is_subset(subset, superset): def test_extract_applicable_action( responses, monkeypatch, actions_json, task_def, expected ): + actions.util.get_task_definition.cache_clear() base_url = "https://taskcluster" decision_task_id = "dddd" task_id = "tttt" diff --git a/taskcluster/gecko_taskgraph/test/test_files_changed.py b/taskcluster/gecko_taskgraph/test/test_files_changed.py index 5b9a016649..389dbb4093 100644 --- a/taskcluster/gecko_taskgraph/test/test_files_changed.py +++ b/taskcluster/gecko_taskgraph/test/test_files_changed.py @@ -3,14 +3,11 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. -import json -import os import unittest from mozunit import main from gecko_taskgraph import files_changed -from gecko_taskgraph.util import hg PARAMS = { "head_repository": "https://hg.mozilla.org/mozilla-central", @@ -31,40 +28,17 @@ FILES_CHANGED = [ ] -class FakeResponse: - def json(self): - with open( - os.path.join(os.path.dirname(__file__), "automationrelevance.json") - ) as f: - return json.load(f) - - -class TestGetChangedFiles(unittest.TestCase): - def setUp(self): - files_changed.get_changed_files.clear() - self.old_get = hg.requests.get - - def fake_get(url, **kwargs): - return FakeResponse() - - hg.requests.get = fake_get - - def tearDown(self): - hg.requests.get = self.old_get - files_changed.get_changed_files.clear() - - def test_get_changed_files(self): - """Get_changed_files correctly gets the list of changed files in a push. - This tests against the production hg.mozilla.org so that it will detect - any changes in the format of the returned data.""" - self.assertEqual( - sorted( - files_changed.get_changed_files( - PARAMS["head_repository"], PARAMS["head_rev"] - ) - ), - FILES_CHANGED, +def test_get_changed_files(responses): + url = f"{PARAMS['head_repository']}/json-pushchangedfiles/{PARAMS['head_rev']}" + responses.add(responses.GET, url, status=200, json={"files": FILES_CHANGED}) + assert ( + sorted( + files_changed.get_changed_files( + PARAMS["head_repository"], PARAMS["head_rev"] + ) ) + == FILES_CHANGED + ) class TestCheck(unittest.TestCase): diff --git a/taskcluster/gecko_taskgraph/test/test_optimize_strategies.py b/taskcluster/gecko_taskgraph/test/test_optimize_strategies.py index 1240d71cf8..2c10ba449a 100644 --- a/taskcluster/gecko_taskgraph/test/test_optimize_strategies.py +++ b/taskcluster/gecko_taskgraph/test/test_optimize_strategies.py @@ -19,6 +19,7 @@ from gecko_taskgraph.optimize.bugbug import ( DisperseGroups, SkipUnlessDebug, ) +from gecko_taskgraph.optimize.mozlint import SkipUnlessMozlint from gecko_taskgraph.optimize.strategies import SkipUnlessSchedules from gecko_taskgraph.util.backstop import BACKSTOP_PUSH_INTERVAL from gecko_taskgraph.util.bugbug import ( @@ -511,5 +512,79 @@ def test_project_autoland_test(monkeypatch, responses, params): assert scheduled == {"task-0-label", "task-1-label"} +@pytest.mark.parametrize( + "pushed_files,to_lint,expected", + [ + pytest.param( + ["a/b/c.txt"], + [], + True, + ), + pytest.param( + ["python/mozlint/a/support_file.txt", "b/c/d.txt"], + ["python/mozlint/a/support_file.txt"], + False, + ), + ], + ids=idfn, +) +def test_mozlint_should_remove_task( + monkeypatch, params, pushed_files, to_lint, expected +): + import mozlint.pathutils + + class MockParser: + def __call__(self, *args, **kwargs): + return [] + + def mock_filterpaths(*args, **kwargs): + return to_lint, None + + monkeypatch.setattr(mozlint.pathutils, "filterpaths", mock_filterpaths) + + opt = SkipUnlessMozlint("") + monkeypatch.setattr(opt, "mozlint_parser", MockParser()) + params["files_changed"] = pushed_files + + result = opt.should_remove_task(default_tasks[0], params, "") + assert result == expected + + +@pytest.mark.parametrize( + "pushed_files,linter_config,expected", + [ + pytest.param( + ["a/b/c.txt"], + [{"include": ["b/c"]}], + True, + ), + pytest.param( + ["a/b/c.txt"], + [{"include": ["a/b"], "exclude": ["a/b/c.txt"]}], + True, + ), + pytest.param( + ["python/mozlint/a/support_file.txt", "b/c/d.txt"], + [{}], + False, + ), + ], + ids=idfn, +) +def test_mozlint_should_remove_task2( + monkeypatch, params, pushed_files, linter_config, expected +): + class MockParser: + def __call__(self, *args, **kwargs): + return linter_config + + opt = SkipUnlessMozlint("") + monkeypatch.setattr(opt, "mozlint_parser", MockParser()) + params["files_changed"] = pushed_files + + result = opt.should_remove_task(default_tasks[0], params, "") + assert result == expected + + if __name__ == "__main__": main() diff --git a/taskcluster/gecko_taskgraph/test/test_transforms_job.py b/taskcluster/gecko_taskgraph/test/test_transforms_job.py index b032307ea6..6161a36054 100644 --- a/taskcluster/gecko_taskgraph/test/test_transforms_job.py +++ b/taskcluster/gecko_taskgraph/test/test_transforms_job.py @@ -37,7 +37,7 @@ TASK_DEFAULTS = { @pytest.fixture(scope="module") def config(): - graph_config = load_graph_config(os.path.join(GECKO, "taskcluster", "ci")) + graph_config = load_graph_config(os.path.join(GECKO, "taskcluster")) params = FakeParameters( { "base_repository": "http://hg.example.com", diff --git a/taskcluster/gecko_taskgraph/transforms/bouncer_submission.py b/taskcluster/gecko_taskgraph/transforms/bouncer_submission.py index fb5b17d3b3..1434b4013a 100644 --- a/taskcluster/gecko_taskgraph/transforms/bouncer_submission.py +++ b/taskcluster/gecko_taskgraph/transforms/bouncer_submission.py @@ -101,6 +101,7 @@ CONFIG_PER_BOUNCER_PRODUCT = { "file_names": { "win": "{pretty_product}%20Setup%20{version}.msix", "win64": "{pretty_product}%20Setup%20{version}.msix", + "win64-aarch64": "{pretty_product}%20Setup%20{version}.msix", }, }, "pkg": { diff --git a/taskcluster/gecko_taskgraph/transforms/build.py b/taskcluster/gecko_taskgraph/transforms/build.py index 4e73c5aef2..3ab22f2923 100644 --- a/taskcluster/gecko_taskgraph/transforms/build.py +++ b/taskcluster/gecko_taskgraph/transforms/build.py @@ -139,6 +139,10 @@ def use_artifact(config, jobs): and job.get("index", {}).get("job-name") in ARTIFACT_JOBS # If tests aren't packaged, then we are not able to rebuild all the packages and job["worker"]["env"].get("MOZ_AUTOMATION_PACKAGE_TESTS") == "1" + # Android shippable artifact builds are not supported + and not ( + "android" in job["name"] and job["attributes"].get("shippable", False) + ) ): job["treeherder"]["symbol"] = add_suffix(job["treeherder"]["symbol"], "a") job["worker"]["env"]["USE_ARTIFACT"] = "1" diff --git a/taskcluster/gecko_taskgraph/transforms/build_schedules.py b/taskcluster/gecko_taskgraph/transforms/build_schedules.py index ed6262b8b2..f9621adf77 100644 --- a/taskcluster/gecko_taskgraph/transforms/build_schedules.py +++ b/taskcluster/gecko_taskgraph/transforms/build_schedules.py @@ -19,15 +19,7 @@ def set_build_schedules_optimization(config, tasks): continue schedules = [] - if config.kind == "build": - family = platform_family(task["attributes"]["build_platform"]) - schedules = [family] - - if "android" not in family: - # These are not GeckoView builds, so are associated with Firefox. - schedules.append("firefox") - - elif config.kind in ( + if config.kind in ( "build-components", "build-samples-browser", "test-components", @@ -44,5 +36,13 @@ def set_build_schedules_optimization(config, tasks): elif "focus" in task["name"] or "klar" in task["name"]: schedules.append("focus-android") + else: + family = platform_family(task["attributes"]["build_platform"]) + schedules = [family] + + if "android" not in family: + # These are not GeckoView builds, so are associated with Firefox. + schedules.append("firefox") + task["optimization"] = {"build": schedules} yield task diff --git a/taskcluster/gecko_taskgraph/transforms/diffoscope.py b/taskcluster/gecko_taskgraph/transforms/diffoscope.py index b74dc5bb8f..05c6617950 100644 --- a/taskcluster/gecko_taskgraph/transforms/diffoscope.py +++ b/taskcluster/gecko_taskgraph/transforms/diffoscope.py @@ -32,7 +32,7 @@ diff_description_schema = Schema( Required("original"): index_or_string, Required("new"): index_or_string, # Arguments to pass to diffoscope, used for job-defaults in - # taskcluster/ci/diffoscope/kind.yml + # taskcluster/kinds/diffoscope/kind.yml Optional("args"): str, # Extra arguments to pass to diffoscope, that can be set per job. Optional("extra-args"): str, diff --git a/taskcluster/gecko_taskgraph/transforms/github_sync.py b/taskcluster/gecko_taskgraph/transforms/github_sync.py deleted file mode 100644 index 6f48f794ce..0000000000 --- a/taskcluster/gecko_taskgraph/transforms/github_sync.py +++ /dev/null @@ -1,23 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. - -from taskgraph.transforms.base import TransformSequence - -transforms = TransformSequence() - - -@transforms.add -def sync_github(config, tasks): - """Do transforms specific to github-sync tasks.""" - for task in tasks: - # Add the secret to the scopes, only in m-c. - # Doing this on any other tree will result in decision task failure - # because m-c is the only one allowed to have that scope. - secret = task["secret"] - if config.params["project"] == "mozilla-central": - task.setdefault("scopes", []) - task["scopes"].append("secrets:get:" + secret) - task["worker"].setdefault("env", {})["GITHUB_SECRET"] = secret - del task["secret"] - yield task diff --git a/taskcluster/gecko_taskgraph/transforms/perftest.py b/taskcluster/gecko_taskgraph/transforms/perftest.py index 47baafdad7..066db956f7 100644 --- a/taskcluster/gecko_taskgraph/transforms/perftest.py +++ b/taskcluster/gecko_taskgraph/transforms/perftest.py @@ -1,3 +1,4 @@ +# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. """ diff --git a/taskcluster/gecko_taskgraph/transforms/reprocess_symbols.py b/taskcluster/gecko_taskgraph/transforms/reprocess_symbols.py index ea2cac3a68..48465b3ab7 100644 --- a/taskcluster/gecko_taskgraph/transforms/reprocess_symbols.py +++ b/taskcluster/gecko_taskgraph/transforms/reprocess_symbols.py @@ -3,7 +3,7 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. """ Transform the reprocess-symbols task description template, -taskcluster/ci/reprocess-symbols/job-template.yml into an actual task description. +taskcluster/kinds/reprocess-symbols/job-template.yml into an actual task description. """ diff --git a/taskcluster/gecko_taskgraph/transforms/signing.py b/taskcluster/gecko_taskgraph/transforms/signing.py index 1bf91effd1..760f9f122f 100644 --- a/taskcluster/gecko_taskgraph/transforms/signing.py +++ b/taskcluster/gecko_taskgraph/transforms/signing.py @@ -61,6 +61,14 @@ signing_description_schema = Schema( ) +def get_locales_description(attributes, default): + """Returns the [list] of locales for task description usage""" + chunk_locales = attributes.get("chunk_locales") + if chunk_locales: + return ", ".join(chunk_locales) + return attributes.get("locale", default) + + @transforms.add def delete_name(config, jobs): """Delete the 'name' key if it exists, we don't use it.""" @@ -77,6 +85,7 @@ transforms.add_validate(signing_description_schema) def add_requirements_link(config, jobs): for job in jobs: dep_job = get_primary_dependency(config, job) + assert dep_job requirements_path = evaluate_keyed_by( config.graph_config["mac-signing"]["mac-requirements"], "mac requirements", @@ -95,6 +104,7 @@ def add_requirements_link(config, jobs): def make_task_description(config, jobs): for job in jobs: dep_job = get_primary_dependency(config, job) + assert dep_job attributes = dep_job.attributes signing_format_scopes = [] @@ -105,6 +115,7 @@ def make_task_description(config, jobs): is_shippable = dep_job.attributes.get("shippable", False) build_platform = dep_job.attributes.get("build_platform") + assert build_platform treeherder = None if "partner" not in config.kind and "eme-free" not in config.kind: treeherder = job.get("treeherder", {}) @@ -139,9 +150,9 @@ def make_task_description(config, jobs): label = job["label"] description = ( - "Initial Signing for locale '{locale}' for build '" + "Signing of locale(s) '{locale}' for build '" "{build_platform}/{build_type}'".format( - locale=attributes.get("locale", "en-US"), + locale=get_locales_description(attributes, "en-US"), build_platform=build_platform, build_type=attributes.get("build_type"), ) @@ -187,10 +198,16 @@ def make_task_description(config, jobs): # build-mac-{signing,notarization} uses signingscript instead of iscript if "macosx" in build_platform and config.kind.endswith("-mac-notarization"): - task["worker"]["mac-behavior"] = "apple_notarization" task["scopes"] = [ add_scope_prefix(config, "signing:cert:release-apple-notarization") ] + task[ + "description" + ] = "Notarization of '{}' locales for build '{}/{}'".format( + get_locales_description(attributes, "en-US"), + build_platform, + attributes.get("build_type"), + ) elif "macosx" in build_platform: # iscript overrides task["worker"]["mac-behavior"] = "mac_sign_and_pkg" diff --git a/taskcluster/gecko_taskgraph/transforms/source_checksums_signing.py b/taskcluster/gecko_taskgraph/transforms/source_checksums_signing.py index 0c31f48cc0..2b846604f1 100644 --- a/taskcluster/gecko_taskgraph/transforms/source_checksums_signing.py +++ b/taskcluster/gecko_taskgraph/transforms/source_checksums_signing.py @@ -1,3 +1,4 @@ +# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. """ diff --git a/taskcluster/gecko_taskgraph/transforms/source_test.py b/taskcluster/gecko_taskgraph/transforms/source_test.py index e3eeb7c819..266637a7a0 100644 --- a/taskcluster/gecko_taskgraph/transforms/source_test.py +++ b/taskcluster/gecko_taskgraph/transforms/source_test.py @@ -1,3 +1,4 @@ +# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. """ @@ -264,8 +265,8 @@ def remove_optimization_on_central(config, jobs): if not job.get("attributes", {}).get("code-review", False): yield job continue - if "when" not in job: - yield job - continue - del job["when"] + if "when" in job: + del job["when"] + if "optimization" in job and "skip-unless-mozlint" in job["optimization"]: + del job["optimization"] yield job diff --git a/taskcluster/gecko_taskgraph/transforms/task.py b/taskcluster/gecko_taskgraph/transforms/task.py index 4bfe0e9f6d..aa77c46d65 100644 --- a/taskcluster/gecko_taskgraph/transforms/task.py +++ b/taskcluster/gecko_taskgraph/transforms/task.py @@ -208,7 +208,7 @@ TC_TREEHERDER_SCHEMA_URL = ( UNKNOWN_GROUP_NAME = ( - "Treeherder group {} (from {}) has no name; " "add it to taskcluster/ci/config.yml" + "Treeherder group {} (from {}) has no name; " "add it to taskcluster/config.yml" ) V2_ROUTE_TEMPLATES = [ @@ -313,7 +313,7 @@ def index_builder(name): UNSUPPORTED_INDEX_PRODUCT_ERROR = """\ The gecko-v2 product {product} is not in the list of configured products in -`taskcluster/ci/config.yml'. +`taskcluster/config.yml'. """ @@ -842,6 +842,7 @@ def build_generic_worker_payload(config, task, task_def): # behavior for mac iscript Optional("mac-behavior"): Any( "apple_notarization", + "apple_notarization_stacked", "mac_sign_and_pkg", "mac_sign_and_pkg_hardened", "mac_geckodriver", @@ -1612,7 +1613,7 @@ def task_name_from_label(config, tasks): UNSUPPORTED_SHIPPING_PRODUCT_ERROR = """\ The shipping product {product} is not in the list of configured products in -`taskcluster/ci/config.yml'. +`taskcluster/config.yml'. """ diff --git a/taskcluster/gecko_taskgraph/transforms/test/other.py b/taskcluster/gecko_taskgraph/transforms/test/other.py index 5d54467001..e01691c05a 100644 --- a/taskcluster/gecko_taskgraph/transforms/test/other.py +++ b/taskcluster/gecko_taskgraph/transforms/test/other.py @@ -419,26 +419,20 @@ def setup_browsertime(config, tasks): "win32-chromedriver-122", "win32-chromedriver-123", ], - "windows.*-32.*": [ - "win32-chromedriver-122", - "win32-chromedriver-123", - "win32-chromedriver-124", - ], "windows.*-64.*": [ - "win32-chromedriver-122", - "win32-chromedriver-123", + "win64-chromedriver-123", "win64-chromedriver-124", ], } chromium_fetches = { - "linux.*": ["linux64-chromium"], - "macosx1015.*": ["mac-chromium"], - "macosx1400.*": ["mac-chromium-arm"], - "windows.*aarch64.*": ["win32-chromium"], - "windows.*-32.*": ["win32-chromium"], - "windows.*-64.*": ["win64-chromium"], - "android.*": ["linux64-chromium"], + "linux.*": ["linux64-chromiumdriver"], + "macosx1015.*": ["mac-chromiumdriver"], + "macosx1400.*": ["mac-chromiumdriver-arm"], + "windows.*aarch64.*": ["win32-chromiumdriver"], + "windows.*-32.*": ["win32-chromiumdriver"], + "windows.*-64.*": ["win64-chromiumdriver"], + "android.*": ["linux64-chromiumdriver"], } cd_extracted_name = { @@ -581,7 +575,9 @@ def enable_code_coverage(config, tasks): yield task continue task["mozharness"].setdefault("extra-options", []).append("--code-coverage") - task["instance-size"] = "xlarge" + task["instance-size"] = "xlarge-noscratch" + if "jittest" in task["test-name"]: + task["instance-size"] = "xlarge" # Temporarily disable Mac tests on mozilla-central if "mac" in task["build-platform"]: diff --git a/taskcluster/gecko_taskgraph/transforms/test/variant.py b/taskcluster/gecko_taskgraph/transforms/test/variant.py index bda91b2f25..6ee6c429f0 100644 --- a/taskcluster/gecko_taskgraph/transforms/test/variant.py +++ b/taskcluster/gecko_taskgraph/transforms/test/variant.py @@ -78,6 +78,14 @@ def split_variants(config, tasks): remaining_variants.append(name) return remaining_variants + def replace_task_items(task_key, variant_key): + for item in variant_key: + if isinstance(variant_key[item], dict): + task_key[item] = replace_task_items(task_key[item], variant_key[item]) + else: + task_key[item] = variant_key[item] + return task_key + def apply_variant(variant, task): task["description"] = variant["description"].format(**task) @@ -94,7 +102,9 @@ def split_variants(config, tasks): task["variant-suffix"] += suffix # Replace and/or merge the configuration. - task.update(variant.get("replace", {})) + + # we only want to update the leaf node, the the entire top level dict + task = replace_task_items(task, variant.get("replace", {})) return merge(task, variant.get("merge", {})) expired_variants = find_expired_variants(TEST_VARIANTS) diff --git a/taskcluster/gecko_taskgraph/transforms/upload_generated_sources.py b/taskcluster/gecko_taskgraph/transforms/upload_generated_sources.py index aea948f90e..3828e912ec 100644 --- a/taskcluster/gecko_taskgraph/transforms/upload_generated_sources.py +++ b/taskcluster/gecko_taskgraph/transforms/upload_generated_sources.py @@ -3,7 +3,7 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. """ Transform the upload-generated-files task description template, -taskcluster/ci/upload-generated-sources/kind.yml, into an actual task description. +taskcluster/kinds/upload-generated-sources/kind.yml, into an actual task description. """ from taskgraph.transforms.base import TransformSequence diff --git a/taskcluster/gecko_taskgraph/transforms/upload_symbols.py b/taskcluster/gecko_taskgraph/transforms/upload_symbols.py index 5c0bf18cb0..b216d2c8e1 100644 --- a/taskcluster/gecko_taskgraph/transforms/upload_symbols.py +++ b/taskcluster/gecko_taskgraph/transforms/upload_symbols.py @@ -3,7 +3,7 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. """ Transform the upload-symbols task description template, -taskcluster/ci/upload-symbols/job-template.yml into an actual task description. +taskcluster/kinds/upload-symbols/job-template.yml into an actual task description. """ diff --git a/taskcluster/gecko_taskgraph/util/chunking.py b/taskcluster/gecko_taskgraph/util/chunking.py index a8ae4d8b6b..9d8b98e07b 100644 --- a/taskcluster/gecko_taskgraph/util/chunking.py +++ b/taskcluster/gecko_taskgraph/util/chunking.py @@ -24,8 +24,8 @@ here = os.path.abspath(os.path.dirname(__file__)) resolver = TestResolver.from_environment(cwd=here, loader_cls=TestManifestLoader) TEST_VARIANTS = {} -if os.path.exists(os.path.join(GECKO, "taskcluster", "ci", "test", "variants.yml")): - TEST_VARIANTS = load_yaml(GECKO, "taskcluster", "ci", "test", "variants.yml") +if os.path.exists(os.path.join(GECKO, "taskcluster", "kinds", "test", "variants.yml")): + TEST_VARIANTS = load_yaml(GECKO, "taskcluster", "kinds", "test", "variants.yml") WPT_SUBSUITES = { "canvas": "html/canvas", diff --git a/taskcluster/gecko_taskgraph/util/docker.py b/taskcluster/gecko_taskgraph/util/docker.py index e8de7d1fdb..51e3f7e484 100644 --- a/taskcluster/gecko_taskgraph/util/docker.py +++ b/taskcluster/gecko_taskgraph/util/docker.py @@ -298,7 +298,7 @@ class ImagePathsMap(Mapping): self.__update_image_paths(jobs, image_dir) -image_paths = ImagePathsMap("taskcluster/ci/docker-image/kind.yml") +image_paths = ImagePathsMap("taskcluster/kinds/docker-image/kind.yml") def image_path(name): diff --git a/taskcluster/gecko_taskgraph/util/hg.py b/taskcluster/gecko_taskgraph/util/hg.py index 17d341cdc0..d03af87f13 100644 --- a/taskcluster/gecko_taskgraph/util/hg.py +++ b/taskcluster/gecko_taskgraph/util/hg.py @@ -96,15 +96,15 @@ def get_push_data(repository, project, push_id_start, push_id_end): @memoize -def get_json_automationrelevance(repository, revision): - url = "{}/json-automationrelevance/{}".format(repository.rstrip("/"), revision) +def get_json_pushchangedfiles(repository, revision): + url = "{}/json-pushchangedfiles/{}".format(repository.rstrip("/"), revision) logger.debug("Querying version control for metadata: %s", url) - def get_automationrelevance(): + def get_pushchangedfiles(): response = requests.get(url, timeout=60) return response.json() - return retry(get_automationrelevance, attempts=10, sleeptime=10) + return retry(get_pushchangedfiles, attempts=10, sleeptime=10) def get_hg_revision_branch(root, revision): diff --git a/taskcluster/gecko_taskgraph/util/partners.py b/taskcluster/gecko_taskgraph/util/partners.py index 2546e1ae88..f4b8b187cf 100644 --- a/taskcluster/gecko_taskgraph/util/partners.py +++ b/taskcluster/gecko_taskgraph/util/partners.py @@ -523,7 +523,7 @@ def apply_partner_priority(config, jobs): # Reduce the priority of the partner repack jobs because they don't block QE. Meanwhile # leave EME-free jobs alone because they do, and they'll get the branch priority like the rest # of the release. Only bother with this in production, not on staging releases on try. - # medium is the same as mozilla-central, see taskcluster/ci/config.yml. ie higher than + # medium is the same as mozilla-central, see taskcluster/config.yml. ie higher than # integration branches because we don't want to wait a lot for the graph to be done, but # for multiple releases the partner tasks always wait for non-partner. if ( diff --git a/taskcluster/gecko_taskgraph/util/platforms.py b/taskcluster/gecko_taskgraph/util/platforms.py index 2c423223fe..3010b32792 100644 --- a/taskcluster/gecko_taskgraph/util/platforms.py +++ b/taskcluster/gecko_taskgraph/util/platforms.py @@ -27,7 +27,8 @@ _executable_extension = { _architectures = { r"linux\b.*": "x86", - r"linux64\b.*": "x86_64", + r"linux64\b(?!-aarch64).*": "x86_64", + r"linux64-aarch64\b.*": "aarch64", r"macosx64\b.*": "macos-x86_64-aarch64", r"win32\b.*": "x86", r"win64\b(?!-aarch64).*": "x86_64", diff --git a/taskcluster/gecko_taskgraph/util/signed_artifacts.py b/taskcluster/gecko_taskgraph/util/signed_artifacts.py index 2467ff8046..61dad14abf 100644 --- a/taskcluster/gecko_taskgraph/util/signed_artifacts.py +++ b/taskcluster/gecko_taskgraph/util/signed_artifacts.py @@ -57,7 +57,7 @@ def generate_specifications_of_artifacts_to_sign( elif "macosx" in build_platform: langpack_formats = [] if is_notarization_kind(config.kind): - formats = ["apple_notarization"] + formats = ["apple_notarization_stacked"] artifacts_specifications = [ { "artifacts": [ diff --git a/taskcluster/gecko_taskgraph/util/taskcluster.py b/taskcluster/gecko_taskgraph/util/taskcluster.py index cddb01fd37..826eee4cdb 100644 --- a/taskcluster/gecko_taskgraph/util/taskcluster.py +++ b/taskcluster/gecko_taskgraph/util/taskcluster.py @@ -24,7 +24,7 @@ def insert_index(index_path, task_id, data=None, use_proxy=False): index_url = get_index_url(index_path, use_proxy=use_proxy) # Find task expiry. - expires = get_task_definition(task_id, use_proxy=use_proxy)["expires"] + expires = get_task_definition(task_id, use_proxy)["expires"] response = _do_request( index_url, diff --git a/taskcluster/ci/addon/kind.yml b/taskcluster/kinds/addon/kind.yml index eb24cf6a41..eb24cf6a41 100644 --- a/taskcluster/ci/addon/kind.yml +++ b/taskcluster/kinds/addon/kind.yml diff --git a/taskcluster/kinds/android-l10n/kind.yml b/taskcluster/kinds/android-l10n/kind.yml new file mode 100644 index 0000000000..774be4053c --- /dev/null +++ b/taskcluster/kinds/android-l10n/kind.yml @@ -0,0 +1,56 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +transforms: + - gecko_taskgraph.transforms.task:transforms + +job-defaults: + run-on-projects: [] + treeherder: + kind: build + platform: fenix-android-all/opt + tier: 1 + worker-type: tree + worker: + implementation: treescript + tags: [] + bump: false + dontbuild: false + push: true + +jobs: + import: + name: android_l10n_import + description: Import strings from android-l10n repo + treeherder: + symbol: android-l10n(I) + worker: + ignore-closed-tree: true + source-repo: https://hg.mozilla.org/integration/autoland + android-l10n-import-info: + from-repo-url: https://github.com/mozilla-l10n/android-l10n + toml-info: + - toml-path: mozilla-mobile/fenix/l10n.toml + dest-path: mobile/android/fenix + - toml-path: mozilla-mobile/focus-android/l10n.toml + dest-path: mobile/android/focus-android + - toml-path: mozilla-mobile/android-components/l10n.toml + dest-path: mobile/android/android-components + + sync: + name: android_l10n_sync + description: Sync android-l10n strings from central to beta + treeherder: + symbol: android-l10n(S) + worker: + ignore-closed-tree: false + source-repo: https://hg.mozilla.org/releases/mozilla-beta + android-l10n-sync-info: + from-repo-url: https://hg.mozilla.org/mozilla-central + toml-info: + - toml-path: mobile/android/fenix/l10n.toml + - toml-path: mobile/android/focus-android/l10n.toml + - toml-path: mobile/android/android-components/l10n.toml diff --git a/taskcluster/ci/android-startup-test/kind.yml b/taskcluster/kinds/android-startup-test/kind.yml index d7fe550f99..d7fe550f99 100644 --- a/taskcluster/ci/android-startup-test/kind.yml +++ b/taskcluster/kinds/android-startup-test/kind.yml diff --git a/taskcluster/kinds/artifact-build/kind.yml b/taskcluster/kinds/artifact-build/kind.yml new file mode 100644 index 0000000000..5029597c4e --- /dev/null +++ b/taskcluster/kinds/artifact-build/kind.yml @@ -0,0 +1,106 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +kind-dependencies: + - fetch + - toolchain + +transforms: + - gecko_taskgraph.transforms.build_attrs:transforms + - gecko_taskgraph.transforms.build_schedules:transforms + - gecko_taskgraph.transforms.build_lints:transforms + - gecko_taskgraph.transforms.job:transforms + - gecko_taskgraph.transforms.artifact:transforms + - gecko_taskgraph.transforms.task:transforms + +job-defaults: + index: + product: firefox + treeherder: + kind: build + symbol: AB + tier: 1 + run-on-projects: ['mozilla-central'] + worker-type: b-linux-gcp + worker: + max-run-time: 3600 + env: + PERFHERDER_EXTRA_OPTIONS: artifact + MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system + USE_ARTIFACT: '1' + run: + using: mozharness + actions: [get-secrets, build] + config: + - builds/releng_base_firefox.py + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + tooltool-downloads: public + keep-artifacts: false + use-python: default + +jobs: + linux64-artifact/opt: + description: "Linux64 Opt Artifact Build" + index: + job-name: linux64-artifact-opt + treeherder: + platform: linux64/opt + worker: + env: + MOZ_ARTIFACT_TASK: {task-reference: '<linux64-opt>'} + run: + config: + - builds/releng_base_linux_64_builds.py + dependencies: + linux64-opt: build-linux64/opt + fetches: + toolchain: + - linux64-node + + macosx64-artifact/opt: + description: "MacOS X x64 Opt Artifact Build" + index: + job-name: macosx64-artifact-opt + treeherder: + platform: osx-cross/opt + worker: + env: + MOZ_ARTIFACT_TASK: {task-reference: '<macosx64-opt>'} + run: + config: + - builds/releng_base_mac_64_cross_builds.py + dependencies: + macosx64-opt: build-macosx64/opt + fetches: + toolchain: + - linux64-hfsplus + - linux64-libdmg + - linux64-node + + win64-artifact/opt: + description: "Win64 Opt Artifact Build" + index: + job-name: win64-artifact-opt + treeherder: + platform: windows2012-64/opt + worker: + env: + MOZ_ARTIFACT_TASK: {task-reference: '<win64-opt>'} + run: + config: + - builds/releng_base_linux_64_builds.py + extra-config: + mozconfig_platform: win64 + dependencies: + win64-opt: build-win64/opt + fetches: + toolchain: + - linux64-node + - linux64-wine + - nsis + fetch: + - upx-3.95-win diff --git a/taskcluster/ci/attribution-l10n/kind.yml b/taskcluster/kinds/attribution-l10n/kind.yml index 48774cb1f6..48774cb1f6 100644 --- a/taskcluster/ci/attribution-l10n/kind.yml +++ b/taskcluster/kinds/attribution-l10n/kind.yml diff --git a/taskcluster/ci/attribution/kind.yml b/taskcluster/kinds/attribution/kind.yml index 9fac5ac71d..9fac5ac71d 100644 --- a/taskcluster/ci/attribution/kind.yml +++ b/taskcluster/kinds/attribution/kind.yml diff --git a/taskcluster/ci/balrog/kind.yml b/taskcluster/kinds/balrog/kind.yml index 324ef2c521..324ef2c521 100644 --- a/taskcluster/ci/balrog/kind.yml +++ b/taskcluster/kinds/balrog/kind.yml diff --git a/taskcluster/ci/beetmover-android-app/kind.yml b/taskcluster/kinds/beetmover-android-app/kind.yml index 59ef9cb149..59ef9cb149 100644 --- a/taskcluster/ci/beetmover-android-app/kind.yml +++ b/taskcluster/kinds/beetmover-android-app/kind.yml diff --git a/taskcluster/kinds/beetmover-apt/kind.yml b/taskcluster/kinds/beetmover-apt/kind.yml new file mode 100644 index 0000000000..f19fe59fb1 --- /dev/null +++ b/taskcluster/kinds/beetmover-apt/kind.yml @@ -0,0 +1,30 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +transforms: + - taskgraph.transforms.from_deps + - gecko_taskgraph.transforms.release:run_on_releases + - gecko_taskgraph.transforms.beetmover_apt + - gecko_taskgraph.transforms.task + +kind-dependencies: + - beetmover-repackage + +only-for-build-platforms: + - linux-shippable/opt + - linux64-shippable/opt + - linux64-aarch64-shippable/opt + - linux-devedition/opt + - linux64-devedition/opt + +jobs: + beetmover-apt: + from-deps: + group-by: single-with-filters + run-on-releases: + - nightly + - beta + - release diff --git a/taskcluster/ci/beetmover-checksums/kind.yml b/taskcluster/kinds/beetmover-checksums/kind.yml index 7ecf79ea58..7ecf79ea58 100644 --- a/taskcluster/ci/beetmover-checksums/kind.yml +++ b/taskcluster/kinds/beetmover-checksums/kind.yml diff --git a/taskcluster/ci/beetmover-components/kind.yml b/taskcluster/kinds/beetmover-components/kind.yml index 3b3fd5c8ea..3b3fd5c8ea 100644 --- a/taskcluster/ci/beetmover-components/kind.yml +++ b/taskcluster/kinds/beetmover-components/kind.yml diff --git a/taskcluster/ci/beetmover-geckoview/kind.yml b/taskcluster/kinds/beetmover-geckoview/kind.yml index d37316c5da..d37316c5da 100644 --- a/taskcluster/ci/beetmover-geckoview/kind.yml +++ b/taskcluster/kinds/beetmover-geckoview/kind.yml diff --git a/taskcluster/kinds/beetmover-repackage/kind.yml b/taskcluster/kinds/beetmover-repackage/kind.yml new file mode 100644 index 0000000000..e037f5ca86 --- /dev/null +++ b/taskcluster/kinds/beetmover-repackage/kind.yml @@ -0,0 +1,66 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +transforms: + - taskgraph.transforms.from_deps + - gecko_taskgraph.transforms.name_sanity + - gecko_taskgraph.transforms.beetmover_repackage_l10n + - gecko_taskgraph.transforms.beetmover_repackage + - gecko_taskgraph.transforms.task + +kind-dependencies: + # Primary dependencies + - repackage + - repackage-l10n + # Other dependencies + - build + - build-signing + - build-mac-signing + - build-mac-notarization + - repackage-signing + - shippable-l10n + - shippable-l10n-signing + - shippable-l10n-mac-signing + - shippable-l10n-mac-notarization + - repackage-signing-l10n + - partials + - partials-signing + - repackage-signing-msi + - repackage-signing-shippable-l10n-msix + - mar-signing + - mar-signing-l10n + - attribution + - attribution-l10n + - repackage-deb + - repackage-deb-l10n + +only-for-build-platforms: + - linux-shippable/opt + - linux64-shippable/opt + - linux64-aarch64-shippable/opt + - macosx64-shippable/opt + - win32-shippable/opt + - win64-shippable/opt + - win64-aarch64-shippable/opt + - linux-devedition/opt + - linux64-devedition/opt + - macosx64-devedition/opt + - win32-devedition/opt + - win64-devedition/opt + - win64-aarch64-devedition/opt + - linux64-asan-reporter-shippable/opt + - win64-asan-reporter-shippable/opt + +jobs: + beetmover-repackage: + from-deps: + group-by: single-locale + shipping-phase: promote + attributes: + artifact_map: + by-release-type: + beta|release.*|esr.*: taskcluster/gecko_taskgraph/manifests/firefox_candidates.yml + default: taskcluster/gecko_taskgraph/manifests/firefox_nightly.yml diff --git a/taskcluster/ci/beetmover-source/kind.yml b/taskcluster/kinds/beetmover-source/kind.yml index cd86d812b5..cd86d812b5 100644 --- a/taskcluster/ci/beetmover-source/kind.yml +++ b/taskcluster/kinds/beetmover-source/kind.yml diff --git a/taskcluster/ci/bootstrap/kind.yml b/taskcluster/kinds/bootstrap/kind.yml index 0ce8f8f68a..0ce8f8f68a 100644 --- a/taskcluster/ci/bootstrap/kind.yml +++ b/taskcluster/kinds/bootstrap/kind.yml diff --git a/taskcluster/ci/bouncer-locations/kind.yml b/taskcluster/kinds/bouncer-locations/kind.yml index 4234939369..4234939369 100644 --- a/taskcluster/ci/bouncer-locations/kind.yml +++ b/taskcluster/kinds/bouncer-locations/kind.yml diff --git a/taskcluster/kinds/build-apk/kind.yml b/taskcluster/kinds/build-apk/kind.yml new file mode 100644 index 0000000000..ef909b2c44 --- /dev/null +++ b/taskcluster/kinds/build-apk/kind.yml @@ -0,0 +1,520 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +transforms: + - android_taskgraph.transforms.build_android_app:transforms + - gecko_taskgraph.transforms.build_schedules:transforms + - gecko_taskgraph.transforms.job:transforms + - gecko_taskgraph.transforms.task:transforms + +kind-dependencies: + - toolchain + - build-fat-aar + +job-defaults: + apk-artifact-template: + type: file + name: 'public/build/target.{abi}.apk' + path: '/builds/worker/checkouts/gecko/mobile/android/{source_project_name}/app/build/outputs/apk/{gradle_build}/{gradle_build_type}/{fileName}' + attributes: + build_platform: android + + +jobs: + focus-debug: + attributes: + shipping-product: focus + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt + description: 'Focus debug build from source code' + run: + gradle-build-type: debug + gradle-build-name: focusDebug + gradle-build: focus + source-project-name: "focus-android" + treeherder: + symbol: focus-debug(Bf) + platform: focus-android-all/opt + + klar-debug: + attributes: + shipping-product: focus + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt + description: 'Klar debug build from source code' + run: + gradle-build-type: debug + gradle-build-name: klarDebug + gradle-build: klar + source-project-name: "focus-android" + treeherder: + symbol: focus-debug(Bkl) + platform: focus-android-all/opt + + fenix-debug: + attributes: + shipping-product: fenix + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt + description: 'Fenix debug build from source code' + run: + gradle-build-type: debug + gradle-build-name: fenixDebug + gradle-build: fenix + gradle-extra-options: + - -PdisableLeakCanary + track-apk-size: true + source-project-name: "fenix" + treeherder: + symbol: fenix-debug(Bf) + platform: fenix-android-all/opt + + focus-release: + description: 'Release Focus build' + attributes: + release-type: release + shipping-product: focus + shipping-product: firefox-android + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt + include-shippable-secrets: true + include-release-version: true + run: + gradle-build-type: release + gradle-build-name: focusRelease + gradle-build: focus + run-on-projects: [] + shipping-phase: promote + source-project-name: "focus-android" + treeherder: + symbol: focus-release(Bf) + platform: focus-android-all/opt + + klar-release: + description: 'Release Klar build' + attributes: + release-type: release + shipping-product: focus + shipping-product: firefox-android + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt + include-shippable-secrets: true + include-release-version: true + run: + gradle-build-type: release + gradle-build-name: klarRelease + gradle-build: klar + run-on-projects: [] + shipping-phase: promote + source-project-name: "focus-android" + treeherder: + symbol: focus-release(Bkl) + platform: focus-android-all/opt + + fenix-release: + description: 'Release Fenix build' + attributes: + release-type: release + shipping-product: fenix + shipping-product: firefox-android + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt + include-shippable-secrets: true + include-release-version: true + run: + gradle-build-type: release + gradle-build-name: fenixRelease + gradle-build: fenix + track-apk-size: true + run-on-projects: [] + shipping-phase: promote + source-project-name: "fenix" + treeherder: + symbol: fenix-release(Bf) + platform: fenix-android-all/opt + + focus-nightly: + description: 'Nightly focus build' + attributes: + # any tasks that have this as a primary dependency will + # inherit this attribute via the multi_dep loader + shipping-product: focus + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt + include-shippable-secrets: true + include-nightly-version: true + run: + gradle-build-type: nightly + gradle-build-name: focusNightly + gradle-build: focus + run-on-projects: [] + source-project-name: "focus-android" + treeherder: + symbol: focus-nightly(B) + platform: focus-android-all/opt + + fenix-nightly: + description: 'Nightly fenix build' + attributes: + # any tasks that have this as a primary dependency will + # inherit this attribute via the multi_dep loader + shipping-product: fenix + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt + include-shippable-secrets: true + include-nightly-version: true + source-project-name: "fenix" + run: + gradle-build-type: nightly + gradle-build-name: fenixNightly + gradle-build: fenix + track-apk-size: true + run-on-projects: [] + treeherder: + symbol: fenix-nightly(B) + platform: fenix-android-all/opt + + focus-beta: + description: 'Beta focus build' + attributes: + release-type: beta + shipping-product: focus + shipping-product: firefox-android + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt + include-shippable-secrets: true + include-release-version: true + run: + gradle-build-type: beta + gradle-build-name: focusBeta + gradle-build: focus + run-on-projects: [] + shipping-phase: promote + source-project-name: "focus-android" + treeherder: + symbol: focus-beta(B) + platform: focus-android-all/opt + + fenix-beta: + description: 'Beta fenix build' + attributes: + release-type: beta + shipping-product: fenix + shipping-product: firefox-android + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt + include-shippable-secrets: true + include-release-version: true + run: + gradle-build-type: beta + gradle-build-name: fenixBeta + gradle-build: fenix + track-apk-size: true + run-on-projects: [] + shipping-phase: promote + source-project-name: "fenix" + treeherder: + symbol: fenix-beta(B) + platform: fenix-android-all/opt + + focus-nightly-firebase: + attributes: + shipping-product: focus + description: 'Focus Nightly build for UI tests' + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt + disable-optimization: true + run: + gradle-build-type: nightly + gradle-build-name: focusNightly + gradle-build: focus + test-build-type: nightly + run-on-projects: [trunk] + source-project-name: "focus-android" + treeherder: + symbol: focus-nightly(Bf) + platform: focus-android-all/opt + + fenix-nightly-firebase: + attributes: + shipping-product: fenix + description: 'Fenix Nightly build for UI tests' + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt + disable-optimization: true + run: + gradle-build-type: nightly + gradle-build-name: fenixNightly + gradle-build: fenix + test-build-type: nightly + run-on-projects: [trunk] + source-project-name: "fenix" + treeherder: + symbol: fenix-nightly(Bf) + platform: fenix-android-all/opt + + focus-beta-firebase: + attributes: + shipping-product: focus + description: 'Focus Beta build for UI tests' + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt + disable-optimization: true + run: + gradle-build-type: beta + gradle-build-name: focusBeta + gradle-build: focus + test-build-type: beta + run-on-projects: ['release'] + source-project-name: "focus-android" + treeherder: + symbol: focus-beta(Bf) + platform: focus-android-all/opt + + fenix-beta-firebase: + attributes: + shipping-product: fenix + description: 'Fenix Beta build for UI tests' + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt + disable-optimization: true + run: + gradle-build-type: beta + gradle-build-name: fenixBeta + gradle-build: fenix + test-build-type: beta + run-on-projects: ['release'] + source-project-name: "fenix" + treeherder: + symbol: fenix-beta(Bf) + platform: fenix-android-all/opt + + focus-android-test-debug: + attributes: + shipping-product: focus + description: 'Focus Android Test for debugging' + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt + run: + gradle-build-type: androidTest + gradle-build-name: androidTest + gradle-build: focus + source-project-name: "focus-android" + apk-artifact-template: + # this path is determined by the gradle build configs + path: '/builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/outputs/apk/androidTest/focus/debug/app-focus-debug-androidTest.apk' + treeherder: + symbol: focus-debug(Bat) + platform: focus-android-all/opt + + fenix-android-test-debug: + attributes: + shipping-product: fenix + description: 'Fenix Debug Android Test for debugging' + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt + run: + gradle-build-type: androidTest + gradle-build-name: androidTest + gradle-build: fenix + source-project-name: "fenix" + apk-artifact-template: + # 3 differences here: + # * "androidTest/" is added + # * "{gradle_build_type}" is forced to "debug" + # * "{fileName}" is forced to "app-fenix-debug-androidTest.apk" + path: '/builds/worker/checkouts/gecko/mobile/android/fenix/app/build/outputs/apk/androidTest/fenix/debug/app-fenix-debug-androidTest.apk' + treeherder: + symbol: fenix-debug(Bat) + platform: fenix-android-all/opt + + # android-test-nightly and android-test-beta, while still being debug builds, are meant to be signed + # with the nightly/beta key. The Firebase testing infrastructure requires both the androidTest APK + # and the APK under test to be signed with the same key. Thus, the nightly APK being signed with + # nightly means we need an androidTest APK with the same signature. + + focus-android-test-nightly: + attributes: + shipping-product: focus + description: 'Focus Nightly Android Test for debugging' + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt + run: + gradle-build-type: androidTest + gradle-build-name: androidTest + gradle-build: focus + test-build-type: nightly + run-on-projects: [trunk] + source-project-name: "focus-android" + apk-artifact-template: + path: '/builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/outputs/apk/androidTest/focus/nightly/app-focus-nightly-androidTest.apk' + treeherder: + symbol: focus-nightly(Bat) + platform: focus-android-all/opt + + # android-test-nightly and android-test-beta, while still being debug builds, are meant to be signed + # with the nightly/beta key. The Firebase testing infrastructure requires both the androidTest APK + # and the APK under test to be signed with the same key. Thus, the nightly APK being signed with + # nightly means we need an androidTest APK with the same signature. + # + # TODO: See if we can tweak the signing kind to make 2 signing jobs out of a single `android-test` + # job. + fenix-android-test-nightly: + attributes: + nightly: true + shipping-product: fenix + description: 'Fenix Nightly Android Test for debugging' + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt + apk-artifact-template: + # 3 differences here: + # * "androidTest/" is added + # * "{gradle_build_type}" is forced to "debug" + # * "{fileName}" is forced to "app-fenix-nightly-androidTest.apk" + path: '/builds/worker/checkouts/gecko/mobile/android/fenix/app/build/outputs/apk/androidTest/fenix/nightly/app-fenix-nightly-androidTest.apk' + disable-optimization: true + run: + gradle-build-type: androidTest + gradle-build-name: androidTest + gradle-build: fenix + test-build-type: nightly + run-on-projects: [trunk] + source-project-name: "fenix" + treeherder: + symbol: fenix-nightly(Bat) + platform: fenix-android-all/opt + + focus-android-test-beta: + attributes: + shipping-product: focus + description: 'Focus Beta Android Test for debugging' + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt + run: + gradle-build-type: androidTest + gradle-build-name: androidTest + gradle-build: focus + test-build-type: beta + run-on-projects: ['release'] + source-project-name: "focus-android" + apk-artifact-template: + path: '/builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/outputs/apk/androidTest/focus/beta/app-focus-beta-androidTest.apk' + treeherder: + symbol: focus-beta(Bat) + platform: focus-android-all/opt + + fenix-android-test-beta: + attributes: + shipping-product: fenix + description: 'Fenix Beta Android Test for debugging' + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt + apk-artifact-template: + # 3 differences here: + # * "androidTest/" is added + # * "{gradle_build_type}" is forced to "beta" + # * "{fileName}" is forced to "app-fenix-beta-androidTest.apk" + path: '/builds/worker/checkouts/gecko/mobile/android/fenix/app/build/outputs/apk/androidTest/fenix/beta/app-fenix-beta-androidTest.apk' + disable-optimization: true + run: + gradle-build-type: androidTest + gradle-build-name: androidTest + gradle-build: fenix + test-build-type: beta + run-on-projects: ['release'] + source-project-name: "fenix" + treeherder: + symbol: fenix-beta(Bat) + platform: fenix-android-all/opt + + fenix-android-test-mozillaonline: + attributes: + shipping-product: fenix + description: 'Fenix Android Test mozillaonline' + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt + apk-artifact-template: + # 3 differences here: + # * "androidTest/" is added + # * "{gradle_build_type}" is forced to "beta" + # * "{fileName}" is forced to "app-fenix-beta-androidTest.apk" + path: '/builds/worker/checkouts/gecko/mobile/android/fenix/app/build/outputs/apk/androidTest/fenix/beta/app-fenix-beta-androidTest.apk' + run-on-projects: [] + disable-optimization: true + run: + gradle-build-type: androidTest + gradle-build-name: androidTest + gradle-build: fenix + gradle-extra-options: + - -PmozillaOnline + test-build-type: beta + source-project-name: "fenix" + treeherder: + symbol: fenix-beta(Bat-mo) + platform: fenix-android-all/opt + + fenix-nightly-simulation: + description: 'Fenix Nightly Simulation' + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt + attributes: + nightly: false + shipping-product: fenix + include-nightly-version: true + include-shippable-secrets: true + run-on-projects: [] + run: + gradle-build-type: nightly + gradle-build-name: fenixNightly + gradle-build: fenix + source-project-name: "fenix" + treeherder: + symbol: fenix-nightlySim(B) + platform: fenix-android-all/opt + + fenix-beta-mozillaonline: + description: 'Fenix Beta mozillaonline' + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt + attributes: + release-type: beta + shipping_phase: promote + shipping-product: fenix + include-release-version: true + include-shippable-secrets: true + run: + gradle-build-type: beta + gradle-build-name: fenixBeta + gradle-build: fenix + gradle-extra-options: + - -PmozillaOnline + run-on-projects: [] + source-project-name: "fenix" + treeherder: + symbol: fenix-beta(Bmo) + platform: fenix-android-all/opt + + fenix-release-mozillaonline: + description: 'Fenix Release mozillaonline' + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt + attributes: + release-type: release + shipping_phase: promote + shipping-product: fenix + include-release-version: true + include-shippable-secrets: true + run: + gradle-build-type: release + gradle-build-name: fenixRelease + gradle-build: fenix + gradle-extra-options: + - -PmozillaOnline + run-on-projects: [] + source-project-name: "fenix" + treeherder: + symbol: fenix-release(Bmo) + platform: fenix-android-all/opt diff --git a/taskcluster/kinds/build-bundle/kind.yml b/taskcluster/kinds/build-bundle/kind.yml new file mode 100644 index 0000000000..7db4cfdd81 --- /dev/null +++ b/taskcluster/kinds/build-bundle/kind.yml @@ -0,0 +1,215 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +transforms: + - android_taskgraph.transforms.build_android_app:transforms + - gecko_taskgraph.transforms.build_schedules:transforms + - gecko_taskgraph.transforms.job:transforms + - gecko_taskgraph.transforms.task:transforms + +kind-dependencies: + - toolchain + - build-fat-aar + +job-defaults: + aab-artifact-template: + type: file + name: 'public/build/target.aab' + path: '/builds/worker/checkouts/gecko/mobile/android/{source_project_name}/app/build/outputs/bundle/{variant_name}/app-{gradle_build}-{gradle_build_type}.aab' + attributes: + build_platform: android + run: + gradle-package-command: bundle + gradle-extra-options: + - -Paab + + +jobs: + focus-debug: + attributes: + shipping-product: focus + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt + description: 'Focus debug AAB build from source code' + run: + gradle-build-type: debug + gradle-build-name: focusDebug + gradle-build: focus + source-project-name: "focus-android" + treeherder: + platform: focus-android-all/opt + symbol: focus-debug(AABf) + + klar-debug: + attributes: + shipping-product: focus + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt + description: 'Klar debug AAB build from source code' + run: + gradle-build-type: debug + gradle-build-name: klarDebug + gradle-build: klar + source-project-name: "focus-android" + treeherder: + platform: focus-android-all/opt + symbol: focus-debug(AABkl) + + fenix-debug: + attributes: + shipping-product: fenix + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt + description: 'Fenix debug AAB build from source code' + run: + gradle-build-type: debug + gradle-build-name: fenixDebug + gradle-build: fenix + source-project-name: "fenix" + treeherder: + platform: fenix-android-all/opt + symbol: fenix-debug(AAB) + + focus-release: + attributes: + release-type: release + shipping-product: focus + shipping-product: firefox-android + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt + description: 'Focus release AAB build from source code' + include-shippable-secrets: true + include-release-version: true + run-on-projects: ["mozilla-release"] + run: + gradle-build-type: release + gradle-build-name: focusRelease + gradle-build: focus + shipping-phase: promote + source-project-name: "focus-android" + treeherder: + platform: focus-android-all/opt + symbol: focus-release(AABf) + + klar-release: + attributes: + release-type: release + shipping-product: focus + shipping-product: firefox-android + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt + description: 'Klar release AAB build from source code' + include-shippable-secrets: true + include-release-version: true + run-on-projects: ["mozilla-release"] + run: + gradle-build-type: release + gradle-build-name: klarRelease + gradle-build: klar + shipping-phase: promote + source-project-name: "focus-android" + treeherder: + platform: focus-android-all/opt + symbol: focus-release(AABkl) + + fenix-release: + attributes: + release-type: release + shipping-product: fenix + shipping-product: firefox-android + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt + description: 'Fenix release AAB build from source code' + include-shippable-secrets: true + include-release-version: true + run-on-projects: ["mozilla-release"] + run: + gradle-build-type: release + gradle-build-name: fenixRelease + gradle-build: fenix + shipping-phase: promote + source-project-name: "fenix" + treeherder: + platform: fenix-android-all/opt + symbol: fenix-release(AAB) + + focus-nightly: + attributes: + shipping-product: focus + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt + description: 'Focus nightly AAB build from source code' + include-shippable-secrets: true + include-nightly-version: true + run-on-projects: ["mozilla-central"] + run: + gradle-build-type: nightly + gradle-build-name: focusNightly + gradle-build: focus + source-project-name: "focus-android" + treeherder: + platform: focus-android-all/opt + symbol: focus-nightly(AABf) + + fenix-nightly: + attributes: + shipping-product: fenix + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt + description: 'Fenix nightly AAB build from source code' + include-shippable-secrets: true + include-nightly-version: true + run-on-projects: ["mozilla-central"] + run: + gradle-build-type: nightly + gradle-build-name: fenixNightly + gradle-build: fenix + source-project-name: "fenix" + treeherder: + platform: fenix-android-all/opt + symbol: fenix-nightly(AAB) + + focus-beta: + attributes: + release-type: beta + shipping-product: focus + shipping-product: firefox-android + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt + description: 'Focus beta AAB build from source code' + include-shippable-secrets: true + include-release-version: true + run-on-projects: ["mozilla-beta"] + run: + gradle-build-type: beta + gradle-build-name: focusBeta + gradle-build: focus + shipping-phase: promote + source-project-name: "focus-android" + treeherder: + platform: focus-android-all/opt + symbol: focus-beta(AABf) + + fenix-beta: + attributes: + release-type: beta + shipping-product: fenix + shipping-product: firefox-android + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt + description: 'Fenix beta AAB build from source code' + include-shippable-secrets: true + include-release-version: true + run-on-projects: ["mozilla-beta"] + run: + gradle-build-type: beta + gradle-build-name: fenixBeta + gradle-build: fenix + shipping-phase: promote + source-project-name: "fenix" + treeherder: + platform: fenix-android-all/opt + symbol: fenix-beta(AAB) diff --git a/taskcluster/kinds/build-components/kind.yml b/taskcluster/kinds/build-components/kind.yml new file mode 100644 index 0000000000..52793cb3f1 --- /dev/null +++ b/taskcluster/kinds/build-components/kind.yml @@ -0,0 +1,135 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: android_taskgraph.loader.build_config:components_loader + +transforms: + - android_taskgraph.transforms.build_components:transforms + - gecko_taskgraph.transforms.build_schedules:transforms + - gecko_taskgraph.transforms.job:transforms + - gecko_taskgraph.transforms.task:transforms + +not-for-components: + - samples-browser # Their configs are too different, so they're handled in a specific kind + +kind-dependencies: + - toolchain + - build-fat-aar + +job-defaults: + artifact-template: + type: file + name: public/build/{artifact_file_name} + path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/maven/org/mozilla/components/{component}/{version}/{artifact_file_name}' + tests-artifact-template: + type: directory + name: public/reports/tests + path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/reports/tests' + lint-artifact-template: + type: file + name: public/reports/lint-results-release.html + path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/reports/lint-results-release.html' + jacoco-coverage-template: + type: directory + name: public/reports/jacoco + path: '/builds/worker/checkouts/gecko/mobile/android/android-components/{component_path}/build/reports/jacoco' + description: Execute Gradle tasks for component "{component}" + fetches: + toolchain: + - android-sdk-linux + - android-gradle-dependencies + - linux64-jdk + build-fat-aar: + - target.maven.tar.xz + attributes: + build_platform: android + dependencies: + build-fat-aar: + by-build-type: + release|nightly|beta: build-fat-aar-android-geckoview-fat-aar-shippable/opt + default: build-fat-aar-android-geckoview-fat-aar/opt + include-coverage: + by-build-type: + release: false + beta: false + nightly: false + default: true + run: + gradlew: + by-build-type: + release: + - ':{component}:assembleRelease' + - ':{component}:testRelease' + - ':{component}:lintRelease' + - ':{component}:publish' + beta: + # /!\ Beta builds are considered Release in gradle + - ':{component}:assembleRelease' + - ':{component}:testRelease' + - ':{component}:lintRelease' + - ':{component}:publish' + nightly: + - '-PnightlyVersion={nightlyVersion}' + - ':{component}:assembleRelease' + - ':{component}:testRelease' + - ':{component}:lintRelease' + - ':{component}:publish' + default: + by-component: + # No lintRelease on this task, gradle task isn't defined + tooling-lint: + - ':{component}:assemble' + - ':{component}:assembleAndroidTest' + - ':{component}:test' + - ':{component}:lint' + # No testRelease on this task, gradle task isn't defined + tooling-detekt: + - ':{component}:assemble' + - ':{component}:assembleAndroidTest' + - ':{component}:test' + - ':{component}:lintRelease' + # No publish on these tasks + tooling-fetch-tests|samples-.*: + - ':{component}:assemble' + - ':{component}:assembleAndroidTest' + - ':{component}:testRelease' + - ':{component}:lintRelease' + default: + - ':{component}:assemble' + - ':{component}:assembleAndroidTest' + - ':{component}:testRelease' + - ':{component}:lintRelease' + - ':{component}:publish' + pre-gradlew: + - ["cd", "mobile/android/android-components"] + using: gradlew + use-caches: false + run-on-projects: + by-build-type: + release: [] + beta: [] + nightly: [] + default: [all] + shipping-phase: + by-build-type: + (nightly|beta|release): promote + default: null + shipping-product: firefox-android + treeherder: + kind: build + symbol: + by-build-type: + release: '{treeherder_group}(BR)' + beta: '{treeherder_group}(BB)' + nightly: '{treeherder_group}(BN)' + default: '{treeherder_group}(B)' + platform: AC-android-all/opt + tier: 1 + worker-type: b-linux-medium-gcp + worker: + chain-of-trust: true + docker-image: {in-tree: android-components} + max-run-time: 1200 + env: + ANDROID_SDK_ROOT: /builds/worker/fetches/android-sdk-linux diff --git a/taskcluster/kinds/build-fat-aar/kind.yml b/taskcluster/kinds/build-fat-aar/kind.yml new file mode 100644 index 0000000000..38d40efc92 --- /dev/null +++ b/taskcluster/kinds/build-fat-aar/kind.yml @@ -0,0 +1,204 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +kind-dependencies: + - build + - toolchain + +transforms: + - gecko_taskgraph.transforms.build:transforms + - gecko_taskgraph.transforms.build_attrs:transforms + - gecko_taskgraph.transforms.build_schedules:transforms + - gecko_taskgraph.transforms.build_lints:transforms + - gecko_taskgraph.transforms.build_fat_aar:transforms + - gecko_taskgraph.transforms.job:transforms + - gecko_taskgraph.transforms.artifact:transforms + - gecko_taskgraph.transforms.task:transforms + +job-defaults: + attributes: + artifact_map: taskcluster/gecko_taskgraph/manifests/fennec_geckoview.yml + index: + product: mobile + worker-type: b-linux-gcp + use-python: default + worker: + docker-image: {in-tree: android-build} + max-run-time: 7200 + env: + # Online in order to download the per-architecture AARs. + GRADLE_USER_HOME: "/builds/worker/checkouts/build/gecko/mobile/android/gradle/dotgradle-online" + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" + MOZ_ANDROID_FAT_AAR_ARCHITECTURES: "armeabi-v7a,arm64-v8a,x86,x86_64" + MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system + artifacts: + - name: public/build/maven + path: /builds/worker/workspace/obj-build/gradle/maven/ + type: directory + - name: public/build/target.maven.tar.xz + path: /builds/worker/workspace/obj-build/gradle/target.maven.tar.xz + type: file + - name: public/build + path: /builds/worker/artifacts/ + type: directory + - name: public/build/geckoview-androidTest.apk + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk + type: file + - name: public/build/geckoview-test_runner.apk + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk + type: file + - name: public/build/geckoview-test_runner.aab + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab + type: file + - name: public/build/geckoview_example.apk + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk + type: file + - name: public/build/geckoview_example.aab + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab + type: file + - name: public/build/mozconfig + path: /builds/worker/workspace/obj-build/.mozconfig + type: file + run: + using: mozharness + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + mozconfig-variant: null + tooltool-downloads: internal + # Note: These settings are only honored by nightly (i.e. shipping) builds + update-channel: + by-release-type: + nightly: + by-project: + try: nightly-try + default: nightly + nightly-larch: nightly-larch + nightly-oak: nightly-oak + nightly-pine: nightly-pine + beta: + by-shipping-product: + devedition: aurora + default: beta + release.*: release + esr.*: esr + default: null + fetches: + toolchain: + - android-ndk-linux + - android-sdk-linux + - linux64-clang + - linux64-jdk + - linux64-rust-android + - linux64-rust-size + - linux64-cbindgen + - linux64-dump_syms + - linux64-nasm + - linux64-node + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + +jobs: + android-geckoview-fat-aar-shippable/opt: + description: "Android GeckoView multi-architecture fat AAR Shippable" + attributes: + shippable: true + enable-full-crashsymbols: true + disable-push-apk: true + maven_packages: + - geckoview + shipping-phase: build + shipping-product: fennec + index: + job-name: android-geckoview-fat-aar-opt + type: shippable-with-multi-l10n + treeherder: + platform: android-5-0-geckoview-fat-aar-shippable/opt + symbol: Bgv + dependencies: + android-x86-shippable: build-android-x86-shippable/opt + android-x86_64-shippable: build-android-x86_64-shippable/opt + android-arm-shippable: build-android-arm-shippable/opt + android-aarch64-shippable: build-android-aarch64-shippable/opt + worker: + env: + PERFHERDER_EXTRA_OPTIONS: android-geckoview-fat-aar-nightly + run: + actions: [get-secrets, build, multi-l10n] + config: + - builds/releng_base_android_64_builds.py + - taskcluster_nightly.py + custom-build-variant-cfg: arm + fetches: + toolchain: + - android-gradle-dependencies + optimization: + skip-unless-backstop: null + + android-geckoview-fat-aar-shippable-lite/opt: + description: "Android GeckoView Lite multi-architecture fat AAR Shippable" + attributes: + shippable: true + enable-full-crashsymbols: true + disable-push-apk: true + maven_packages: + - geckoview + - geckoview-exoplayer2 + shipping-phase: build + shipping-product: fennec + index: + job-name: android-geckoview-fat-aar-opt-lite + type: shippable-with-multi-l10n + treeherder: + platform: android-4-1-geckoview-fat-aar-shippable/opt + symbol: Bgvl + dependencies: + android-x86-shippable-lite: build-android-x86-shippable-lite/opt + android-x86_64-shippable-lite: build-android-x86_64-shippable-lite/opt + android-arm-shippable-lite: build-android-arm-shippable-lite/opt + android-aarch64-shippable-lite: build-android-aarch64-shippable-lite/opt + worker: + env: + PERFHERDER_EXTRA_OPTIONS: android-geckoview-fat-aar-nightly-lite + run: + actions: [get-secrets, build, multi-l10n] + config: + - builds/releng_base_android_64_builds.py + - taskcluster_nightly.py + custom-build-variant-cfg: arm-lite + fetches: + toolchain: + - android-gradle-dependencies-lite + optimization: + skip-unless-backstop: null + + android-geckoview-fat-aar/opt: + description: "Android GeckoView multi-architecture fat AAR Opt" + attributes: + maven_packages: + - geckoview + index: + job-name: android-geckoview-fat-aar-opt + treeherder: + platform: android-5-0-geckoview-fat-aar/opt + symbol: Bgv + dependencies: + android-x86-opt: build-android-x86/opt + android-x86_64-opt: build-android-x86_64/opt + android-arm-opt: build-android-arm/opt + android-aarch64-opt: build-android-aarch64/opt + worker: + env: + PERFHERDER_EXTRA_OPTIONS: android-geckoview-fat-aar-opt + USE_ARTIFACT: '1' + MOZ_ARTIFACT_TASK: {task-reference: '<android-arm-opt>'} + run: + actions: [get-secrets, build] + config: ["builds/releng_base_android_64_builds.py"] + custom-build-variant-cfg: arm + fetches: + toolchain: + - linux64-sccache + - android-gradle-dependencies diff --git a/taskcluster/kinds/build-mac-notarization/kind.yml b/taskcluster/kinds/build-mac-notarization/kind.yml new file mode 100644 index 0000000000..910d6a1797 --- /dev/null +++ b/taskcluster/kinds/build-mac-notarization/kind.yml @@ -0,0 +1,34 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +transforms: + - taskgraph.transforms.from_deps + - gecko_taskgraph.transforms.mac_notarization + - gecko_taskgraph.transforms.name_sanity + - gecko_taskgraph.transforms.signing + - gecko_taskgraph.transforms.task + +kind-dependencies: + - build-mac-signing + +only-for-attributes: + - shippable + +jobs: + build-mac-notarization: + from-deps: + group-by: single-with-filters + copy-attributes: true + treeherder: + symbol: BMN + upstream-artifacts: + - taskType: signing + paths: + - public/build/target.tar.gz + - public/build/target.pkg + formats: ["apple_notarization_stacked"] + taskId: + task-reference: <build-mac-signing> diff --git a/taskcluster/ci/build-mac-signing/kind.yml b/taskcluster/kinds/build-mac-signing/kind.yml index d90813cd96..d90813cd96 100644 --- a/taskcluster/ci/build-mac-signing/kind.yml +++ b/taskcluster/kinds/build-mac-signing/kind.yml diff --git a/taskcluster/kinds/build-samples-browser/kind.yml b/taskcluster/kinds/build-samples-browser/kind.yml new file mode 100644 index 0000000000..6d1d903321 --- /dev/null +++ b/taskcluster/kinds/build-samples-browser/kind.yml @@ -0,0 +1,64 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +transforms: + - android_taskgraph.transforms.build_components:transforms + - gecko_taskgraph.transforms.build_schedules:transforms + - gecko_taskgraph.transforms.job:transforms + - gecko_taskgraph.transforms.task:transforms + +kind-dependencies: + - toolchain + - build-fat-aar + + +job-defaults: + attributes: + build_platform: android + build-type: regular + component: samples-browser + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt + description: Execute Gradle tasks for component "{component}" + fetches: + toolchain: + - android-sdk-linux + - android-gradle-dependencies + - linux64-jdk + build-fat-aar: + - target.maven.tar.xz + include-coverage: true + run: + pre-gradlew: + - ["cd", "mobile/android/android-components"] + using: gradlew + use-caches: false + treeherder: + kind: build + platform: AC-android-all/opt + tier: 1 + symbol: 'samples-browser(B)' + worker-type: b-linux-medium-gcp + worker: + chain-of-trust: true + docker-image: {in-tree: android-components} + max-run-time: 1200 + env: + ANDROID_SDK_ROOT: /builds/worker/fetches/android-sdk-linux + +jobs: + gecko: + run: + gradlew: + - ':samples-browser:assembleGecko' + - ':samples-browser:testGeckoDebugUnitTest' + - ':samples-browser:lintGeckoDebug' + + system: + run: + gradlew: [':samples-browser:assembleSystem'] + treeherder: + symbol: 'samples-browser-system(B)' diff --git a/taskcluster/ci/build-signing/kind.yml b/taskcluster/kinds/build-signing/kind.yml index 7e4bbab419..7e4bbab419 100644 --- a/taskcluster/ci/build-signing/kind.yml +++ b/taskcluster/kinds/build-signing/kind.yml diff --git a/taskcluster/ci/build/android-asan.yml b/taskcluster/kinds/build/android-asan.yml index ac0ff56251..4cc846dece 100644 --- a/taskcluster/ci/build/android-asan.yml +++ b/taskcluster/kinds/build/android-asan.yml @@ -71,6 +71,5 @@ android-x86_64-asan-fuzzing/opt: - linux64-clang - linux64-sccache - android-gradle-dependencies - - android-gradle-python-envs optimization: skip-unless-expanded: null diff --git a/taskcluster/ci/build/android-stuff.yml b/taskcluster/kinds/build/android-stuff.yml index cf4c44124d..52bed7b18f 100644 --- a/taskcluster/ci/build/android-stuff.yml +++ b/taskcluster/kinds/build/android-stuff.yml @@ -43,7 +43,6 @@ android-geckoview-docs/opt: fetches: toolchain: - android-gradle-dependencies - - android-gradle-python-envs - android-sdk-linux - linux64-jdk - linux64-node diff --git a/taskcluster/kinds/build/android.yml b/taskcluster/kinds/build/android.yml new file mode 100644 index 0000000000..7c37b2680f --- /dev/null +++ b/taskcluster/kinds/build/android.yml @@ -0,0 +1,644 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +job-defaults: + attributes: + artifact_map: taskcluster/gecko_taskgraph/manifests/fennec_geckoview.yml + maven_packages: + - geckoview + index: + product: mobile + worker: + docker-image: {in-tree: android-build} + max-run-time: 7200 + env: + GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline" + artifacts: + - name: public/build/maven + path: /builds/worker/workspace/obj-build/gradle/maven/ + type: directory + - name: public/build/target.maven.tar.xz + path: /builds/worker/workspace/obj-build/gradle/target.maven.tar.xz + type: file + - name: public/build/geckoview-androidTest.apk + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk + type: file + - name: public/build/geckoview-test_runner.apk + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk + type: file + - name: public/build/geckoview-test_runner.aab + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab + type: file + - name: public/build/geckoview_example.apk + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk + type: file + - name: public/build/geckoview_example.aab + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab + type: file + - name: public/build + path: /builds/worker/artifacts/ + type: directory + run: + using: mozharness + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + mozconfig-variant: null + tooltool-downloads: internal + fetches: + toolchain: + - android-ndk-linux + - android-sdk-linux + - linux64-jdk + - linux64-rust-android + - linux64-rust-size + - linux64-cbindgen + - linux64-dump_syms + - linux64-nasm + - linux64-node + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + +android-arm/debug: + description: "Android 5.0 Arm Debug" + index: + job-name: android-arm-debug + attributes: + enable-full-crashsymbols: true + treeherder: + platform: android-5-0-armv7/debug + symbol: B + worker-type: b-linux-gcp + worker: + env: + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" + MOZ_AUTOMATION_PACKAGE_TESTS: "1" + run: + actions: [get-secrets, build] + config: ["builds/releng_base_android_64_builds.py"] + custom-build-variant-cfg: arm-debug + use-sccache: true + fetches: + toolchain: + - linux64-clang + - linux64-sccache + - android-gradle-dependencies + +android-x86/opt: + description: "Android 5.0 x86 Opt" + index: + job-name: android-x86-opt + attributes: + enable-full-crashsymbols: true + treeherder: + platform: android-5-0-x86/opt + symbol: B + run-on-projects: ['integration'] + worker-type: b-linux-gcp + worker: + env: + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" + MOZ_AUTOMATION_PACKAGE_TESTS: "1" + run: + actions: [get-secrets, build] + config: ["builds/releng_base_android_64_builds.py"] + custom-build-variant-cfg: x86 + use-sccache: true + fetches: + toolchain: + - linux64-clang + - linux64-sccache + - android-gradle-dependencies + +android-x86-lite/opt: + description: "Android 4.1 x86 Opt" + index: + job-name: android-x86-lite-opt + attributes: + enable-full-crashsymbols: true + treeherder: + platform: android-4-1-x86/opt + symbol: Bl + run-on-projects: ['integration'] + worker-type: b-linux-gcp + worker: + env: + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" + PERFHERDER_EXTRA_OPTIONS: lite + run: + actions: [get-secrets, build] + config: ["builds/releng_base_android_64_builds.py"] + custom-build-variant-cfg: x86-lite + use-sccache: true + fetches: + toolchain: + - linux64-clang + - linux64-sccache + - android-gradle-dependencies-lite + +android-x86-shippable/opt: + description: "Android 5.0 x86 Shippable" + use-pgo: true + attributes: + enable-full-crashsymbols: true + shippable: true + shipping-phase: build + shipping-product: fennec + index: + job-name: android-x86-opt + type: android-shippable + treeherder: + platform: android-5-0-x86-shippable/opt + symbol: B + run-on-projects: ['release'] + worker-type: b-linux-gcp + worker: + env: + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" + MOZ_AUTOMATION_PACKAGE_TESTS: "1" + run: + actions: [get-secrets, build, multi-l10n] + config: + - builds/releng_base_android_64_builds.py + - taskcluster_nightly.py + custom-build-variant-cfg: x86 + fetches: + toolchain: + - linux64-clang + - android-gradle-dependencies + +android-x86-shippable-lite/opt: + description: "Android 4.1 x86 Shippable Lite" + use-pgo: android-x86-shippable/opt + attributes: + enable-full-crashsymbols: true + shippable: true + shipping-phase: build + shipping-product: fennec + index: + job-name: android-x86-lite-opt + type: android-shippable + treeherder: + platform: android-4-1-x86-shippable-lite/opt + symbol: Bl + run-on-projects: ['release'] + worker-type: b-linux-gcp + worker: + env: + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" + MOZ_AUTOMATION_PACKAGE_TESTS: "1" + run: + actions: [get-secrets, build, multi-l10n] + config: + - builds/releng_base_android_64_builds.py + - taskcluster_nightly.py + custom-build-variant-cfg: x86-lite + fetches: + toolchain: + - linux64-clang + - android-gradle-dependencies-lite + +android-arm/opt: + description: "Android 5.0 Arm Opt" + index: + job-name: android-arm-opt + attributes: + enable-full-crashsymbols: true + treeherder: + platform: android-5-0-armv7/opt + symbol: B + run-on-projects: ['integration'] + worker-type: b-linux-gcp + worker: + env: + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" + MOZ_AUTOMATION_PACKAGE_TESTS: "1" + run: + actions: [get-secrets, build] + config: ["builds/releng_base_android_64_builds.py"] + custom-build-variant-cfg: arm + use-sccache: true + fetches: + toolchain: + - linux64-clang + - android-gradle-dependencies + - linux64-sccache + +android-arm-lite/opt: + description: "Android 4.1 Arm Opt Lite" + index: + job-name: android-arm-lite-opt + attributes: + enable-full-crashsymbols: true + treeherder: + platform: android-4-1-armv7/opt + symbol: Bl + run-on-projects: ['integration'] + worker-type: b-linux-gcp + worker: + env: + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" + run: + actions: [get-secrets, build] + config: ["builds/releng_base_android_64_builds.py"] + custom-build-variant-cfg: arm-lite + use-sccache: true + fetches: + toolchain: + - linux64-clang + - linux64-sccache + - android-gradle-dependencies-lite + +android-arm-shippable/opt: + description: "Android 5.0 Arm Shippable" + use-pgo: android-x86-shippable/opt + attributes: + enable-full-crashsymbols: true + shippable: true + shipping-phase: build + shipping-product: fennec + index: + job-name: android-arm-opt + type: android-shippable-with-multi-l10n + treeherder: + platform: android-5-0-armv7-shippable/opt + symbol: Bpgo(B) + run-on-projects: ['release'] + worker-type: b-linux-gcp + worker: + env: + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" + MOZ_AUTOMATION_PACKAGE_TESTS: "1" + run: + actions: [get-secrets, build, multi-l10n] + config: + - builds/releng_base_android_64_builds.py + - taskcluster_nightly.py + custom-build-variant-cfg: arm + fetches: + toolchain: + - linux64-clang + - android-gradle-dependencies + +android-arm-shippable-lite/opt: + description: "Android 4.1 Arm Shippable Lite" + use-pgo: android-x86-shippable/opt + attributes: + enable-full-crashsymbols: true + shippable: true + shipping-phase: build + shipping-product: fennec + index: + job-name: android-arm-lite-opt + type: android-shippable-with-multi-l10n + treeherder: + platform: android-4-1-armv7-shippable-lite/opt + symbol: Bpgo(Bl) + run-on-projects: ['release'] + worker-type: b-linux-gcp + worker: + env: + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" + MOZ_AUTOMATION_PACKAGE_TESTS: "1" + run: + actions: [get-secrets, build, multi-l10n] + config: + - builds/releng_base_android_64_builds.py + - taskcluster_nightly.py + custom-build-variant-cfg: arm-lite + fetches: + toolchain: + - linux64-clang + - android-gradle-dependencies-lite + +android-aarch64/opt: + description: "Android 5.0 AArch64 Opt" + index: + job-name: android-aarch64-opt + attributes: + enable-full-crashsymbols: true + treeherder: + platform: android-5-0-aarch64/opt + symbol: B + run-on-projects: ['integration'] + worker-type: b-linux-gcp + worker: + env: + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" + MOZ_AUTOMATION_PACKAGE_TESTS: "1" + run: + actions: [get-secrets, build] + config: ["builds/releng_base_android_64_builds.py"] + custom-build-variant-cfg: aarch64 + use-sccache: true + fetches: + toolchain: + - linux64-clang + - linux64-sccache + - android-gradle-dependencies + +android-aarch64-lite/opt: + description: "Android 5.0 AArch64 Opt Lite" + index: + job-name: android-aarch64-lite-opt + attributes: + enable-full-crashsymbols: true + treeherder: + platform: android-5-0-aarch64/opt + symbol: Bl + run-on-projects: ['integration'] + worker-type: b-linux-gcp + worker: + env: + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" + PERFHERDER_EXTRA_OPTIONS: lite + run: + actions: [get-secrets, build] + config: ["builds/releng_base_android_64_builds.py"] + custom-build-variant-cfg: aarch64-lite + use-sccache: true + fetches: + toolchain: + - linux64-clang + - linux64-sccache + - android-gradle-dependencies-lite + +android-aarch64/debug: + description: "Android 5.0 AArch64 Debug" + index: + job-name: android-aarch64-debug + attributes: + enable-full-crashsymbols: true + treeherder: + platform: android-5-0-aarch64/debug + symbol: B + worker-type: b-linux-gcp + worker: + env: + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" + MOZ_AUTOMATION_PACKAGE_TESTS: "1" + run: + actions: [get-secrets, build] + config: ["builds/releng_base_android_64_builds.py"] + custom-build-variant-cfg: aarch64-debug + use-sccache: true + fetches: + toolchain: + - linux64-clang + - linux64-sccache + - android-gradle-dependencies + +android-aarch64-shippable/opt: + description: "Android 5.0 AArch64 Shippable" + use-pgo: android-aarch64-shippable/opt + attributes: + enable-full-crashsymbols: true + shippable: true + shipping-phase: build + shipping-product: fennec + index: + job-name: android-aarch64-opt + type: android-shippable + treeherder: + platform: android-5-0-aarch64-shippable/opt + symbol: Bpgo(B) + run-on-projects: ['release'] + worker-type: b-linux-gcp + worker: + env: + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" + MOZ_AUTOMATION_PACKAGE_TESTS: "1" + run: + actions: [get-secrets, build, multi-l10n] + config: + - builds/releng_base_android_64_builds.py + - taskcluster_nightly.py + custom-build-variant-cfg: aarch64 + fetches: + toolchain: + - linux64-clang + - android-gradle-dependencies + +android-aarch64-shippable-lite/opt: + description: "Android 5.0 AArch64 Shippable Lite" + use-pgo: android-aarch64-shippable/opt + attributes: + enable-full-crashsymbols: true + shippable: true + shipping-phase: build + shipping-product: fennec + index: + job-name: android-aarch64-lite-opt + type: android-shippable + treeherder: + platform: android-5-0-aarch64-shippable-lite/opt + symbol: Bpgo(Bl) + run-on-projects: ['release'] + worker-type: b-linux-gcp + worker: + env: + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" + MOZ_AUTOMATION_PACKAGE_TESTS: "1" + PERFHERDER_EXTRA_OPTIONS: lite + run: + actions: [get-secrets, build, multi-l10n] + config: + - builds/releng_base_android_64_builds.py + - taskcluster_nightly.py + custom-build-variant-cfg: aarch64-lite + fetches: + toolchain: + - linux64-clang + - android-gradle-dependencies-lite + +android-x86_64/opt: + description: "Android 5.0 x86-64 Opt" + index: + job-name: android-x86_64-opt + attributes: + enable-full-crashsymbols: true + treeherder: + platform: android-5-0-x86_64/opt + symbol: B + run-on-projects: ['integration'] + worker-type: b-linux-gcp + worker: + env: + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" + MOZ_AUTOMATION_PACKAGE_TESTS: "1" + run: + actions: [get-secrets, build] + config: ["builds/releng_base_android_64_builds.py"] + custom-build-variant-cfg: x86_64 + use-sccache: true + fetches: + toolchain: + - linux64-clang + - linux64-sccache + - android-gradle-dependencies + +android-x86_64-lite/opt: + description: "Android 5.0 x86-64 Opt Lite" + index: + job-name: android-x86_64-lite-opt + attributes: + enable-full-crashsymbols: true + treeherder: + platform: android-5-0-x86_64/opt + symbol: Bl + run-on-projects: ['integration'] + worker-type: b-linux-gcp + worker: + env: + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" + MOZ_AUTOMATION_PACKAGE_TESTS: "1" + PERFHERDER_EXTRA_OPTIONS: lite + run: + actions: [get-secrets, build] + config: ["builds/releng_base_android_64_builds.py"] + custom-build-variant-cfg: x86_64-lite + use-sccache: true + fetches: + toolchain: + - linux64-clang + - linux64-sccache + - android-gradle-dependencies-lite + +android-x86_64-fuzzing/debug: + description: "Android x86_64 Fuzzing Debug" + index: + job-name: android-x86_64-fuzzing-debug + treeherder: + platform: android-5-0-x86_64/debug + symbol: Bf + worker-type: b-linux-gcp + worker: + env: + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" + PERFHERDER_EXTRA_OPTIONS: fuzzing + run: + actions: [get-secrets, build] + config: ["builds/releng_base_android_64_builds.py"] + custom-build-variant-cfg: fuzzing-debug + use-sccache: true + fetches: + toolchain: + - linux64-clang + - linux64-sccache + - android-gradle-dependencies + optimization: + skip-unless-expanded: null + +android-x86_64-shippable/opt: + description: "Android 5.0 x86-64 Shippable" + use-pgo: true + attributes: + enable-full-crashsymbols: true + shippable: true + shipping-phase: build + shipping-product: fennec + index: + job-name: android-x86_64-opt + type: android-shippable + treeherder: + platform: android-5-0-x86_64-shippable/opt + symbol: B + run-on-projects: ['release'] + worker-type: b-linux-gcp + worker: + env: + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" + MOZ_AUTOMATION_PACKAGE_TESTS: "1" + run: + actions: [get-secrets, build, multi-l10n] + config: + - builds/releng_base_android_64_builds.py + - taskcluster_nightly.py + custom-build-variant-cfg: x86_64 + fetches: + toolchain: + - linux64-clang + - android-gradle-dependencies + +android-x86_64-shippable-lite/opt: + description: "Android 5.0 x86-64 Shippable Lite" + use-pgo: android-x86_64-shippable/opt + attributes: + enable-full-crashsymbols: true + shippable: true + shipping-phase: build + shipping-product: fennec + index: + job-name: android-x86_64-lite-opt + type: android-shippable + treeherder: + platform: android-5-0-x86_64-shippable-lite/opt + symbol: Bl + run-on-projects: ['release'] + worker-type: b-linux-gcp + worker: + env: + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" + MOZ_AUTOMATION_PACKAGE_TESTS: "1" + PERFHERDER_EXTRA_OPTIONS: lite + run: + actions: [get-secrets, build, multi-l10n] + config: + - builds/releng_base_android_64_builds.py + - taskcluster_nightly.py + custom-build-variant-cfg: x86_64-lite + fetches: + toolchain: + - linux64-clang + - android-gradle-dependencies-lite + +android-x86_64/debug: + description: "Android 5.0 x86-64 Debug" + index: + job-name: android-x86_64-debug + attributes: + enable-full-crashsymbols: true + treeherder: + platform: android-5-0-x86_64/debug + symbol: B + worker-type: b-linux-gcp + worker: + env: + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" + MOZ_AUTOMATION_PACKAGE_TESTS: "1" + run: + actions: [get-secrets, build] + config: ["builds/releng_base_android_64_builds.py"] + custom-build-variant-cfg: x86_64-debug + use-sccache: true + fetches: + toolchain: + - linux64-clang + - linux64-sccache + - android-gradle-dependencies + +android-x86_64/debug-isolated-process: + description: "Android 5.0 x86-64 Debug with Isolated Process" + index: + job-name: android-x86_64-debug-isolated-process + attributes: + enable-full-crashsymbols: true + treeherder: + platform: android-5-0-x86_64/debug-isolated-process + symbol: Bip + worker-type: b-linux-gcp + worker: + env: + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" + MOZ_AUTOMATION_PACKAGE_TESTS: "1" + PERFHERDER_EXTRA_OPTIONS: isolated-process + run: + actions: [get-secrets, build] + config: ["builds/releng_base_android_64_builds.py"] + custom-build-variant-cfg: x86_64-debug-isolated-process + use-sccache: true + fetches: + toolchain: + - linux64-clang + - linux64-sccache + - android-gradle-dependencies diff --git a/taskcluster/ci/build/ios.yml b/taskcluster/kinds/build/ios.yml index 1e8c18caab..1e8c18caab 100644 --- a/taskcluster/ci/build/ios.yml +++ b/taskcluster/kinds/build/ios.yml diff --git a/taskcluster/ci/build/kind.yml b/taskcluster/kinds/build/kind.yml index 2e49ca18c5..2e49ca18c5 100644 --- a/taskcluster/ci/build/kind.yml +++ b/taskcluster/kinds/build/kind.yml diff --git a/taskcluster/ci/build/linux-base-toolchains.yml b/taskcluster/kinds/build/linux-base-toolchains.yml index 1cde0b229f..1cde0b229f 100644 --- a/taskcluster/ci/build/linux-base-toolchains.yml +++ b/taskcluster/kinds/build/linux-base-toolchains.yml diff --git a/taskcluster/ci/build/linux.yml b/taskcluster/kinds/build/linux.yml index 99eae6639e..0cf201a22d 100644 --- a/taskcluster/ci/build/linux.yml +++ b/taskcluster/kinds/build/linux.yml @@ -1084,6 +1084,56 @@ linux64-asan-fuzzing/noopt: optimization: skip-unless-expanded: null +linux64-asan-fuzzing-afl/opt: + description: "Linux64 Fuzzing Opt ASAN AFL" + index: + product: firefox + job-name: linux64-fuzzing-asan-afl-opt + attributes: + # The gtest libxul contains libFuzzer targets + skip-verify-test-packaging: true + treeherder: + platform: linux64/asan + symbol: Boaf + worker: + env: + PERFHERDER_EXTRA_OPTIONS: asan-fuzzing-afl + MOZ_AUTOMATION_PACKAGE_TESTS: "1" + AFL_CC: /builds/worker/fetches/clang/bin/clang + AFL_CXX: /builds/worker/fetches/clang/bin/clang++ + AFL_LLVM_INSTRUMENT: llvmnative + AFL_LLVM_NO_RPATH: "1" + max-run-time: 7200 + run: + using: mozharness + actions: [get-secrets, build] + config: + - builds/releng_base_firefox.py + - builds/releng_base_linux_64_builds.py + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + custom-build-variant-cfg: fuzzing-asan-tc + mozconfig-variant: nightly-fuzzing-asan-afl + tooltool-downloads: public + use-sccache: true + fetches: + toolchain: + - linux64-afl-instrumentation + - linux64-clang + - linux64-rust-dev + - linux64-rust-size + - linux64-cbindgen + - linux64-dump_syms + - linux64-llvm-symbolizer + - linux64-sccache + - linux64-nasm + - linux64-node + - linux64-pkgconf + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + optimization: + skip-unless-expanded: null + linux64-asan-fuzzing-nyx/opt: description: "Linux64 Fuzzing Opt ASAN NYX" index: diff --git a/taskcluster/ci/build/macosx-native.yml b/taskcluster/kinds/build/macosx-native.yml index ad77b6e5aa..ad77b6e5aa 100644 --- a/taskcluster/ci/build/macosx-native.yml +++ b/taskcluster/kinds/build/macosx-native.yml diff --git a/taskcluster/ci/build/macosx.yml b/taskcluster/kinds/build/macosx.yml index 928350e1bf..64e71a0b4b 100644 --- a/taskcluster/ci/build/macosx.yml +++ b/taskcluster/kinds/build/macosx.yml @@ -409,6 +409,9 @@ macosx64-devedition/opt: - artifact: target.perftests.tests.tar.gz extract: false dest: ../artifacts + - artifact: target.update_framework_artifacts.zip + extract: false + dest: ../artifacts - artifact: target.xpt_artifacts.zip extract: false dest: ../artifacts @@ -831,6 +834,9 @@ macosx64-shippable/opt: - artifact: target.perftests.tests.tar.gz extract: false dest: ../artifacts + - artifact: target.update_framework_artifacts.zip + extract: false + dest: ../artifacts - artifact: target.xpt_artifacts.zip extract: false dest: ../artifacts diff --git a/taskcluster/ci/build/windows-mingw.yml b/taskcluster/kinds/build/windows-mingw.yml index 09c3ee0022..09c3ee0022 100644 --- a/taskcluster/ci/build/windows-mingw.yml +++ b/taskcluster/kinds/build/windows-mingw.yml diff --git a/taskcluster/ci/build/windows.yml b/taskcluster/kinds/build/windows.yml index af0bebb4f0..af0bebb4f0 100644 --- a/taskcluster/ci/build/windows.yml +++ b/taskcluster/kinds/build/windows.yml diff --git a/taskcluster/ci/code-review/kind.yml b/taskcluster/kinds/code-review/kind.yml index 16586e5a20..16586e5a20 100644 --- a/taskcluster/ci/code-review/kind.yml +++ b/taskcluster/kinds/code-review/kind.yml diff --git a/taskcluster/ci/condprof/kind.yml b/taskcluster/kinds/condprof/kind.yml index d1e50620c8..d1e50620c8 100644 --- a/taskcluster/ci/condprof/kind.yml +++ b/taskcluster/kinds/condprof/kind.yml diff --git a/taskcluster/ci/cron-bouncer-check/kind.yml b/taskcluster/kinds/cron-bouncer-check/kind.yml index 62d2c80960..62d2c80960 100644 --- a/taskcluster/ci/cron-bouncer-check/kind.yml +++ b/taskcluster/kinds/cron-bouncer-check/kind.yml diff --git a/taskcluster/ci/diffoscope/artifacts.yml b/taskcluster/kinds/diffoscope/artifacts.yml index b06604f3cb..a89dfcbfee 100644 --- a/taskcluster/ci/diffoscope/artifacts.yml +++ b/taskcluster/kinds/diffoscope/artifacts.yml @@ -17,8 +17,12 @@ job-defaults: # bug 1825141 - telemetry.fog.artifact_build isn't stable between # artifact and not-artifact builds, so remove its line if present. - sed -i '/telemetry\.fog\.artifact\_build/d' b/"$RESOURCE_DIR"/browser/defaults/preferences/firefox.js - # artifact builds are not fed with accepted-mar-channel-ids + # non-macOS artifact builds are not fed with accepted-mar-channel-ids. - if [ -f a/"$RESOURCE_DIR"/update-settings.ini ]; then sed -i '/ACCEPTED_MAR_CHANNEL_IDS/d' {a,b}/"$RESOURCE_DIR"/update-settings.ini; fi + # macOS artifact builds have local update configurations, not Nightly + # update configurations. + - rm -f {a,b}/"$RESOURCE_DIR"/../Frameworks/ChannelPrefs.framework/ChannelPrefs + - rm -f {a,b}/"$RESOURCE_DIR"/../MacOS/updater.app/Contents/Frameworks/UpdateSettings.framework/UpdateSettings # Extra diffoscope arguments to account for: # - about:buildconfig being expectedly different. extra-args: >- diff --git a/taskcluster/ci/diffoscope/kind.yml b/taskcluster/kinds/diffoscope/kind.yml index 89b38fc665..89b38fc665 100644 --- a/taskcluster/ci/diffoscope/kind.yml +++ b/taskcluster/kinds/diffoscope/kind.yml diff --git a/taskcluster/ci/diffoscope/reproducible.yml b/taskcluster/kinds/diffoscope/reproducible.yml index 4f89bfca4e..4f89bfca4e 100644 --- a/taskcluster/ci/diffoscope/reproducible.yml +++ b/taskcluster/kinds/diffoscope/reproducible.yml diff --git a/taskcluster/kinds/docker-image/kind.yml b/taskcluster/kinds/docker-image/kind.yml new file mode 100644 index 0000000000..22b18cf16f --- /dev/null +++ b/taskcluster/kinds/docker-image/kind.yml @@ -0,0 +1,250 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +kind-dependencies: + - packages + +transforms: + - gecko_taskgraph.transforms.docker_image:transforms + - gecko_taskgraph.transforms.cached_tasks:transforms + - gecko_taskgraph.transforms.task:transforms + +# make a task for each docker-image we might want. For the moment, since we +# write artifacts for each, these are whitelisted, but ideally that will change +# (to use subdirectory clones of the proper directory), at which point we can +# generate tasks for every docker image in the directory, secure in the +# knowledge that unnecessary images will be omitted from the target task graph +jobs: + image_builder: + symbol: I(ib) + # Neither the ubuntu1804-*raw nor the ubuntu1804-*packages images can have + # packages dependencies. + ubuntu1804-raw: + symbol: I(ub18-raw) + definition: debian-raw + args: + BASE_IMAGE: ubuntu:bionic + ubuntu1804-packages: + symbol: I(ub18-pkg) + definition: debian-packages + parent: ubuntu1804-raw + ubuntu1804-i386-raw: + symbol: I(ub18-32-raw) + definition: debian-raw + args: + BASE_IMAGE: i386/ubuntu:bionic + ubuntu1804-i386-packages: + symbol: I(ub18-32-pkg) + definition: debian-packages + parent: ubuntu1804-i386-raw + ubuntu1804-base: + symbol: I(ub18-base) + parent: ubuntu1804-raw + packages: + - ub18-mercurial + - ub18-python-zstandard + - ub18-python-psutil + ubuntu1804-test-base: + symbol: I(ub18-test-base) + parent: ubuntu1804-base + packages: + - ub18-libc6 + - ub18-pygobject + - ub18-pyatspi + - ub18-32-libc6 + ubuntu1804-test: + symbol: I(ub18-test) + parent: ubuntu1804-test-base + ubuntu1804-build-python: + symbol: I(ub18-build-python) + parent: ubuntu1804-base + # Neither the ubuntu1804-*raw nor the ubuntu1804-*packages images can have + # packages dependencies. + ubuntu2004-raw: + symbol: I(ub20-raw) + definition: debian-raw + args: + BASE_IMAGE: ubuntu:focal + ubuntu2204-raw: + symbol: I(ub22-raw) + definition: debian-raw + args: + BASE_IMAGE: ubuntu:jammy + ubuntu2004-packages: + symbol: I(ub20-pkg) + definition: debian-packages + parent: ubuntu2004-raw + ubuntu2204-packages: + symbol: I(ub22-pkg) + definition: debian-packages + parent: ubuntu2204-raw + ubuntu2004-base: + symbol: I(ub20-base) + definition: debian-base + parent: ubuntu2004-raw + packages: + - ub20-mercurial + - ub20-python-zstandard + ubuntu2204-base: + symbol: I(ub22-base) + definition: debian-base + parent: ubuntu2204-raw + packages: + - ub22-mercurial + - ub22-python-zstandard + # Neither the debian8-*raw nor the debian8-*packages images can have + # packages dependencies. + debian8-raw: + symbol: I(deb8-raw) + definition: debian-raw + args: + BASE_IMAGE: debian:jessie-20210208 + DIST: jessie + debian8-packages: + symbol: I(deb8-pkg) + definition: debian-packages + parent: debian8-raw + debian8-i386-raw: + symbol: I(deb8-32-raw) + definition: debian-raw + args: + BASE_IMAGE: i386/debian:jessie-20210208 + DIST: jessie + debian8-i386-packages: + symbol: I(deb8-32-pkg) + definition: debian-packages + parent: debian8-i386-raw + custom-v8: + symbol: I(custom-v8) + parent: debian12-base + # Chromium-as-Release + custom-car-linux: + symbol: I(custom-car-linux) + parent: debian12-base + # Chromium-as-Release Android + custom-car-android: + symbol: I(custom-car-android) + parent: debian12-base + valgrind-build: + symbol: I(vb) + parent: debian12-amd64-build + packages: + - deb12-valgrind + lint: + symbol: I(lnt) + parent: debian12-base + # Neither the debian12-raw nor the debian12-packages images can have + # packages dependencies. + debian12-raw: + symbol: I(deb12-raw) + definition: debian-raw + args: + BASE_IMAGE: debian:bookworm-20230612 + DIST: bookworm + SNAPSHOT: '20230611T210420Z' + debian12-packages: + symbol: I(deb12-pkg) + definition: debian-packages + parent: debian12-raw + debian12-base: + symbol: I(deb12-base) + definition: debian-base + parent: debian12-raw + packages: + - deb12-mercurial + - deb12-python-zstandard + debian12-amd64-build: + symbol: I(deb12) + parent: debian12-base + definition: debian-build + debian12-repackage: + symbol: I(deb12-rpk) + parent: debian12-base + definition: debian-repackage + packages: + - deb12-mercurial + deb12-toolchain-build: + symbol: I(deb12-toolchain) + parent: debian12-base + definition: toolchain-build + android-build: + symbol: I(agb) + parent: debian12-base + fetch: + symbol: I(fetch) + parent: debian12-raw + packages: + - deb12-python-zstandard + static-analysis-build: + symbol: I(static-analysis-build) + parent: debian12-base + gdb-test: + symbol: I(gdb) + parent: debian12-amd64-build + index-task: + symbol: I(idx) + funsize-update-generator: + symbol: I(pg) + update-verify: + symbol: I(uv) + parent: ubuntu2004-base + diffoscope: + symbol: I(diff) + parent: debian12-base + partner-repack: + symbol: I(PR) + parent: debian12-base + definition: partner-repack + updatebot: + symbol: I(3rdp) + parent: push-to-try + periodic-updates: + symbol: I(file) + parent: debian12-base + firefox-snap: + symbol: I(snap) + firefox-flatpak: + symbol: I(flatpak) + webrender: + symbol: I(webrender) + parent: debian12-base + condprof: + symbol: I(condprof) + parent: ubuntu1804-test + sentry: + symbol: I(sentry) + parent: debian12-base + system-symbols-mac: + symbol: I(system-symbols-mac) + parent: debian12-base + system-symbols-win: + symbol: I(system-symbols-win) + parent: debian12-base + system-symbols-win-gfx: + symbol: I(system-symbols-win-gfx) + parent: debian12-base + system-symbols-linux-scraper: + symbol: I(system-symbols-linux) + parent: debian12-base + push-to-try: + symbol: I(push-to-try) + parent: debian12-base + decision: + symbol: I(decision) + parent: ubuntu2004-base + snap-build-core22: + symbol: I(snap22-build) + parent: ubuntu2204-base + definition: snap-coreXX-build + args: + SNAP_BASE: core22 + SNAP_LIST: "gnome-42-2204 gtk-common-themes gnome-42-2204-sdk" + android-components: + symbol: I(android-components) + parent: debian12-base + android-ui-tests: + symbol: I(android-ui-tests) + parent: android-components diff --git a/taskcluster/ci/fetch/benchmarks.yml b/taskcluster/kinds/fetch/benchmarks.yml index 7e31470baf..7e31470baf 100644 --- a/taskcluster/ci/fetch/benchmarks.yml +++ b/taskcluster/kinds/fetch/benchmarks.yml diff --git a/taskcluster/ci/fetch/browsertime.yml b/taskcluster/kinds/fetch/browsertime.yml index 730ca3c279..a495ec04a3 100644 --- a/taskcluster/ci/fetch/browsertime.yml +++ b/taskcluster/kinds/fetch/browsertime.yml @@ -77,15 +77,15 @@ mac-arm-chromedriver-122: sha256: 645f277c05d7f7d238c7a45412f42489767f48cba05d8632ce00b54b3704d4e1 size: 8293896 -win32-chromedriver-123: - description: "Win32 chromedriver v123" +win64-chromedriver-123: + description: "Win64 chromedriver v123" fetch: type: static-url - artifact-name: chromedriver_win32_123.tar.zst + artifact-name: chromedriver_win64_123.tar.zst add-prefix: "123" - url: "https://storage.googleapis.com/chrome-for-testing-public/123.0.6312.58/win32/chromedriver-win32.zip" - sha256: 5367d72e2a90463bda103450b893ec12a7272dc62094d230a4433c449b96993e - size: 8125668 + url: "https://storage.googleapis.com/chrome-for-testing-public/123.0.6312.58/win64/chromedriver-win64.zip" + sha256: 2c54d5c120fc4371d769c9ae30f3cb6708d7568c99c5965e4f1bb476d1d5997f + size: 8567770 linux64-chromedriver-123: description: "Linux64 chromedriver v123" @@ -117,16 +117,6 @@ mac-arm-chromedriver-123: sha256: 4ccade08517d2e8fbd832ee4cd959df4c8dea740986b70b19f892bf413537641 size: 9325268 -win32-chromedriver-124: - description: "Win32 chromedriver v124" - fetch: - type: static-url - artifact-name: chromedriver_win32_124.tar.zst - add-prefix: "124" - url: "https://storage.googleapis.com/chrome-for-testing-public/124.0.6367.29/win32/chromedriver-win32.zip" - sha256: 5a47fb7ed7094021fd3faa25fcdaf69e893082e3b0f5d31f9d341082eceb80dc - size: 8171680 - win64-chromedriver-124: description: "Win64 chromedriver v124" fetch: diff --git a/taskcluster/kinds/fetch/chromium-fetch.yml b/taskcluster/kinds/fetch/chromium-fetch.yml new file mode 100644 index 0000000000..f99e1325cd --- /dev/null +++ b/taskcluster/kinds/fetch/chromium-fetch.yml @@ -0,0 +1,48 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +job-defaults: + fetch: + type: chromium-fetch + script: /builds/worker/bin/fetch-chromium.py + +linux64-chromiumdriver: + description: 'Linux64 Chromium Trunk Chromedriver Fetch' + attributes: + cached_task: false + fetch: + platform: linux + artifact-name: chromium-linux.tar.bz2 + +win32-chromiumdriver: + description: 'Windows32 Chromium Trunk Chromedriver Fetch' + attributes: + cached_task: false + fetch: + platform: win32 + artifact-name: chromium-win32.tar.bz2 + +win64-chromiumdriver: + description: 'Windows64 Chromium Trunk Chromedriver Fetch' + attributes: + cached_task: false + fetch: + platform: win64 + artifact-name: chromium-win64.tar.bz2 + +mac-chromiumdriver: + description: 'MacOSX Chromium Trunk Chromedriver Fetch' + attributes: + cached_task: false + fetch: + platform: mac + artifact-name: chromium-mac.tar.bz2 + +mac-chromiumdriver-arm: + description: 'MacOSX ARM Chromium Trunk Chromedriver Fetch' + attributes: + cached_task: false + fetch: + platform: mac-arm + artifact-name: chromium-mac-arm.tar.bz2 diff --git a/taskcluster/ci/fetch/kind.yml b/taskcluster/kinds/fetch/kind.yml index 027ab7f1eb..027ab7f1eb 100644 --- a/taskcluster/ci/fetch/kind.yml +++ b/taskcluster/kinds/fetch/kind.yml diff --git a/taskcluster/ci/fetch/moz.build b/taskcluster/kinds/fetch/moz.build index 28b8003edf..28b8003edf 100644 --- a/taskcluster/ci/fetch/moz.build +++ b/taskcluster/kinds/fetch/moz.build diff --git a/taskcluster/ci/fetch/resource-monitor.yml b/taskcluster/kinds/fetch/resource-monitor.yml index 2fe94cb4f9..2fe94cb4f9 100644 --- a/taskcluster/ci/fetch/resource-monitor.yml +++ b/taskcluster/kinds/fetch/resource-monitor.yml diff --git a/taskcluster/ci/fetch/toolchain-clang-tidy-external.yml b/taskcluster/kinds/fetch/toolchain-clang-tidy-external.yml index d71058c06b..d71058c06b 100644 --- a/taskcluster/ci/fetch/toolchain-clang-tidy-external.yml +++ b/taskcluster/kinds/fetch/toolchain-clang-tidy-external.yml diff --git a/taskcluster/ci/fetch/toolchains.yml b/taskcluster/kinds/fetch/toolchains.yml index 9c58eaddc7..10a63bfffd 100644 --- a/taskcluster/ci/fetch/toolchains.yml +++ b/taskcluster/kinds/fetch/toolchains.yml @@ -362,11 +362,11 @@ clang-17: revision: 6009708b4367171ccdbf4b5905cb6a803753fe18 clang-18: - description: clang 18.1.1 source code + description: clang 18.1.5 source code fetch: type: git repo: https://github.com/llvm/llvm-project - revision: dba2a75e9c7ef81fe84774ba5eee5e67e01d801a + revision: 617a15a9eac96088ae5e9134248d8236e34b91b1 clang-trunk: description: clang main branch source code @@ -466,9 +466,9 @@ jdk-8-linux64: description: Java 8 JDK fetch: type: static-url - url: https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u312-b07/OpenJDK8U-jdk_x64_linux_hotspot_8u312b07.tar.gz - sha256: 699981083983b60a7eeb511ad640fae3ae4b879de5a3980fe837e8ade9c34a08 - size: 103016010 + url: https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u412-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u412b08.tar.gz + sha256: b9884a96f78543276a6399c3eb8c2fd8a80e6b432ea50e87d3d12d495d1d2808 + size: 103005511 artifact-name: jdk-8.tar.zst strip-components: 1 add-prefix: jdk-8/ @@ -594,7 +594,7 @@ symbol-scrapers: fetch: type: git repo: https://github.com/mozilla/symbol-scrapers - revision: 95ea2e4c5f82469cb394620c8d332e3457466e45 + revision: defbe6b01a661b8c3f1de943e40554a093b26fe9 xz-5.4.4: description: xz 5.4.4 source code diff --git a/taskcluster/ci/fetch/updatebot.yml b/taskcluster/kinds/fetch/updatebot.yml index b757a383f8..b757a383f8 100644 --- a/taskcluster/ci/fetch/updatebot.yml +++ b/taskcluster/kinds/fetch/updatebot.yml diff --git a/taskcluster/ci/fuzzing/kind.yml b/taskcluster/kinds/fuzzing/kind.yml index 444240c619..444240c619 100644 --- a/taskcluster/ci/fuzzing/kind.yml +++ b/taskcluster/kinds/fuzzing/kind.yml diff --git a/taskcluster/ci/fxrecord/kind.yml b/taskcluster/kinds/fxrecord/kind.yml index 7ff7816e7e..7ff7816e7e 100644 --- a/taskcluster/ci/fxrecord/kind.yml +++ b/taskcluster/kinds/fxrecord/kind.yml diff --git a/taskcluster/ci/geckodriver-mac-notarization/kind.yml b/taskcluster/kinds/geckodriver-mac-notarization/kind.yml index a90e6faa2e..a90e6faa2e 100644 --- a/taskcluster/ci/geckodriver-mac-notarization/kind.yml +++ b/taskcluster/kinds/geckodriver-mac-notarization/kind.yml diff --git a/taskcluster/ci/geckodriver-signing/kind.yml b/taskcluster/kinds/geckodriver-signing/kind.yml index 08007495e5..08007495e5 100644 --- a/taskcluster/ci/geckodriver-signing/kind.yml +++ b/taskcluster/kinds/geckodriver-signing/kind.yml diff --git a/taskcluster/kinds/generate-profile/kind.yml b/taskcluster/kinds/generate-profile/kind.yml new file mode 100644 index 0000000000..35d751ca80 --- /dev/null +++ b/taskcluster/kinds/generate-profile/kind.yml @@ -0,0 +1,365 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +kind-dependencies: + - toolchain + - instrumented-build + +transforms: + - gecko_taskgraph.transforms.build_attrs:transforms + - gecko_taskgraph.transforms.build_schedules:transforms + - gecko_taskgraph.transforms.release_deps:transforms + - gecko_taskgraph.transforms.run_pgo_profile:transforms + - gecko_taskgraph.transforms.job:transforms + - gecko_taskgraph.transforms.task:transforms + + +job-defaults: + treeherder: + symbol: Bpgo(run) + kind: build + tier: 1 + use-python: default + +jobs: + linux-shippable/opt: + description: "Linux Profile Generation" + shipping-phase: build + shipping-product: firefox + index: + product: firefox + job-name: linux-profile + treeherder: + platform: linux32-shippable/opt + worker-type: b-linux-gcp + worker: + chain-of-trust: true + env: + NEED_XVFB: "true" + max-run-time: 1200 + docker-image: {in-tree: ubuntu1804-test} + artifacts: + - type: directory + name: public/build + path: /builds/worker/artifacts/ + run: + using: run-task + cwd: '{checkout}' + command: > + ./taskcluster/scripts/misc/run-profileserver.sh + run-on-projects: ['release'] + fetches: + toolchain: + - linux64-clang + - linux64-minidump-stackwalk + + linux64-shippable/opt: + description: "Linux64 Profile Generation" + shipping-phase: build + shipping-product: firefox + index: + product: firefox + job-name: linux64-profile + treeherder: + platform: linux64-shippable/opt + worker-type: b-linux-gcp + worker: + chain-of-trust: true + env: + NEED_XVFB: "true" + max-run-time: 1200 + docker-image: {in-tree: ubuntu1804-test} + artifacts: + - type: directory + name: public/build + path: /builds/worker/artifacts/ + run: + using: run-task + cwd: '{checkout}' + command: > + ./taskcluster/scripts/misc/run-profileserver.sh + run-on-projects: ['release'] + fetches: + toolchain: + - linux64-clang + - linux64-minidump-stackwalk + + android-x86-shippable/opt: + description: "Android 5.0 x86 Profile Generation" + shipping-phase: build + shipping-product: fennec + index: + product: mobile + job-name: android-x86-profile + treeherder: + platform: android-5-0-x86/pgo + worker-type: t-linux-xlarge-pgo + worker: + chain-of-trust: true + max-run-time: 3600 + docker-image: {in-tree: ubuntu1804-test} + env: + WORKING_DIR: "/builds/worker" + MOZHARNESS_PATH: "/builds/worker/checkouts/gecko/testing/mozharness" + PYTHON: "/builds/worker/checkouts/gecko/mach python" + artifacts: + - type: directory + name: public/build + path: /builds/worker/artifacts/ + run: + using: mozharness + job-script: taskcluster/scripts/tester/test-linux.sh + script: android_emulator_pgo.py + tooltool-downloads: internal + options: [installer-path=/builds/worker/fetches/geckoview-test_runner.apk] + config: + - android/android_common.py + - android/android-x86_64-profile-generation.py + - android/android_pgo.py + run-on-projects: ['release'] + fetches: + toolchain: + - linux64-clang + - linux64-minidump-stackwalk + - linux64-hostutils + - android-sdk-linux + - android-system-image-x86_64-linux + - android-avd-x86_64-linux + + android-x86_64-shippable/opt: + description: "Android 5.0 x86_64 Profile Generation" + shipping-phase: build + shipping-product: fennec + index: + product: mobile + job-name: android-x86_64-profile + treeherder: + platform: android-5-0-x86_64/pgo + worker-type: t-linux-xlarge-pgo + worker: + chain-of-trust: true + max-run-time: 3600 + docker-image: {in-tree: ubuntu1804-test} + env: + WORKING_DIR: "/builds/worker" + MOZHARNESS_PATH: "/builds/worker/checkouts/gecko/testing/mozharness" + PYTHON: "/builds/worker/checkouts/gecko/mach python" + artifacts: + - type: directory + name: public/build + path: /builds/worker/artifacts/ + run: + using: mozharness + job-script: taskcluster/scripts/tester/test-linux.sh + script: android_emulator_pgo.py + tooltool-downloads: internal + options: [installer-path=/builds/worker/fetches/geckoview-test_runner.apk] + config: + - android/android_common.py + - android/android-x86_64-profile-generation.py + - android/android_pgo.py + run-on-projects: ['release'] + fetches: + toolchain: + - linux64-clang + - linux64-minidump-stackwalk + - linux64-hostutils + - android-sdk-linux + - android-system-image-x86_64-linux + - android-avd-x86_64-linux + + android-aarch64-shippable/opt: + description: "Android 5.0 Aarch64 Profile Generation" + shipping-phase: build + shipping-product: fennec + index: + product: mobile + job-name: android-aarch64-profile + treeherder: + platform: android-5-0-aarch64/pgo + worker-type: b-linux-kvm-gcp + worker: + chain-of-trust: true + max-run-time: 2700 + kvm: true # for access to /dev/kvm for hw accel in the emulator + docker-image: {in-tree: ubuntu1804-test} + env: + WORKING_DIR: "/builds/worker" + MOZHARNESS_PATH: "/builds/worker/checkouts/gecko/testing/mozharness" + PYTHON: "/builds/worker/checkouts/gecko/mach python" + artifacts: + - type: directory + name: public/build + path: /builds/worker/artifacts/ + run: + using: mozharness + job-script: taskcluster/scripts/tester/test-linux.sh + script: android_emulator_pgo.py + tooltool-downloads: internal + options: [installer-path=/builds/worker/fetches/geckoview-test_runner.apk] + config: + - android/android_common.py + - android/android-aarch64-profile-generation.py + - android/android_pgo.py + run-on-projects: ['release'] + fetches: + toolchain: + - linux64-clang + - linux64-minidump-stackwalk + - linux64-hostutils + - android-sdk-linux + - android31-system-image-x86_64-linux + - android31-avd-x86_64-linux + + win32-shippable/opt: + description: "Win32 Profile Generation" + shipping-phase: build + shipping-product: firefox + index: + product: firefox + job-name: win32-profile + treeherder: + platform: windows2012-32-shippable/opt + worker-type: b-win2022 + worker: + chain-of-trust: true + max-run-time: 2400 + env: + UPLOAD_PATH: "artifacts" + artifacts: + - type: directory + name: public/build + path: build/src/artifacts/ + run: + using: run-task + sparse-profile: profile-generate + cwd: '{checkout}' + command: ./taskcluster/scripts/misc/run-profileserver.sh + run-on-projects: ['release'] + fetches: + toolchain: + - win64-clang-toolchain + - win32-minidump-stackwalk + + win64-shippable/opt: + description: "Win64 Profile Generation" + shipping-phase: build + shipping-product: firefox + index: + product: firefox + job-name: win64-profile + treeherder: + platform: windows2012-64-shippable/opt + worker-type: b-win2022 + worker: + chain-of-trust: true + max-run-time: 2400 + env: + UPLOAD_PATH: "artifacts" + artifacts: + - type: directory + name: public/build + path: build/src/artifacts/ + run: + using: run-task + sparse-profile: profile-generate + cwd: '{checkout}' + command: ./taskcluster/scripts/misc/run-profileserver.sh + run-on-projects: ['release'] + fetches: + toolchain: + - win64-clang-toolchain + - win32-minidump-stackwalk + + win64-nightlyasrelease/opt: + description: "Win64 Nightly-as-release Profile Generation" + shipping-phase: build + shipping-product: firefox + index: + product: firefox + job-name: win64-nightlyasrelease-profile + treeherder: + platform: win64-nightlyasrelease/opt + worker-type: b-win2022 + worker: + chain-of-trust: true + max-run-time: 2400 + env: + UPLOAD_PATH: "artifacts" + artifacts: + - type: directory + name: public/build + path: build/src/artifacts/ + run: + using: run-task + sparse-profile: profile-generate + cwd: '{checkout}' + command: ./taskcluster/scripts/misc/run-profileserver.sh + run-on-projects: [trunk-only] + fetches: + toolchain: + - win64-clang-toolchain + - win32-minidump-stackwalk + + macosx64-shippable/opt: + description: "macosx64 Profile Generation" + shipping-phase: build + shipping-product: firefox + index: + product: firefox + job-name: macosx64-profile + treeherder: + platform: macosx1015-64-shippable/opt + worker-type: b-osx-1015 + worker: + chain-of-trust: true + max-run-time: 7200 + env: + SHELL: "/bin/bash" + artifacts: + - type: directory + name: public/build + path: artifacts/ + run: + using: run-task + sparse-profile: profile-generate + cwd: '{checkout}' + command: ./taskcluster/scripts/misc/run-profileserver-macos.sh + run-on-projects: ['release'] + fetches: + toolchain: + - macosx64-clang + - macosx64-minidump-stackwalk + + macosx64-aarch64-shippable/opt: + description: "macosx64 aarch64 Profile Generation" + shipping-phase: build + shipping-product: firefox + index: + product: firefox + job-name: macosx64-aarch64-profile + treeherder: + platform: macosx1100-64-shippable/opt + worker-type: b-osx-arm64 + worker: + chain-of-trust: true + max-run-time: 7200 + env: + SHELL: "/bin/bash" + artifacts: + - type: directory + name: public/build + path: artifacts/ + run: + using: run-task + sparse-profile: profile-generate + cwd: '{checkout}' + command: ./taskcluster/scripts/misc/run-profileserver-macos.sh + run-on-projects: ['release'] + fetches: + toolchain: + - macosx64-clang + - macosx64-minidump-stackwalk diff --git a/taskcluster/kinds/hazard/kind.yml b/taskcluster/kinds/hazard/kind.yml new file mode 100644 index 0000000000..495f6b10cc --- /dev/null +++ b/taskcluster/kinds/hazard/kind.yml @@ -0,0 +1,84 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +kind-dependencies: + - toolchain + +transforms: + - gecko_taskgraph.transforms.build_attrs:transforms + - gecko_taskgraph.transforms.build_schedules:transforms + - gecko_taskgraph.transforms.build_lints:transforms + - gecko_taskgraph.transforms.job:transforms + - gecko_taskgraph.transforms.task:transforms + +job-defaults: + attributes: + retrigger: true + treeherder: + kind: build + tier: 1 + worker-type: b-linux-gcp + worker: + max-run-time: 10800 + docker-image: {in-tree: debian12-amd64-build} + use-python: default + +jobs: + linux64-shell-haz/debug: + description: "JS Shell Hazard Analysis Linux" + index: + product: firefox + job-name: shell-haz-debug + treeherder: + platform: linux64/debug + symbol: SM(H) + run: + using: hazard + command: > + cd /builds/worker/checkouts/gecko/taskcluster/scripts/builder + && ./build-haz-linux.sh --project js $HOME/workspace + when: + files-changed: + - js/public/** + - js/src/** + fetches: + toolchain: + - linux64-clang + - linux64-gcc-9 + - linux64-gcc-sixgill + - linux64-rust + - linux64-cbindgen + - linux64-node + - linux64-pkgconf + - sysroot-x86_64-linux-gnu + + linux64-haz/debug: + description: "Browser Hazard Analysis Linux" + index: + product: firefox + job-name: browser-haz-debug + treeherder: + platform: linux64/debug + symbol: H + run: + using: hazard + command: > + cd /builds/worker/checkouts/gecko/taskcluster/scripts/builder + && ./build-haz-linux.sh --project browser $HOME/workspace + fetches: + toolchain: + - linux64-clang + - linux64-gcc-9 + - linux64-gcc-sixgill + - linux64-rust + - linux64-cbindgen + - linux64-nasm + - linux64-node + - linux64-pkgconf + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + optimization: + skip-unless-backstop: null diff --git a/taskcluster/kinds/instrumented-build/kind.yml b/taskcluster/kinds/instrumented-build/kind.yml new file mode 100644 index 0000000000..048bea725f --- /dev/null +++ b/taskcluster/kinds/instrumented-build/kind.yml @@ -0,0 +1,491 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +kind-dependencies: + - toolchain + - fetch + +transforms: + - gecko_taskgraph.transforms.build:transforms + - gecko_taskgraph.transforms.build_attrs:transforms + - gecko_taskgraph.transforms.build_schedules:transforms + - gecko_taskgraph.transforms.build_lints:transforms + - gecko_taskgraph.transforms.job:transforms + - gecko_taskgraph.transforms.artifact:transforms + - gecko_taskgraph.transforms.task:transforms + +job-defaults: + shipping-phase: build + treeherder: + symbol: Bpgo(instr) + tier: 1 + worker: + max-run-time: 7200 + env: + PERFHERDER_EXTRA_OPTIONS: instrumented + MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system + use-python: default + run: + using: mozharness + actions: [get-secrets, build] + script: mozharness/scripts/fx_desktop_build.py + secrets: true + use-sccache: + by-release-level: + production: false + staging: true + fetches: + toolchain: + - linux64-sccache + +jobs: + linux-shippable/opt: + description: "Linux Instrumented" + index: + product: firefox + job-name: instrumented-linux + shipping-product: firefox + treeherder: + platform: linux32-shippable/opt + worker-type: b-linux-gcp + run: + config: + - builds/releng_base_firefox.py + - builds/releng_base_linux_32_builds.py + mozconfig-variant: profile-generate + tooltool-downloads: public + run-on-projects: ['release'] + fetches: + toolchain: + - linux64-clang + - linux64-rust + - linux64-rust-size + - linux64-cbindgen + - linux64-dump_syms + - linux64-nasm + - linux64-node + - linux64-pkgconf + - sysroot-i686-linux-gnu + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + + linux64-shippable/opt: + description: "Linux64 Instrumented" + index: + product: firefox + job-name: instrumented-linux64 + shipping-product: firefox + treeherder: + platform: linux64-shippable/opt + worker-type: b-linux-gcp + run: + config: + - builds/releng_base_firefox.py + - builds/releng_base_linux_64_builds.py + mozconfig-variant: profile-generate + tooltool-downloads: public + run-on-projects: ['release'] + fetches: + toolchain: + - linux64-clang + - linux64-rust + - linux64-rust-size + - linux64-cbindgen + - linux64-dump_syms + - linux64-nasm + - linux64-node + - linux64-pkgconf + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + + linux64-aarch64-shippable/opt: + description: "Linux AArch64 (a.k.a. ARM64) Instrumented" + index: + product: firefox + job-name: instrumented-linux64-aarch64 + shipping-product: firefox + treeherder: + platform: linux64-aarch64-shippable/opt + worker-type: b-linux-gcp + run: + config: + - builds/releng_base_firefox.py + - builds/releng_base_linux_64_builds.py + mozconfig-variant: profile-generate + extra-config: + extra_mozconfig_content: + - ac_add_options --target=aarch64 + - unset MOZ_STDCXX_COMPAT + tooltool-downloads: public + run-on-projects: ['mozilla-central'] + fetches: + toolchain: + - linux64-clang + - linux64-rust + - linux64-rust-size + - linux64-cbindgen + - linux64-dump_syms + - linux64-nasm + - linux64-node + - linux64-pkgconf + - sysroot-aarch64-linux-gnu + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + + macosx64-shippable/opt: + description: "MacOS X x64 Cross-compile Instrumented" + shipping-phase: build + shipping-product: firefox + treeherder: + platform: osx-shippable/opt + worker-type: b-linux-gcp + worker: + max-run-time: 7200 + env: + PERFHERDER_EXTRA_OPTIONS: instrumented + run: + using: mozharness + actions: [get-secrets, build] + config: + - builds/releng_base_firefox.py + - builds/releng_base_mac_64_cross_builds.py + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + mozconfig-variant: profile-generate + run-on-projects: ['release'] + fetches: + toolchain: + - linux64-clang + - linux64-hfsplus + - linux64-libdmg + - linux64-rust-macos + - linux64-rust-size + - linux64-cbindgen + - linux64-dump_syms + - linux64-nasm + - linux64-node + - macosx64-sdk + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + + macosx64-aarch64-shippable/opt: + description: "MacOS X aarch64 Cross-compile Instrumented" + shipping-phase: build + shipping-product: firefox + treeherder: + platform: osx-aarch64-shippable/opt + worker-type: b-linux-gcp + worker: + max-run-time: 7200 + env: + PERFHERDER_EXTRA_OPTIONS: instrumented + run: + using: mozharness + actions: [get-secrets, build] + config: + - builds/releng_base_firefox.py + - builds/releng_base_mac_64_cross_builds.py + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + mozconfig-variant: profile-generate + extra-config: + mozconfig_platform: macosx64-aarch64 + run-on-projects: ['release'] + fetches: + toolchain: + - linux64-clang + - linux64-hfsplus + - linux64-libdmg + - linux64-rust-macos + - linux64-rust-size + - linux64-cbindgen + - linux64-dump_syms + - linux64-nasm + - linux64-node + - macosx64-sdk + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + + android-x86-shippable/opt: + description: "Android 5.0 x86 PGO instrumented" + index: + product: mobile + job-name: instrumented-android-x86 + shipping-product: fennec + treeherder: + platform: android-5-0-x86/pgo + worker-type: b-linux-gcp + worker: + docker-image: {in-tree: android-build} + env: + GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline" + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" + artifacts: + - name: public/build + path: /builds/worker/artifacts/ + type: directory + - name: public/build/geckoview-androidTest.apk + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk + type: file + - name: public/build/geckoview-test_runner.apk + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk + type: file + - name: public/build/geckoview-test_runner.aab + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab + type: file + - name: public/build/geckoview_example.apk + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk + type: file + - name: public/build/geckoview_example.aab + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab + type: file + run: + config: + - builds/releng_base_android_64_builds.py + custom-build-variant-cfg: x86-profile-generate + tooltool-downloads: internal + run-on-projects: ['release'] + fetches: + toolchain: + - android-gradle-dependencies + - android-ndk-linux + - android-sdk-linux + - linux64-jdk + - linux64-clang + - linux64-rust-android + - linux64-rust-size + - linux64-cbindgen + - linux64-dump_syms + - linux64-nasm + - linux64-node + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + + android-x86_64-shippable/opt: + description: "Android 5.0 x86_64 PGO instrumented" + index: + product: mobile + job-name: instrumented-android-x86_64 + shipping-product: fennec + treeherder: + platform: android-5-0-x86_64/pgo + worker-type: b-linux-gcp + worker: + docker-image: {in-tree: android-build} + env: + GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline" + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" + artifacts: + - name: public/build + path: /builds/worker/artifacts/ + type: directory + - name: public/build/geckoview-androidTest.apk + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk + type: file + - name: public/build/geckoview-test_runner.apk + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk + type: file + - name: public/build/geckoview-test_runner.aab + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab + type: file + - name: public/build/geckoview_example.apk + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk + type: file + - name: public/build/geckoview_example.aab + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab + type: file + run: + config: + - builds/releng_base_android_64_builds.py + custom-build-variant-cfg: x86_64-profile-generate + tooltool-downloads: internal + run-on-projects: ['release'] + fetches: + toolchain: + - android-gradle-dependencies + - android-ndk-linux + - android-sdk-linux + - linux64-jdk + - linux64-clang + - linux64-rust-android + - linux64-rust-size + - linux64-cbindgen + - linux64-dump_syms + - linux64-nasm + - linux64-node + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + + android-aarch64-shippable/opt: + description: "Android 5.0 AArch64 PGO instrumented" + index: + product: mobile + job-name: instrumented-android-aarch64 + shipping-product: fennec + treeherder: + platform: android-5-0-aarch64/pgo + worker-type: b-linux-gcp + worker: + docker-image: {in-tree: android-build} + env: + GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline" + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" + artifacts: + - name: public/build + path: /builds/worker/artifacts/ + type: directory + - name: public/build/geckoview-androidTest.apk + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk + type: file + - name: public/build/geckoview-test_runner.apk + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk + type: file + - name: public/build/geckoview-test_runner.aab + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab + type: file + - name: public/build/geckoview_example.apk + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk + type: file + - name: public/build/geckoview_example.aab + path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab + type: file + run: + config: + - builds/releng_base_android_64_builds.py + custom-build-variant-cfg: aarch64-profile-generate + tooltool-downloads: internal + run-on-projects: ['release'] + fetches: + toolchain: + - android-gradle-dependencies + - android-ndk-linux + - android-sdk-linux + - linux64-jdk + - linux64-clang + - linux64-rust-android + - linux64-rust-size + - linux64-cbindgen + - linux64-dump_syms + - linux64-nasm + - linux64-node + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + + win32-shippable/opt: + description: "Win32 Shippable PGO Instrumented" + index: + product: firefox + job-name: instrumented-win32 + shipping-product: firefox + treeherder: + platform: windows2012-32-shippable/opt + worker-type: b-linux-gcp + run: + options: [append-env-variables-from-configs] + mozconfig-variant: profile-generate + config: + - builds/releng_base_firefox.py + - builds/releng_base_linux_64_builds.py + extra-config: + stage_platform: win32 + mozconfig_platform: win32 + run-on-projects: ['release'] + fetches: + toolchain: + - linux64-clang + - linux64-rust-cross + - linux64-rust-size + - linux64-nasm + - linux64-node + - linux64-cbindgen + - linux64-dump_syms + - linux64-wine + - linux64-winchecksec + - nsis + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + - vs + - windows-rs + fetch: + - upx-3.95-win + + win64-nightlyasrelease/opt: + description: "Win64 Shippable PGO Instrumented" + index: + product: firefox + job-name: instrumented-nightlyasrelease-win64 + shipping-product: firefox + treeherder: + platform: win64-nightlyasrelease/opt + worker-type: b-linux-gcp + run: + options: [append-env-variables-from-configs] + mozconfig-variant: profile-generate + config: + - builds/releng_base_firefox.py + - builds/releng_base_linux_64_builds.py + extra-config: + stage_platform: win64 + mozconfig_platform: win64 + extra_mozconfig_content: + - ac_add_options --as-milestone=release + run-on-projects: [trunk-only] + fetches: + toolchain: + - linux64-clang + - linux64-rust-cross + - linux64-rust-size + - linux64-nasm + - linux64-node + - linux64-cbindgen + - linux64-dump_syms + - linux64-wine + - linux64-winchecksec + - nsis + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + - vs + - windows-rs + fetch: + - upx-3.95-win + + win64-shippable/opt: + description: "Win64 Shippable PGO Instrumented" + index: + product: firefox + job-name: instrumented-win64 + shipping-product: firefox + treeherder: + platform: windows2012-64-shippable/opt + worker-type: b-linux-gcp + run: + options: [append-env-variables-from-configs] + mozconfig-variant: profile-generate + config: + - builds/releng_base_firefox.py + - builds/releng_base_linux_64_builds.py + extra-config: + stage_platform: win64 + mozconfig_platform: win64 + run-on-projects: ['release'] + fetches: + toolchain: + - linux64-clang + - linux64-rust-cross + - linux64-rust-size + - linux64-nasm + - linux64-node + - linux64-cbindgen + - linux64-dump_syms + - linux64-wine + - linux64-winchecksec + - nsis + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + - vs + - windows-rs + fetch: + - upx-3.95-win diff --git a/taskcluster/ci/l10n-bump/kind.yml b/taskcluster/kinds/l10n-bump/kind.yml index d40f9c48e9..d40f9c48e9 100644 --- a/taskcluster/ci/l10n-bump/kind.yml +++ b/taskcluster/kinds/l10n-bump/kind.yml diff --git a/taskcluster/ci/l10n-cross-channel/kind.yml b/taskcluster/kinds/l10n-cross-channel/kind.yml index da30306599..da30306599 100644 --- a/taskcluster/ci/l10n-cross-channel/kind.yml +++ b/taskcluster/kinds/l10n-cross-channel/kind.yml diff --git a/taskcluster/ci/l10n/kind.yml b/taskcluster/kinds/l10n/kind.yml index eeb0b2c54e..eeb0b2c54e 100644 --- a/taskcluster/ci/l10n/kind.yml +++ b/taskcluster/kinds/l10n/kind.yml diff --git a/taskcluster/ci/mar-signing-autograph-stage/kind.yml b/taskcluster/kinds/mar-signing-autograph-stage/kind.yml index 711c28c44b..711c28c44b 100644 --- a/taskcluster/ci/mar-signing-autograph-stage/kind.yml +++ b/taskcluster/kinds/mar-signing-autograph-stage/kind.yml diff --git a/taskcluster/kinds/mar-signing-l10n/kind.yml b/taskcluster/kinds/mar-signing-l10n/kind.yml new file mode 100644 index 0000000000..8016833c15 --- /dev/null +++ b/taskcluster/kinds/mar-signing-l10n/kind.yml @@ -0,0 +1,40 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +transforms: + - taskgraph.transforms.from_deps + - gecko_taskgraph.transforms.name_sanity + - gecko_taskgraph.transforms.mar_signing + - gecko_taskgraph.transforms.task + +kind-dependencies: + - repackage-l10n + +only-for-build-platforms: + - linux-shippable/opt + - linux64-shippable/opt + - linux64-aarch64-shippable/opt + - macosx64-shippable/opt + - win32-shippable/opt + - win64-shippable/opt + - win64-aarch64-shippable/opt + - linux64-asan-reporter-shippable/opt + - linux-devedition/opt + - linux64-devedition/opt + - macosx64-devedition/opt + - win32-devedition/opt + - win64-devedition/opt + - win64-aarch64-devedition/opt + +jobs: + mar-signing-l10n: + from-deps: + group-by: single-with-filters + shipping-phase: promote + treeherder-group: ms + description-suffix: 'mar signing' + required_signoffs: + - mar-signing diff --git a/taskcluster/ci/mar-signing/kind.yml b/taskcluster/kinds/mar-signing/kind.yml index e0feeaa0ff..e0feeaa0ff 100644 --- a/taskcluster/ci/mar-signing/kind.yml +++ b/taskcluster/kinds/mar-signing/kind.yml diff --git a/taskcluster/ci/maybe-release/kind.yml b/taskcluster/kinds/maybe-release/kind.yml index 8664e52168..8664e52168 100644 --- a/taskcluster/ci/maybe-release/kind.yml +++ b/taskcluster/kinds/maybe-release/kind.yml diff --git a/taskcluster/ci/merge-automation/kind.yml b/taskcluster/kinds/merge-automation/kind.yml index 8e2b34147e..8e2b34147e 100644 --- a/taskcluster/ci/merge-automation/kind.yml +++ b/taskcluster/kinds/merge-automation/kind.yml diff --git a/taskcluster/ci/openh264-plugin/kind.yml b/taskcluster/kinds/openh264-plugin/kind.yml index e8459df438..e8459df438 100644 --- a/taskcluster/ci/openh264-plugin/kind.yml +++ b/taskcluster/kinds/openh264-plugin/kind.yml diff --git a/taskcluster/ci/openh264-signing/kind.yml b/taskcluster/kinds/openh264-signing/kind.yml index e4dc174cc7..e4dc174cc7 100644 --- a/taskcluster/ci/openh264-signing/kind.yml +++ b/taskcluster/kinds/openh264-signing/kind.yml diff --git a/taskcluster/ci/packages/debian.yml b/taskcluster/kinds/packages/debian.yml index 0a87ef6782..0a87ef6782 100644 --- a/taskcluster/ci/packages/debian.yml +++ b/taskcluster/kinds/packages/debian.yml diff --git a/taskcluster/ci/packages/kind.yml b/taskcluster/kinds/packages/kind.yml index 5b21346de8..5b21346de8 100644 --- a/taskcluster/ci/packages/kind.yml +++ b/taskcluster/kinds/packages/kind.yml diff --git a/taskcluster/ci/packages/ubuntu.yml b/taskcluster/kinds/packages/ubuntu.yml index d9bbd5f2ad..d9bbd5f2ad 100644 --- a/taskcluster/ci/packages/ubuntu.yml +++ b/taskcluster/kinds/packages/ubuntu.yml diff --git a/taskcluster/ci/partials-signing/kind.yml b/taskcluster/kinds/partials-signing/kind.yml index 2c2bf0a9a0..2c2bf0a9a0 100644 --- a/taskcluster/ci/partials-signing/kind.yml +++ b/taskcluster/kinds/partials-signing/kind.yml diff --git a/taskcluster/ci/partials/kind.yml b/taskcluster/kinds/partials/kind.yml index ea72198c5c..ea72198c5c 100644 --- a/taskcluster/ci/partials/kind.yml +++ b/taskcluster/kinds/partials/kind.yml diff --git a/taskcluster/ci/perftest/android.yml b/taskcluster/kinds/perftest/android.yml index 1ed071a1a1..1ed071a1a1 100644 --- a/taskcluster/ci/perftest/android.yml +++ b/taskcluster/kinds/perftest/android.yml diff --git a/taskcluster/ci/perftest/kind.yml b/taskcluster/kinds/perftest/kind.yml index 8a92fe55b2..8a92fe55b2 100644 --- a/taskcluster/ci/perftest/kind.yml +++ b/taskcluster/kinds/perftest/kind.yml diff --git a/taskcluster/ci/perftest/linux.yml b/taskcluster/kinds/perftest/linux.yml index 1016469fb8..1016469fb8 100644 --- a/taskcluster/ci/perftest/linux.yml +++ b/taskcluster/kinds/perftest/linux.yml diff --git a/taskcluster/ci/perftest/macosx.yml b/taskcluster/kinds/perftest/macosx.yml index d98f7524b8..d98f7524b8 100644 --- a/taskcluster/ci/perftest/macosx.yml +++ b/taskcluster/kinds/perftest/macosx.yml diff --git a/taskcluster/ci/perftest/windows.yml b/taskcluster/kinds/perftest/windows.yml index 3e027e5741..3e027e5741 100644 --- a/taskcluster/ci/perftest/windows.yml +++ b/taskcluster/kinds/perftest/windows.yml diff --git a/taskcluster/ci/post-balrog-dummy/kind.yml b/taskcluster/kinds/post-balrog-dummy/kind.yml index e1a9849bbc..e1a9849bbc 100644 --- a/taskcluster/ci/post-balrog-dummy/kind.yml +++ b/taskcluster/kinds/post-balrog-dummy/kind.yml diff --git a/taskcluster/ci/post-beetmover-checksums-dummy/kind.yml b/taskcluster/kinds/post-beetmover-checksums-dummy/kind.yml index 40ff97dce8..40ff97dce8 100644 --- a/taskcluster/ci/post-beetmover-checksums-dummy/kind.yml +++ b/taskcluster/kinds/post-beetmover-checksums-dummy/kind.yml diff --git a/taskcluster/ci/post-beetmover-components-dummy/kind.yml b/taskcluster/kinds/post-beetmover-components-dummy/kind.yml index bf8d98a83c..bf8d98a83c 100644 --- a/taskcluster/ci/post-beetmover-components-dummy/kind.yml +++ b/taskcluster/kinds/post-beetmover-components-dummy/kind.yml diff --git a/taskcluster/ci/post-beetmover-dummy/kind.yml b/taskcluster/kinds/post-beetmover-dummy/kind.yml index e5d50ce256..e5d50ce256 100644 --- a/taskcluster/ci/post-beetmover-dummy/kind.yml +++ b/taskcluster/kinds/post-beetmover-dummy/kind.yml diff --git a/taskcluster/ci/post-langpack-dummy/kind.yml b/taskcluster/kinds/post-langpack-dummy/kind.yml index 95fe9f7684..95fe9f7684 100644 --- a/taskcluster/ci/post-langpack-dummy/kind.yml +++ b/taskcluster/kinds/post-langpack-dummy/kind.yml diff --git a/taskcluster/ci/post-signing/kind.yml b/taskcluster/kinds/post-signing/kind.yml index b07436b619..b07436b619 100644 --- a/taskcluster/ci/post-signing/kind.yml +++ b/taskcluster/kinds/post-signing/kind.yml diff --git a/taskcluster/ci/post-update-verify-dummy/kind.yml b/taskcluster/kinds/post-update-verify-dummy/kind.yml index 6d7bfb3515..6d7bfb3515 100644 --- a/taskcluster/ci/post-update-verify-dummy/kind.yml +++ b/taskcluster/kinds/post-update-verify-dummy/kind.yml diff --git a/taskcluster/ci/push-bundle/kind.yml b/taskcluster/kinds/push-bundle/kind.yml index 2c48a14177..2c48a14177 100644 --- a/taskcluster/ci/push-bundle/kind.yml +++ b/taskcluster/kinds/push-bundle/kind.yml diff --git a/taskcluster/ci/release-balrog-scheduling/kind.yml b/taskcluster/kinds/release-balrog-scheduling/kind.yml index 64bd751ca3..64bd751ca3 100644 --- a/taskcluster/ci/release-balrog-scheduling/kind.yml +++ b/taskcluster/kinds/release-balrog-scheduling/kind.yml diff --git a/taskcluster/ci/release-balrog-submit-toplevel/kind.yml b/taskcluster/kinds/release-balrog-submit-toplevel/kind.yml index dc1155df9d..dc1155df9d 100644 --- a/taskcluster/ci/release-balrog-submit-toplevel/kind.yml +++ b/taskcluster/kinds/release-balrog-submit-toplevel/kind.yml diff --git a/taskcluster/ci/release-beetmover-push-to-release/kind.yml b/taskcluster/kinds/release-beetmover-push-to-release/kind.yml index affc0f2c77..affc0f2c77 100644 --- a/taskcluster/ci/release-beetmover-push-to-release/kind.yml +++ b/taskcluster/kinds/release-beetmover-push-to-release/kind.yml diff --git a/taskcluster/ci/release-beetmover-signed-langpacks-checksums/kind.yml b/taskcluster/kinds/release-beetmover-signed-langpacks-checksums/kind.yml index 473f711a2a..473f711a2a 100644 --- a/taskcluster/ci/release-beetmover-signed-langpacks-checksums/kind.yml +++ b/taskcluster/kinds/release-beetmover-signed-langpacks-checksums/kind.yml diff --git a/taskcluster/kinds/release-beetmover-signed-langpacks/kind.yml b/taskcluster/kinds/release-beetmover-signed-langpacks/kind.yml new file mode 100644 index 0000000000..744198c466 --- /dev/null +++ b/taskcluster/kinds/release-beetmover-signed-langpacks/kind.yml @@ -0,0 +1,37 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +transforms: + - taskgraph.transforms.from_deps + - gecko_taskgraph.transforms.name_sanity + - gecko_taskgraph.transforms.release_beetmover_signed_addons + - gecko_taskgraph.transforms.task + +kind-dependencies: + - build-signing + - shippable-l10n-signing + +only-for-attributes: + - nightly + - shippable + +only-for-build-platforms: + - linux64-shippable/opt + - linux64-devedition/opt + +jobs: + release-beetmover-signed-langpacks: + description: Beetmover submission for platform-independent langpacks {locales} in {platform} directory + from-deps: + group-by: single-with-filters + worker-type: beetmover + run-on-projects: [] + shipping-phase: promote + attributes: + artifact_map: + by-release-type: + beta|release.*|esr.*: taskcluster/gecko_taskgraph/manifests/firefox_candidates.yml + default: taskcluster/gecko_taskgraph/manifests/firefox_nightly.yml diff --git a/taskcluster/ci/release-beetmover-source-checksums/kind.yml b/taskcluster/kinds/release-beetmover-source-checksums/kind.yml index d7a5bf828f..d7a5bf828f 100644 --- a/taskcluster/ci/release-beetmover-source-checksums/kind.yml +++ b/taskcluster/kinds/release-beetmover-source-checksums/kind.yml diff --git a/taskcluster/ci/release-bouncer-aliases/kind.yml b/taskcluster/kinds/release-bouncer-aliases/kind.yml index d1ce834c48..d1ce834c48 100644 --- a/taskcluster/ci/release-bouncer-aliases/kind.yml +++ b/taskcluster/kinds/release-bouncer-aliases/kind.yml diff --git a/taskcluster/ci/release-bouncer-check/kind.yml b/taskcluster/kinds/release-bouncer-check/kind.yml index 7b7133ffd5..7b7133ffd5 100644 --- a/taskcluster/ci/release-bouncer-check/kind.yml +++ b/taskcluster/kinds/release-bouncer-check/kind.yml diff --git a/taskcluster/ci/release-bouncer-sub/kind.yml b/taskcluster/kinds/release-bouncer-sub/kind.yml index 131b41b0a7..131b41b0a7 100644 --- a/taskcluster/ci/release-bouncer-sub/kind.yml +++ b/taskcluster/kinds/release-bouncer-sub/kind.yml diff --git a/taskcluster/ci/release-early-tagging/kind.yml b/taskcluster/kinds/release-early-tagging/kind.yml index 775bb4ed7e..775bb4ed7e 100644 --- a/taskcluster/ci/release-early-tagging/kind.yml +++ b/taskcluster/kinds/release-early-tagging/kind.yml diff --git a/taskcluster/ci/release-eme-free-repack-beetmover-checksums/kind.yml b/taskcluster/kinds/release-eme-free-repack-beetmover-checksums/kind.yml index c75a85ac54..c75a85ac54 100644 --- a/taskcluster/ci/release-eme-free-repack-beetmover-checksums/kind.yml +++ b/taskcluster/kinds/release-eme-free-repack-beetmover-checksums/kind.yml diff --git a/taskcluster/ci/release-eme-free-repack-beetmover/kind.yml b/taskcluster/kinds/release-eme-free-repack-beetmover/kind.yml index 7a33d0fb69..7a33d0fb69 100644 --- a/taskcluster/ci/release-eme-free-repack-beetmover/kind.yml +++ b/taskcluster/kinds/release-eme-free-repack-beetmover/kind.yml diff --git a/taskcluster/ci/release-eme-free-repack-mac-notarization/kind.yml b/taskcluster/kinds/release-eme-free-repack-mac-notarization/kind.yml index ff04daf61d..ff04daf61d 100644 --- a/taskcluster/ci/release-eme-free-repack-mac-notarization/kind.yml +++ b/taskcluster/kinds/release-eme-free-repack-mac-notarization/kind.yml diff --git a/taskcluster/ci/release-eme-free-repack-mac-signing/kind.yml b/taskcluster/kinds/release-eme-free-repack-mac-signing/kind.yml index 84d0e17dd1..84d0e17dd1 100644 --- a/taskcluster/ci/release-eme-free-repack-mac-signing/kind.yml +++ b/taskcluster/kinds/release-eme-free-repack-mac-signing/kind.yml diff --git a/taskcluster/ci/release-eme-free-repack-repackage-signing/kind.yml b/taskcluster/kinds/release-eme-free-repack-repackage-signing/kind.yml index c369761202..c369761202 100644 --- a/taskcluster/ci/release-eme-free-repack-repackage-signing/kind.yml +++ b/taskcluster/kinds/release-eme-free-repack-repackage-signing/kind.yml diff --git a/taskcluster/ci/release-eme-free-repack-repackage/kind.yml b/taskcluster/kinds/release-eme-free-repack-repackage/kind.yml index 78bc18fe6d..78bc18fe6d 100644 --- a/taskcluster/ci/release-eme-free-repack-repackage/kind.yml +++ b/taskcluster/kinds/release-eme-free-repack-repackage/kind.yml diff --git a/taskcluster/ci/release-eme-free-repack/kind.yml b/taskcluster/kinds/release-eme-free-repack/kind.yml index cc3e85071b..cc3e85071b 100644 --- a/taskcluster/ci/release-eme-free-repack/kind.yml +++ b/taskcluster/kinds/release-eme-free-repack/kind.yml diff --git a/taskcluster/ci/release-final-verify/kind.yml b/taskcluster/kinds/release-final-verify/kind.yml index b1319665cd..b1319665cd 100644 --- a/taskcluster/ci/release-final-verify/kind.yml +++ b/taskcluster/kinds/release-final-verify/kind.yml diff --git a/taskcluster/kinds/release-flatpak-push/kind.yml b/taskcluster/kinds/release-flatpak-push/kind.yml new file mode 100644 index 0000000000..94e0e42c16 --- /dev/null +++ b/taskcluster/kinds/release-flatpak-push/kind.yml @@ -0,0 +1,39 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +transforms: + - gecko_taskgraph.transforms.release:run_on_releases + - gecko_taskgraph.transforms.release_deps:transforms + - gecko_taskgraph.transforms.release_flatpak_push:transforms + - gecko_taskgraph.transforms.task:transforms + +kind-dependencies: + - release-flatpak-repackage + +job-defaults: + description: Pushes Flatpaks onto Flathub + run-on-projects: [] # to make sure this never runs as part of CI + run-on-releases: [beta, release, release-rc] + shipping-phase: ship + treeherder: + platform: linux64/opt + kind: build + tier: 2 + worker-type: pushflatpak + worker: + implementation: push-flatpak + channel: + by-release-type: + beta: beta + release: stable + default: mock + +jobs: + firefox: + shipping-product: firefox + flathub-scope: "flathub:firefox" + treeherder: + symbol: Flatpak(push) diff --git a/taskcluster/ci/release-flatpak-repackage/kind.yml b/taskcluster/kinds/release-flatpak-repackage/kind.yml index ecc86bf4ab..ecc86bf4ab 100644 --- a/taskcluster/ci/release-flatpak-repackage/kind.yml +++ b/taskcluster/kinds/release-flatpak-repackage/kind.yml diff --git a/taskcluster/ci/release-generate-checksums-beetmover/kind.yml b/taskcluster/kinds/release-generate-checksums-beetmover/kind.yml index ca998ea2f2..ca998ea2f2 100644 --- a/taskcluster/ci/release-generate-checksums-beetmover/kind.yml +++ b/taskcluster/kinds/release-generate-checksums-beetmover/kind.yml diff --git a/taskcluster/ci/release-generate-checksums-signing/kind.yml b/taskcluster/kinds/release-generate-checksums-signing/kind.yml index a86b4c8dc5..a86b4c8dc5 100644 --- a/taskcluster/ci/release-generate-checksums-signing/kind.yml +++ b/taskcluster/kinds/release-generate-checksums-signing/kind.yml diff --git a/taskcluster/ci/release-generate-checksums/kind.yml b/taskcluster/kinds/release-generate-checksums/kind.yml index 71018c8cef..71018c8cef 100644 --- a/taskcluster/ci/release-generate-checksums/kind.yml +++ b/taskcluster/kinds/release-generate-checksums/kind.yml diff --git a/taskcluster/ci/release-mark-as-shipped/kind.yml b/taskcluster/kinds/release-mark-as-shipped/kind.yml index 05faa3f88e..05faa3f88e 100644 --- a/taskcluster/ci/release-mark-as-shipped/kind.yml +++ b/taskcluster/kinds/release-mark-as-shipped/kind.yml diff --git a/taskcluster/kinds/release-msix-push/kind.yml b/taskcluster/kinds/release-msix-push/kind.yml new file mode 100644 index 0000000000..39de997bef --- /dev/null +++ b/taskcluster/kinds/release-msix-push/kind.yml @@ -0,0 +1,42 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +transforms: + - gecko_taskgraph.transforms.release:run_on_releases + - gecko_taskgraph.transforms.release_deps:transforms + - gecko_taskgraph.transforms.release_msix_push:transforms + - gecko_taskgraph.transforms.task:transforms + +kind-dependencies: + - repackage-shippable-l10n-msix + +job-defaults: + description: Pushes msix archives to Microsoft Store + run-on-projects: [] # to make sure this never runs as part of CI + run-on-releases: [beta, release, release-rc] + shipping-phase: ship # note override in transform + treeherder: + platform: win32-shippable/opt + kind: build + tier: 2 + worker-type: pushmsix + worker: + implementation: push-msix + channel: + by-release-type: + beta: beta + release.*: release + default: mock + publish-mode: + by-release-type: + beta: Immediate + default: Manual + +jobs: + firefox: + shipping-product: firefox + treeherder: + symbol: MSIX(push) diff --git a/taskcluster/ci/release-notify-av-announce/kind.yml b/taskcluster/kinds/release-notify-av-announce/kind.yml index 45a0e5db53..45a0e5db53 100644 --- a/taskcluster/ci/release-notify-av-announce/kind.yml +++ b/taskcluster/kinds/release-notify-av-announce/kind.yml diff --git a/taskcluster/ci/release-notify-promote/kind.yml b/taskcluster/kinds/release-notify-promote/kind.yml index bc53da5a49..bc53da5a49 100644 --- a/taskcluster/ci/release-notify-promote/kind.yml +++ b/taskcluster/kinds/release-notify-promote/kind.yml diff --git a/taskcluster/ci/release-notify-push/kind.yml b/taskcluster/kinds/release-notify-push/kind.yml index be1a7b5be8..be1a7b5be8 100644 --- a/taskcluster/ci/release-notify-push/kind.yml +++ b/taskcluster/kinds/release-notify-push/kind.yml diff --git a/taskcluster/ci/release-notify-ship/kind.yml b/taskcluster/kinds/release-notify-ship/kind.yml index fe3eced6e7..fe3eced6e7 100644 --- a/taskcluster/ci/release-notify-ship/kind.yml +++ b/taskcluster/kinds/release-notify-ship/kind.yml diff --git a/taskcluster/ci/release-notify-started/kind.yml b/taskcluster/kinds/release-notify-started/kind.yml index 929c07ec59..929c07ec59 100644 --- a/taskcluster/ci/release-notify-started/kind.yml +++ b/taskcluster/kinds/release-notify-started/kind.yml diff --git a/taskcluster/ci/release-notify-testrail/kind.yml b/taskcluster/kinds/release-notify-testrail/kind.yml index 5e4fa41307..5e4fa41307 100644 --- a/taskcluster/ci/release-notify-testrail/kind.yml +++ b/taskcluster/kinds/release-notify-testrail/kind.yml diff --git a/taskcluster/ci/release-partner-attribution-beetmover/kind.yml b/taskcluster/kinds/release-partner-attribution-beetmover/kind.yml index 2851ff7d37..2851ff7d37 100644 --- a/taskcluster/ci/release-partner-attribution-beetmover/kind.yml +++ b/taskcluster/kinds/release-partner-attribution-beetmover/kind.yml diff --git a/taskcluster/ci/release-partner-attribution/kind.yml b/taskcluster/kinds/release-partner-attribution/kind.yml index 1da2656150..1da2656150 100644 --- a/taskcluster/ci/release-partner-attribution/kind.yml +++ b/taskcluster/kinds/release-partner-attribution/kind.yml diff --git a/taskcluster/ci/release-partner-repack-beetmover/kind.yml b/taskcluster/kinds/release-partner-repack-beetmover/kind.yml index 164446f683..164446f683 100644 --- a/taskcluster/ci/release-partner-repack-beetmover/kind.yml +++ b/taskcluster/kinds/release-partner-repack-beetmover/kind.yml diff --git a/taskcluster/ci/release-partner-repack-bouncer-sub/kind.yml b/taskcluster/kinds/release-partner-repack-bouncer-sub/kind.yml index 98fa149810..98fa149810 100644 --- a/taskcluster/ci/release-partner-repack-bouncer-sub/kind.yml +++ b/taskcluster/kinds/release-partner-repack-bouncer-sub/kind.yml diff --git a/taskcluster/ci/release-partner-repack-chunking-dummy/kind.yml b/taskcluster/kinds/release-partner-repack-chunking-dummy/kind.yml index 4975931312..4975931312 100644 --- a/taskcluster/ci/release-partner-repack-chunking-dummy/kind.yml +++ b/taskcluster/kinds/release-partner-repack-chunking-dummy/kind.yml diff --git a/taskcluster/ci/release-partner-repack-mac-notarization/kind.yml b/taskcluster/kinds/release-partner-repack-mac-notarization/kind.yml index ee7a78e54f..ee7a78e54f 100644 --- a/taskcluster/ci/release-partner-repack-mac-notarization/kind.yml +++ b/taskcluster/kinds/release-partner-repack-mac-notarization/kind.yml diff --git a/taskcluster/ci/release-partner-repack-mac-signing/kind.yml b/taskcluster/kinds/release-partner-repack-mac-signing/kind.yml index dec5189979..dec5189979 100644 --- a/taskcluster/ci/release-partner-repack-mac-signing/kind.yml +++ b/taskcluster/kinds/release-partner-repack-mac-signing/kind.yml diff --git a/taskcluster/ci/release-partner-repack-repackage-signing/kind.yml b/taskcluster/kinds/release-partner-repack-repackage-signing/kind.yml index 2242023f91..2242023f91 100644 --- a/taskcluster/ci/release-partner-repack-repackage-signing/kind.yml +++ b/taskcluster/kinds/release-partner-repack-repackage-signing/kind.yml diff --git a/taskcluster/ci/release-partner-repack-repackage/kind.yml b/taskcluster/kinds/release-partner-repack-repackage/kind.yml index 099c55240f..099c55240f 100644 --- a/taskcluster/ci/release-partner-repack-repackage/kind.yml +++ b/taskcluster/kinds/release-partner-repack-repackage/kind.yml diff --git a/taskcluster/ci/release-partner-repack/kind.yml b/taskcluster/kinds/release-partner-repack/kind.yml index 2a5d2fc996..2a5d2fc996 100644 --- a/taskcluster/ci/release-partner-repack/kind.yml +++ b/taskcluster/kinds/release-partner-repack/kind.yml diff --git a/taskcluster/ci/release-push-langpacks/kind.yml b/taskcluster/kinds/release-push-langpacks/kind.yml index fbc5bcc8a9..fbc5bcc8a9 100644 --- a/taskcluster/ci/release-push-langpacks/kind.yml +++ b/taskcluster/kinds/release-push-langpacks/kind.yml diff --git a/taskcluster/ci/release-secondary-balrog-scheduling/kind.yml b/taskcluster/kinds/release-secondary-balrog-scheduling/kind.yml index 9a230639b9..9a230639b9 100644 --- a/taskcluster/ci/release-secondary-balrog-scheduling/kind.yml +++ b/taskcluster/kinds/release-secondary-balrog-scheduling/kind.yml diff --git a/taskcluster/ci/release-secondary-balrog-submit-toplevel/kind.yml b/taskcluster/kinds/release-secondary-balrog-submit-toplevel/kind.yml index d742b4fb61..d742b4fb61 100644 --- a/taskcluster/ci/release-secondary-balrog-submit-toplevel/kind.yml +++ b/taskcluster/kinds/release-secondary-balrog-submit-toplevel/kind.yml diff --git a/taskcluster/ci/release-secondary-final-verify/kind.yml b/taskcluster/kinds/release-secondary-final-verify/kind.yml index 0d2e58d01d..0d2e58d01d 100644 --- a/taskcluster/ci/release-secondary-final-verify/kind.yml +++ b/taskcluster/kinds/release-secondary-final-verify/kind.yml diff --git a/taskcluster/kinds/release-secondary-flatpak-push/kind.yml b/taskcluster/kinds/release-secondary-flatpak-push/kind.yml new file mode 100644 index 0000000000..0f915d8d26 --- /dev/null +++ b/taskcluster/kinds/release-secondary-flatpak-push/kind.yml @@ -0,0 +1,35 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +transforms: + - gecko_taskgraph.transforms.release:run_on_releases + - gecko_taskgraph.transforms.release_deps:transforms + - gecko_taskgraph.transforms.release_flatpak_push:transforms + - gecko_taskgraph.transforms.task:transforms + +kind-dependencies: + - release-flatpak-repackage + +job-defaults: + description: Pushes Flatpaks onto Flathub + run-on-projects: [] # to make sure this never runs as part of CI + run-on-releases: [release-rc] + shipping-phase: ship # ship-rc phase + treeherder: + platform: linux64/opt + kind: build + tier: 2 + worker-type: pushflatpak + worker: + implementation: push-flatpak + channel: beta + +jobs: + firefox-rc: + shipping-product: firefox + flathub-scope: "flathub:firefox" + treeherder: + symbol: Flatpak(push-beta) diff --git a/taskcluster/ci/release-secondary-notify-ship/kind.yml b/taskcluster/kinds/release-secondary-notify-ship/kind.yml index ab9b20ed62..ab9b20ed62 100644 --- a/taskcluster/ci/release-secondary-notify-ship/kind.yml +++ b/taskcluster/kinds/release-secondary-notify-ship/kind.yml diff --git a/taskcluster/ci/release-secondary-update-verify-config/kind.yml b/taskcluster/kinds/release-secondary-update-verify-config/kind.yml index 7e28131a5e..7e28131a5e 100644 --- a/taskcluster/ci/release-secondary-update-verify-config/kind.yml +++ b/taskcluster/kinds/release-secondary-update-verify-config/kind.yml diff --git a/taskcluster/ci/release-secondary-update-verify/kind.yml b/taskcluster/kinds/release-secondary-update-verify/kind.yml index f567cf7ae3..f567cf7ae3 100644 --- a/taskcluster/ci/release-secondary-update-verify/kind.yml +++ b/taskcluster/kinds/release-secondary-update-verify/kind.yml diff --git a/taskcluster/ci/release-snap-repackage/kind.yml b/taskcluster/kinds/release-snap-repackage/kind.yml index 73d9d8a410..73d9d8a410 100644 --- a/taskcluster/ci/release-snap-repackage/kind.yml +++ b/taskcluster/kinds/release-snap-repackage/kind.yml diff --git a/taskcluster/ci/release-source-checksums-signing/kind.yml b/taskcluster/kinds/release-source-checksums-signing/kind.yml index de9f98acc0..de9f98acc0 100644 --- a/taskcluster/ci/release-source-checksums-signing/kind.yml +++ b/taskcluster/kinds/release-source-checksums-signing/kind.yml diff --git a/taskcluster/ci/release-source-signing/kind.yml b/taskcluster/kinds/release-source-signing/kind.yml index 9ab9e37d88..9ab9e37d88 100644 --- a/taskcluster/ci/release-source-signing/kind.yml +++ b/taskcluster/kinds/release-source-signing/kind.yml diff --git a/taskcluster/kinds/release-source/kind.yml b/taskcluster/kinds/release-source/kind.yml new file mode 100644 index 0000000000..ff2ee375f7 --- /dev/null +++ b/taskcluster/kinds/release-source/kind.yml @@ -0,0 +1,51 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +kind-dependencies: + - toolchain + +transforms: + - gecko_taskgraph.transforms.build:transforms + - gecko_taskgraph.transforms.build_attrs:transforms + - gecko_taskgraph.transforms.build_lints:transforms + - gecko_taskgraph.transforms.job:transforms + - gecko_taskgraph.transforms.task:transforms + + +job-defaults: + shipping-phase: promote + treeherder: + symbol: Src + worker-type: b-linux-gcp + worker: + max-run-time: 3600 + env: + PKG_SRCPACK_BASENAME: source + attributes: + shippable: true + run: + using: mozharness + actions: [package-source] + script: "mozharness/scripts/fx_desktop_build.py" + config: + - builds/releng_sub_linux_configs/64_source.py + options: [] + tooltool-downloads: public + run-on-projects: [] + optimization: null + +jobs: + firefox-source/opt: + description: "Firefox source builder" + treeherder: + platform: firefox-release/opt + shipping-product: firefox + + devedition-source/opt: + description: "Devedition source builder" + treeherder: + platform: devedition-release/opt + shipping-product: devedition diff --git a/taskcluster/ci/release-update-verify-config-next/kind.yml b/taskcluster/kinds/release-update-verify-config-next/kind.yml index 959d0afb9a..959d0afb9a 100644 --- a/taskcluster/ci/release-update-verify-config-next/kind.yml +++ b/taskcluster/kinds/release-update-verify-config-next/kind.yml diff --git a/taskcluster/ci/release-update-verify-config/kind.yml b/taskcluster/kinds/release-update-verify-config/kind.yml index d4e40cda12..d4e40cda12 100644 --- a/taskcluster/ci/release-update-verify-config/kind.yml +++ b/taskcluster/kinds/release-update-verify-config/kind.yml diff --git a/taskcluster/ci/release-update-verify-next/kind.yml b/taskcluster/kinds/release-update-verify-next/kind.yml index ad72e9b118..ad72e9b118 100644 --- a/taskcluster/ci/release-update-verify-next/kind.yml +++ b/taskcluster/kinds/release-update-verify-next/kind.yml diff --git a/taskcluster/ci/release-update-verify/kind.yml b/taskcluster/kinds/release-update-verify/kind.yml index ec7f9874da..ec7f9874da 100644 --- a/taskcluster/ci/release-update-verify/kind.yml +++ b/taskcluster/kinds/release-update-verify/kind.yml diff --git a/taskcluster/ci/release-version-bump/kind.yml b/taskcluster/kinds/release-version-bump/kind.yml index 114d52df95..114d52df95 100644 --- a/taskcluster/ci/release-version-bump/kind.yml +++ b/taskcluster/kinds/release-version-bump/kind.yml diff --git a/taskcluster/ci/repackage-deb-l10n/kind.yml b/taskcluster/kinds/repackage-deb-l10n/kind.yml index a22e50787a..a22e50787a 100644 --- a/taskcluster/ci/repackage-deb-l10n/kind.yml +++ b/taskcluster/kinds/repackage-deb-l10n/kind.yml diff --git a/taskcluster/kinds/repackage-deb/kind.yml b/taskcluster/kinds/repackage-deb/kind.yml new file mode 100644 index 0000000000..779aaf2659 --- /dev/null +++ b/taskcluster/kinds/repackage-deb/kind.yml @@ -0,0 +1,54 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +transforms: + - taskgraph.transforms.from_deps + - gecko_taskgraph.transforms.name_sanity + - gecko_taskgraph.transforms.repackage + - gecko_taskgraph.transforms.repackage_routes + - gecko_taskgraph.transforms.job + - gecko_taskgraph.transforms.task + +kind-dependencies: + - build-signing + - toolchain + +only-for-build-platforms: + - linux-shippable/opt + - linux-devedition/opt + - linux64-shippable/opt + - linux64-devedition/opt + - linux64-aarch64-shippable/opt + +only-for-attributes: + - nightly + - shippable + +jobs: + repackage-deb: + from-deps: + group-by: single-with-filters + shipping-phase: promote + worker-type: b-linux-gcp + worker: + docker-image: + in-tree: debian12-repackage + mozharness: + run-as-root: true + use-caches: false + config: + by-build-platform: + linux\b.*: + - repackage/base.py + - repackage/linux32_signed.py + linux64\b.*: + - repackage/base.py + - repackage/linux64_signed.py + treeherder: + symbol: Rpk-deb + package-formats: + by-build-platform: + linux.*: [deb] diff --git a/taskcluster/kinds/repackage-l10n/kind.yml b/taskcluster/kinds/repackage-l10n/kind.yml new file mode 100644 index 0000000000..8be0cb19cc --- /dev/null +++ b/taskcluster/kinds/repackage-l10n/kind.yml @@ -0,0 +1,87 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +transforms: + - taskgraph.transforms.from_deps + - gecko_taskgraph.transforms.repackage_set_upstream_mac_kind + - gecko_taskgraph.transforms.repackage_l10n + - gecko_taskgraph.transforms.name_sanity + - gecko_taskgraph.transforms.repackage + - gecko_taskgraph.transforms.job + - gecko_taskgraph.transforms.task + +kind-dependencies: + - shippable-l10n-signing + - shippable-l10n-mac-signing + - shippable-l10n-mac-notarization + - toolchain + +only-for-build-platforms: + - linux-shippable/opt + - linux64-shippable/opt + - linux64-aarch64-shippable/opt + - macosx64-shippable/opt + - win32-shippable/opt + - win64-shippable/opt + - win64-aarch64-shippable/opt + - linux-devedition/opt + - linux64-devedition/opt + - macosx64-devedition/opt + - win32-devedition/opt + - win64-devedition/opt + - win64-aarch64-devedition/opt + +jobs: + repackage-l10n: + from-deps: + group-by: single-with-filters + upstream-mac-kind: + by-build-type: + debug: shippable-l10n-mac-signing + default: + by-project: + mozilla-(central|beta|release|esr.*): shippable-l10n-mac-notarization + default: shippable-l10n-mac-signing + worker-type: b-linux-gcp + mozharness: + config: + by-build-platform: + linux-.*: + - repackage/base.py + - repackage/linux32_signed.py + linux64-.*: + - repackage/base.py + - repackage/linux64_signed.py + macosx64-.*: + - repackage/base.py + - repackage/osx_signed.py + win32\b.*: + - repackage/base.py + - repackage/win32_sfx_stub.py + - repackage/win32_signed.py + win64(?!-aarch64)\b.*: + - repackage/base.py + - repackage/win32_sfx_stub.py + - repackage/win64_signed.py + win64-aarch64\b.*: + - repackage/base.py + - repackage/win64-aarch64_sfx_stub.py + - repackage/win64_signed.py + package-formats: + by-build-platform: + macosx64\b.*: + by-build-type: + # Debug builds can't be attributable + debug: [dmg, mar, pkg] + default: [dmg-attrib, mar, pkg] + linux.*: [mar] + win32\b.*: [mar, installer] + win64\b.*: [mar, installer] + fetches: + toolchain: + - linux64-mar-tools + - linux64-upx + treeherder-group: L10n-Rpk diff --git a/taskcluster/ci/repackage-msi/kind.yml b/taskcluster/kinds/repackage-msi/kind.yml index fa2fb3ada3..fa2fb3ada3 100644 --- a/taskcluster/ci/repackage-msi/kind.yml +++ b/taskcluster/kinds/repackage-msi/kind.yml diff --git a/taskcluster/ci/repackage-msix/kind.yml b/taskcluster/kinds/repackage-msix/kind.yml index 96ff07c77c..96ff07c77c 100644 --- a/taskcluster/ci/repackage-msix/kind.yml +++ b/taskcluster/kinds/repackage-msix/kind.yml diff --git a/taskcluster/ci/repackage-shippable-l10n-msix/kind.yml b/taskcluster/kinds/repackage-shippable-l10n-msix/kind.yml index 021896a7ad..021896a7ad 100644 --- a/taskcluster/ci/repackage-shippable-l10n-msix/kind.yml +++ b/taskcluster/kinds/repackage-shippable-l10n-msix/kind.yml diff --git a/taskcluster/ci/repackage-signing-l10n/kind.yml b/taskcluster/kinds/repackage-signing-l10n/kind.yml index 9d274b1ee3..9d274b1ee3 100644 --- a/taskcluster/ci/repackage-signing-l10n/kind.yml +++ b/taskcluster/kinds/repackage-signing-l10n/kind.yml diff --git a/taskcluster/ci/repackage-signing-msi/kind.yml b/taskcluster/kinds/repackage-signing-msi/kind.yml index 8a6691413a..8a6691413a 100644 --- a/taskcluster/ci/repackage-signing-msi/kind.yml +++ b/taskcluster/kinds/repackage-signing-msi/kind.yml diff --git a/taskcluster/ci/repackage-signing-msix/kind.yml b/taskcluster/kinds/repackage-signing-msix/kind.yml index 4976f08366..4976f08366 100644 --- a/taskcluster/ci/repackage-signing-msix/kind.yml +++ b/taskcluster/kinds/repackage-signing-msix/kind.yml diff --git a/taskcluster/ci/repackage-signing-shippable-l10n-msix/kind.yml b/taskcluster/kinds/repackage-signing-shippable-l10n-msix/kind.yml index 0f6f7787ee..0f6f7787ee 100644 --- a/taskcluster/ci/repackage-signing-shippable-l10n-msix/kind.yml +++ b/taskcluster/kinds/repackage-signing-shippable-l10n-msix/kind.yml diff --git a/taskcluster/ci/repackage-signing/kind.yml b/taskcluster/kinds/repackage-signing/kind.yml index 49ea244a9e..49ea244a9e 100644 --- a/taskcluster/ci/repackage-signing/kind.yml +++ b/taskcluster/kinds/repackage-signing/kind.yml diff --git a/taskcluster/ci/repackage/kind.yml b/taskcluster/kinds/repackage/kind.yml index b9f94f4a89..b9f94f4a89 100644 --- a/taskcluster/ci/repackage/kind.yml +++ b/taskcluster/kinds/repackage/kind.yml diff --git a/taskcluster/ci/repo-update/kind.yml b/taskcluster/kinds/repo-update/kind.yml index 50c7c0ac0e..50c7c0ac0e 100644 --- a/taskcluster/ci/repo-update/kind.yml +++ b/taskcluster/kinds/repo-update/kind.yml diff --git a/taskcluster/ci/scriptworker-canary/kind.yml b/taskcluster/kinds/scriptworker-canary/kind.yml index a1ee225b89..a1ee225b89 100644 --- a/taskcluster/ci/scriptworker-canary/kind.yml +++ b/taskcluster/kinds/scriptworker-canary/kind.yml diff --git a/taskcluster/kinds/searchfox/kind.yml b/taskcluster/kinds/searchfox/kind.yml new file mode 100644 index 0000000000..4ea3203d9f --- /dev/null +++ b/taskcluster/kinds/searchfox/kind.yml @@ -0,0 +1,223 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +kind-dependencies: + - toolchain + - fetch + +transforms: + - gecko_taskgraph.transforms.build:transforms + - gecko_taskgraph.transforms.build_attrs:transforms + - gecko_taskgraph.transforms.build_lints:transforms + - gecko_taskgraph.transforms.job:transforms + - gecko_taskgraph.transforms.task:transforms + +job-defaults: + index: + product: firefox + treeherder: + symbol: Searchfox(idx) + kind: build + tier: 2 + run-on-projects: ['mozilla-central'] + optimization: null + use-python: default + # These builds don't use sccache because otherwise we wouldn't index + # the files that sccache optimizes away compilation for. + use-sccache: false + +jobs: + linux64-searchfox/debug: + description: "Linux64 Debug Searchfox" + index: + job-name: linux64-searchfox-debug + treeherder: + platform: linux64/debug + worker-type: b-linux-gcp + worker: + max-run-time: 10800 + env: + PERFHERDER_EXTRA_OPTIONS: searchfox + MOZSEARCH_PLATFORM: "linux" + run: + using: mozharness + actions: [build] + config: + - builds/releng_base_firefox.py + - builds/releng_sub_linux_configs/64_searchfox_and_debug.py + script: "mozharness/scripts/fx_desktop_build.py" + tooltool-downloads: public + keep-artifacts: false + fetches: + toolchain: + - linux64-clang + - linux64-nasm + - linux64-node + - linux64-rust + - linux64-cbindgen + - linux64-dump_syms + - linux64-pkgconf + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + + macosx64-searchfox/debug: + description: "MacOS X x64 Debug Cross-compile Searchfox" + index: + job-name: macosx64-searchfox-debug + treeherder: + platform: osx-cross/debug + worker-type: b-linux-gcp + worker: + max-run-time: 10800 + env: + PERFHERDER_EXTRA_OPTIONS: searchfox + MOZSEARCH_PLATFORM: "macosx" + run: + using: mozharness + actions: [get-secrets, build] + config: + - builds/releng_base_firefox.py + - builds/releng_base_mac_64_cross_builds.py + script: "mozharness/scripts/fx_desktop_build.py" + custom-build-variant-cfg: cross-debug-searchfox + secrets: true + keep-artifacts: false + fetches: + toolchain: + - linux64-clang + - linux64-hfsplus + - linux64-libdmg + - linux64-nasm + - linux64-node + - linux64-rust-cross + - linux64-cbindgen + - linux64-dump_syms + - macosx64-sdk + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + + ios-searchfox/debug: + description: "ios Debug Cross-compile Searchfox" + index: + job-name: ios-searchfox-debug + treeherder: + platform: ios/debug + worker-type: b-linux-gcp + worker: + max-run-time: 10800 + env: + PERFHERDER_EXTRA_OPTIONS: searchfox + MOZSEARCH_PLATFORM: "ios" + run: + using: mozharness + actions: [get-secrets, build] + config: + - builds/releng_base_firefox.py + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + keep-artifacts: false + extra-config: + app_name: mobile/ios + stage_platform: ios + mozconfig_platform: ios + disable_package_metrics: true + mozconfig-variant: debug-searchfox + fetches: + toolchain: + - linux64-clang + - linux64-hfsplus + - linux64-libdmg + - linux64-nasm + - linux64-node + - linux64-rust-ios + - linux64-cbindgen + - linux64-dump_syms + - ios-sdk + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + + win64-searchfox/debug: + description: "Win64 Searchfox Debug (clang-cl)" + index: + job-name: win64-searchfox-debug + treeherder: + platform: windows2012-64/debug + worker-type: b-linux-gcp + worker: + max-run-time: 10800 + env: + PERFHERDER_EXTRA_OPTIONS: searchfox + MOZSEARCH_PLATFORM: "windows" + run: + using: mozharness + options: [append-env-variables-from-configs] + actions: [get-secrets, build] + script: mozharness/scripts/fx_desktop_build.py + secrets: true + config: + - builds/releng_base_firefox.py + - builds/releng_base_linux_64_builds.py + - builds/taskcluster_sub_win64/searchfox_debug.py + extra-config: + mozconfig_platform: win64 + fetches: + toolchain: + - linux64-clang + - linux64-rust-cross + - linux64-rust-size + - linux64-nasm + - linux64-node + - linux64-cbindgen + - linux64-dump_syms + - linux64-wine + - linux64-winchecksec + - nsis + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + - vs + - windows-rs + fetch: + - upx-3.95-win + + android-armv7-searchfox/debug: + description: "Android ARMv7 Debug Searchfox" + index: + job-name: android-armv7-searchfox-debug + treeherder: + platform: android-4-1-armv7/debug + worker-type: b-linux-gcp + worker: + docker-image: {in-tree: android-build} + max-run-time: 10800 + env: + PERFHERDER_EXTRA_OPTIONS: searchfox + MOZSEARCH_PLATFORM: "android-armv7" + GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline" + TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" + run: + using: mozharness + actions: [get-secrets, build] + config: + - builds/releng_base_android_64_builds.py + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + custom-build-variant-cfg: arm-debug-searchfox + tooltool-downloads: internal + fetches: + toolchain: + - android-gradle-dependencies + - android-ndk-linux + - android-sdk-linux + - linux64-jdk + - linux64-clang + - linux64-rust-cross + - linux64-rust-size + - linux64-cbindgen + - linux64-dump_syms + - linux64-nasm + - linux64-node + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi diff --git a/taskcluster/ci/sentry/kind.yml b/taskcluster/kinds/sentry/kind.yml index bfc3cf07a2..bfc3cf07a2 100644 --- a/taskcluster/ci/sentry/kind.yml +++ b/taskcluster/kinds/sentry/kind.yml diff --git a/taskcluster/ci/shippable-l10n-mac-notarization/kind.yml b/taskcluster/kinds/shippable-l10n-mac-notarization/kind.yml index 461eac91ac..461eac91ac 100644 --- a/taskcluster/ci/shippable-l10n-mac-notarization/kind.yml +++ b/taskcluster/kinds/shippable-l10n-mac-notarization/kind.yml diff --git a/taskcluster/ci/shippable-l10n-mac-signing/kind.yml b/taskcluster/kinds/shippable-l10n-mac-signing/kind.yml index 21fe44b4f0..21fe44b4f0 100644 --- a/taskcluster/ci/shippable-l10n-mac-signing/kind.yml +++ b/taskcluster/kinds/shippable-l10n-mac-signing/kind.yml diff --git a/taskcluster/ci/shippable-l10n-signing/kind.yml b/taskcluster/kinds/shippable-l10n-signing/kind.yml index fdb545381f..fdb545381f 100644 --- a/taskcluster/ci/shippable-l10n-signing/kind.yml +++ b/taskcluster/kinds/shippable-l10n-signing/kind.yml diff --git a/taskcluster/kinds/shippable-l10n/kind.yml b/taskcluster/kinds/shippable-l10n/kind.yml new file mode 100644 index 0000000000..ddd6c25401 --- /dev/null +++ b/taskcluster/kinds/shippable-l10n/kind.yml @@ -0,0 +1,208 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +transforms: + - taskgraph.transforms.from_deps + - gecko_taskgraph.transforms.l10n + - gecko_taskgraph.transforms.job + - gecko_taskgraph.transforms.task + +kind-dependencies: + - build + - build-signing + - fetch + - repackage + - toolchain + +only-for-build-platforms: + - linux64-shippable/opt + - linux-shippable/opt + - linux64-aarch64-shippable/opt + - macosx64-shippable/opt + - win32-shippable/opt + - win64-shippable/opt + - win64-aarch64-shippable/opt + - linux64-devedition/opt + - linux-devedition/opt + - macosx64-devedition/opt + - win32-devedition/opt + - win64-devedition/opt + - win64-aarch64-devedition/opt + +jobs: + shippable-l10n: + description: Localization + from-deps: + group-by: platform + locales-file: browser/locales/l10n-changesets.json + locales-per-chunk: 5 + run-on-projects: ['release'] + attributes: + shipping_phase: promote + ignore-locales: + by-build-platform: + # OSX has a special locale for japanese + macosx64.*: [ja] + default: [ja-JP-mac] + run-time: 1800 + fetches: + toolchain: + by-build-platform: + default: [] + macosx64.*: + - linux64-libdmg + - linux64-hfsplus + win.*: + - linux64-wine + - nsis + fetch: + by-build-platform: + default: [] + win.*: + - upx-3.95-win + tooltool: + by-build-platform: + default: internal + linux.*: public + index: + type: shippable-l10n + product: + by-build-platform: + default: firefox + .*-devedition: devedition + job-name: + by-build-platform: + linux-shippable: linux-opt + linux64-shippable: linux64-opt + linux64-aarch64-shippable: linux64-aarch64-opt + macosx64-shippable: macosx64-opt + win32-shippable: win32-opt + win64-shippable: win64-opt + win64-aarch64-shippable: win64-aarch64-opt + linux-devedition: linux-devedition-opt + linux64-devedition: linux64-devedition-opt + macosx64-devedition: macosx64-devedition-opt + win32-devedition: win32-devedition-opt + win64-devedition: win64-devedition-opt + win64-aarch64-devedition: win64-aarch64-devedition-opt + worker-type: b-linux-gcp + treeherder: + symbol: L10n(B) + tier: 1 + platform: + by-build-platform: + linux64-shippable: linux64-shippable/opt + linux64-aarch64-shippable: linux64-aarch64-shippable/opt + linux-shippable: linux32-shippable/opt + macosx64-shippable: osx-shippable/opt + win32-shippable: windows2012-32-shippable/opt + win64-shippable: windows2012-64-shippable/opt + win64-aarch64-shippable: windows2012-aarch64-shippable/opt + linux64-devedition: linux64-devedition/opt + linux-devedition: linux32-devedition/opt + macosx64-devedition: osx-cross-devedition/opt + win32-devedition: windows2012-32-devedition/opt + win64-devedition: windows2012-64-devedition/opt + win64-aarch64-devedition: windows2012-aarch64-devedition/opt + env: + by-build-platform: + linux.*: # linux64 and 32 get same treatment here + EN_US_PACKAGE_NAME: target.tar.bz2 + EN_US_BINARY_URL: + artifact-reference: <build-signing/{artifact_prefix}> + macosx64.*: + EN_US_PACKAGE_NAME: target.dmg + EN_US_BINARY_URL: + artifact-reference: <repackage/{artifact_prefix}> + win.*: + EN_US_PACKAGE_NAME: target.zip + EN_US_BINARY_URL: + artifact-reference: <build-signing/{artifact_prefix}> + mozharness: + config: + by-build-platform: + linux-shippable: + - single_locale/firefox.py + - single_locale/linux32.py + - single_locale/tc_common.py + - single_locale/tc_linux_common.py + - taskcluster_nightly.py + linux64-shippable: + - single_locale/firefox.py + - single_locale/linux64.py + - single_locale/tc_common.py + - single_locale/tc_linux_common.py + - taskcluster_nightly.py + linux64-aarch64-shippable: + - single_locale/firefox.py + - single_locale/linux64.py + - single_locale/tc_common.py + - single_locale/tc_linux_common.py + - taskcluster_nightly.py + macosx64-shippable: + - single_locale/firefox.py + - single_locale/macosx64.py + - single_locale/tc_common.py + - single_locale/tc_macosx64.py + - taskcluster_nightly.py + win32-shippable: + - single_locale/firefox.py + - single_locale/win32.py + - single_locale/tc_common.py + - single_locale/tc_win32.py + - taskcluster_nightly.py + win64-shippable: + - single_locale/firefox.py + - single_locale/win64.py + - single_locale/tc_common.py + - single_locale/tc_win64.py + - taskcluster_nightly.py + win64-aarch64-shippable: + - single_locale/firefox.py + - single_locale/win64-aarch64.py + - single_locale/tc_common.py + - single_locale/tc_win64.py + - taskcluster_nightly.py + linux-devedition: + - single_locale/devedition.py + - single_locale/linux32.py + - single_locale/tc_common.py + - single_locale/tc_linux_common.py + - taskcluster_nightly.py + linux64-devedition: + - single_locale/devedition.py + - single_locale/linux64.py + - single_locale/tc_common.py + - single_locale/tc_linux_common.py + - taskcluster_nightly.py + macosx64-devedition: + - single_locale/devedition.py + - single_locale/macosx64.py + - single_locale/tc_common.py + - single_locale/tc_macosx64.py + - taskcluster_nightly.py + win32-devedition: + - single_locale/devedition.py + - single_locale/win32.py + - single_locale/tc_common.py + - single_locale/tc_win32.py + - taskcluster_nightly.py + win64-devedition: + - single_locale/devedition.py + - single_locale/win64.py + - single_locale/tc_common.py + - single_locale/tc_win64.py + - taskcluster_nightly.py + win64-aarch64-devedition: + - single_locale/devedition.py + - single_locale/win64-aarch64.py + - single_locale/tc_common.py + - single_locale/tc_win64.py + - taskcluster_nightly.py + # no default, so we fail on new entries + actions: ['clone-locales', 'list-locales', 'setup', 'repack', + 'summary'] + script: mozharness/scripts/desktop_l10n.py diff --git a/taskcluster/ci/signing-apk/kind.yml b/taskcluster/kinds/signing-apk/kind.yml index 85b2f21bfd..85b2f21bfd 100644 --- a/taskcluster/ci/signing-apk/kind.yml +++ b/taskcluster/kinds/signing-apk/kind.yml diff --git a/taskcluster/ci/signing-bundle/kind.yml b/taskcluster/kinds/signing-bundle/kind.yml index e062282fd6..e062282fd6 100644 --- a/taskcluster/ci/signing-bundle/kind.yml +++ b/taskcluster/kinds/signing-bundle/kind.yml diff --git a/taskcluster/ci/signing/kind.yml b/taskcluster/kinds/signing/kind.yml index 655750438c..655750438c 100644 --- a/taskcluster/ci/signing/kind.yml +++ b/taskcluster/kinds/signing/kind.yml diff --git a/taskcluster/ci/snap-upstream-build/kind.yml b/taskcluster/kinds/snap-upstream-build/kind.yml index 7016989ba8..7016989ba8 100644 --- a/taskcluster/ci/snap-upstream-build/kind.yml +++ b/taskcluster/kinds/snap-upstream-build/kind.yml diff --git a/taskcluster/ci/snap-upstream-test/kind.yml b/taskcluster/kinds/snap-upstream-test/kind.yml index 585a1fca1f..585a1fca1f 100644 --- a/taskcluster/ci/snap-upstream-test/kind.yml +++ b/taskcluster/kinds/snap-upstream-test/kind.yml diff --git a/taskcluster/ci/source-test/android-compare-locales.yml b/taskcluster/kinds/source-test/android-compare-locales.yml index 6423ad708d..6423ad708d 100644 --- a/taskcluster/ci/source-test/android-compare-locales.yml +++ b/taskcluster/kinds/source-test/android-compare-locales.yml diff --git a/taskcluster/ci/source-test/android-detekt.yml b/taskcluster/kinds/source-test/android-detekt.yml index 84f46ed6b7..c39ebca218 100644 --- a/taskcluster/ci/source-test/android-detekt.yml +++ b/taskcluster/kinds/source-test/android-detekt.yml @@ -11,8 +11,6 @@ job-defaults: worker: docker-image: {in-tree: lint} max-run-time: 1200 - env: - JAVA_HOME: "/builds/worker/fetches/jdk/jdk-17.0.6+10" attributes: code-review: true always-target: true @@ -20,7 +18,6 @@ job-defaults: toolchain: - android-sdk-linux - android-gradle-dependencies - - android-gradle-python-envs - linux64-jdk-repack platform: 'lint/opt' treeherder: diff --git a/taskcluster/ci/source-test/android-lint.yml b/taskcluster/kinds/source-test/android-lint.yml index c7eb456021..8cbbcc3385 100644 --- a/taskcluster/ci/source-test/android-lint.yml +++ b/taskcluster/kinds/source-test/android-lint.yml @@ -10,11 +10,10 @@ job-defaults: use-caches: false worker: max-run-time: 2700 - env: - JAVA_HOME: "/builds/worker/fetches/jdk/jdk-17.0.6+10" docker-image: {in-tree: lint} always-target: false attributes: + build_platform: android code-review: true dependencies: build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt @@ -22,7 +21,6 @@ job-defaults: toolchain: - android-sdk-linux - android-gradle-dependencies - - android-gradle-python-envs - linux64-jdk-repack build-fat-aar: - target.maven.tar.xz diff --git a/taskcluster/ci/source-test/buildconfig.yml b/taskcluster/kinds/source-test/buildconfig.yml index 85f0828a54..a7dffefd09 100644 --- a/taskcluster/ci/source-test/buildconfig.yml +++ b/taskcluster/kinds/source-test/buildconfig.yml @@ -4,6 +4,7 @@ --- job-defaults: description: Make sure the content of .buildconfig.yml matches what gradle knows about its projects + always-target: true run: using: run-task cwd: '{checkout}' @@ -16,7 +17,6 @@ job-defaults: docker-image: {in-tree: lint} max-run-time: 1800 env: - JAVA_HOME: "/builds/worker/fetches/jdk/jdk-17.0.6+10" GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-online" MOZCONFIG: "/builds/worker/checkouts/gecko/mobile/android/config/mozconfigs/android-arm/nightly-android-lints" ANDROID_SDK_ROOT: "/builds/worker/fetches/android-sdk-linux" @@ -28,7 +28,6 @@ job-defaults: toolchain: - linux64-jdk-repack - android-gradle-dependencies - - android-gradle-python-envs - android-sdk-linux use-python: system diff --git a/taskcluster/ci/source-test/clang.yml b/taskcluster/kinds/source-test/clang.yml index d77066afe7..d77066afe7 100644 --- a/taskcluster/ci/source-test/clang.yml +++ b/taskcluster/kinds/source-test/clang.yml diff --git a/taskcluster/ci/source-test/cram.yml b/taskcluster/kinds/source-test/cram.yml index 6e29e7c6a6..6e29e7c6a6 100644 --- a/taskcluster/ci/source-test/cram.yml +++ b/taskcluster/kinds/source-test/cram.yml diff --git a/taskcluster/ci/source-test/doc.yml b/taskcluster/kinds/source-test/doc.yml index 3e0459f8f0..b876d801ba 100644 --- a/taskcluster/ci/source-test/doc.yml +++ b/taskcluster/kinds/source-test/doc.yml @@ -4,13 +4,14 @@ --- generate: description: Generate the Sphinx documentation + use-python: "3.11" platform: doc/opt treeherder: symbol: doc(generate) kind: test tier: 1 run-on-projects: ['trunk'] - worker-type: t-linux-xlarge-source + worker-type: b-linux-medium-gcp worker: docker-image: {in-tree: "lint"} max-run-time: 1800 @@ -37,6 +38,7 @@ generate: upload: description: Generate and upload the Sphinx documentation + use-python: "3.11" platform: doc/opt attributes: code-review: true @@ -45,7 +47,7 @@ upload: kind: test tier: 2 run-on-projects: [mozilla-central-only] - worker-type: t-linux-xlarge-source + worker-type: b-linux-medium-gcp worker: docker-image: {in-tree: "lint"} max-run-time: 1800 diff --git a/taskcluster/ci/source-test/file-metadata.yml b/taskcluster/kinds/source-test/file-metadata.yml index b1fffaf64f..b1fffaf64f 100644 --- a/taskcluster/ci/source-test/file-metadata.yml +++ b/taskcluster/kinds/source-test/file-metadata.yml diff --git a/taskcluster/ci/source-test/jsshell.yml b/taskcluster/kinds/source-test/jsshell.yml index 2ce0a846d4..2ce0a846d4 100644 --- a/taskcluster/ci/source-test/jsshell.yml +++ b/taskcluster/kinds/source-test/jsshell.yml diff --git a/taskcluster/ci/source-test/kind.yml b/taskcluster/kinds/source-test/kind.yml index f28ee39f96..f28ee39f96 100644 --- a/taskcluster/ci/source-test/kind.yml +++ b/taskcluster/kinds/source-test/kind.yml diff --git a/taskcluster/ci/source-test/ktlint.yml b/taskcluster/kinds/source-test/ktlint.yml index 988f2b6660..1828887dc0 100644 --- a/taskcluster/ci/source-test/ktlint.yml +++ b/taskcluster/kinds/source-test/ktlint.yml @@ -15,7 +15,6 @@ job-defaults: toolchain: - android-sdk-linux - android-gradle-dependencies - - android-gradle-python-envs - linux64-jdk-repack platform: 'lint/opt' treeherder: @@ -25,8 +24,6 @@ job-defaults: worker: docker-image: {in-tree: lint} max-run-time: 1200 - env: - JAVA_HOME: "/builds/worker/fetches/jdk/jdk-17.0.6+10" when: files-changed: - "mobile/android/android-components/**" diff --git a/taskcluster/ci/source-test/mozlint-android.yml b/taskcluster/kinds/source-test/mozlint-android.yml index d98abe9734..6602d8c818 100644 --- a/taskcluster/ci/source-test/mozlint-android.yml +++ b/taskcluster/kinds/source-test/mozlint-android.yml @@ -81,7 +81,6 @@ lints: toolchain: # Aliases aren't allowed for toolchains installed by fetch. - linux64-android-gradle-dependencies - - android-gradle-python-envs - linux64-android-sdk-linux-repack - linux64-jdk-repack - linux64-node diff --git a/taskcluster/ci/source-test/mozlint.yml b/taskcluster/kinds/source-test/mozlint.yml index e101049103..e101049103 100644 --- a/taskcluster/ci/source-test/mozlint.yml +++ b/taskcluster/kinds/source-test/mozlint.yml diff --git a/taskcluster/ci/source-test/node.yml b/taskcluster/kinds/source-test/node.yml index 1d8c8348fb..1d8c8348fb 100644 --- a/taskcluster/ci/source-test/node.yml +++ b/taskcluster/kinds/source-test/node.yml diff --git a/taskcluster/ci/source-test/puppeteer.yml b/taskcluster/kinds/source-test/puppeteer.yml index 3bfd1a9645..3bfd1a9645 100644 --- a/taskcluster/ci/source-test/puppeteer.yml +++ b/taskcluster/kinds/source-test/puppeteer.yml diff --git a/taskcluster/ci/source-test/python.yml b/taskcluster/kinds/source-test/python.yml index 43680aacad..c8214d17d5 100644 --- a/taskcluster/ci/source-test/python.yml +++ b/taskcluster/kinds/source-test/python.yml @@ -47,7 +47,7 @@ firefox-ci: when: files-changed: - '.taskcluster.yml' - - 'taskcluster/ci/**' + - 'taskcluster/kinds/**' - 'taskcluster/**/*.py' - 'tools/tryselect/selectors/auto.py' @@ -359,8 +359,8 @@ tryselect: subsuite: try when: files-changed: - - 'taskcluster/ci/config.yml' - - 'taskcluster/ci/test/**' + - 'taskcluster/config.yml' + - 'taskcluster/kinds/test/**' - 'taskcluster/gecko_taskgraph/transforms/**' - 'tools/tryselect/**' diff --git a/taskcluster/ci/source-test/shadow-scheduler.yml b/taskcluster/kinds/source-test/shadow-scheduler.yml index 97d1b1f30b..97d1b1f30b 100644 --- a/taskcluster/ci/source-test/shadow-scheduler.yml +++ b/taskcluster/kinds/source-test/shadow-scheduler.yml diff --git a/taskcluster/ci/source-test/taskgraph.yml b/taskcluster/kinds/source-test/taskgraph.yml index 3065c80482..da3b27d33b 100644 --- a/taskcluster/ci/source-test/taskgraph.yml +++ b/taskcluster/kinds/source-test/taskgraph.yml @@ -38,5 +38,5 @@ diff: python taskcluster/scripts/misc/summarize-tgdiff.py /builds/worker/artifacts/diffs/ 20 when: files-changed: - - 'taskcluster/ci/**' + - 'taskcluster/kinds/**' - 'taskcluster/**/*.py' diff --git a/taskcluster/ci/source-test/vendor.yml b/taskcluster/kinds/source-test/vendor.yml index c6594c6f68..c6594c6f68 100644 --- a/taskcluster/ci/source-test/vendor.yml +++ b/taskcluster/kinds/source-test/vendor.yml diff --git a/taskcluster/ci/source-test/webcompat.yml b/taskcluster/kinds/source-test/webcompat.yml index 66ff7910a6..66ff7910a6 100644 --- a/taskcluster/ci/source-test/webcompat.yml +++ b/taskcluster/kinds/source-test/webcompat.yml diff --git a/taskcluster/ci/source-test/webidl.yml b/taskcluster/kinds/source-test/webidl.yml index eec7a75e38..eec7a75e38 100644 --- a/taskcluster/ci/source-test/webidl.yml +++ b/taskcluster/kinds/source-test/webidl.yml diff --git a/taskcluster/ci/source-test/wpt-manifest.yml b/taskcluster/kinds/source-test/wpt-manifest.yml index 06b29b60f5..06b29b60f5 100644 --- a/taskcluster/ci/source-test/wpt-manifest.yml +++ b/taskcluster/kinds/source-test/wpt-manifest.yml diff --git a/taskcluster/ci/source-test/wpt-metadata.yml b/taskcluster/kinds/source-test/wpt-metadata.yml index b2c54d62b9..b2c54d62b9 100644 --- a/taskcluster/ci/source-test/wpt-metadata.yml +++ b/taskcluster/kinds/source-test/wpt-metadata.yml diff --git a/taskcluster/kinds/spidermonkey/kind.yml b/taskcluster/kinds/spidermonkey/kind.yml new file mode 100644 index 0000000000..560ac9a58b --- /dev/null +++ b/taskcluster/kinds/spidermonkey/kind.yml @@ -0,0 +1,75 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +kind-dependencies: + - toolchain + +transforms: + - gecko_taskgraph.transforms.spidermonkey:transforms + - gecko_taskgraph.transforms.build_attrs:transforms + - gecko_taskgraph.transforms.build_schedules:transforms + - gecko_taskgraph.transforms.build_lints:transforms + - gecko_taskgraph.transforms.job:transforms + - gecko_taskgraph.transforms.task:transforms + +job-defaults: + attributes: + retrigger: true + treeherder: + kind: build + tier: 1 + index: + product: firefox + worker-type: b-linux-gcp + run: + using: spidermonkey + when: + files-changed: + # any when.files-changed specified below in a job will be + # appended to this list + - build/** + - config/** + - configure.py + - dom/bindings/** + - intl/icu/** + - js/moz.configure + - js/public/** + - js/src/** + - layout/tools/reftest/reftest/** + - Makefile.in + - media/webrtc/trunk/tools/gyp/** + - memory/** + - mfbt/** + - modules/fdlibm/** + - modules/zlib/src/** + - mozglue/** + - moz.build + - moz.configure + - nsprpub/** + - python/** + - taskcluster/moz.build + - taskcluster/kinds/spidermonkey/kind.yml + - testing/mozbase/** + - testing/web-platform/** + - test.mozbuild + - toolkit/mozapps/installer/package-name.mk + - toolkit/mozapps/installer/upload-files.mk + fetches: + toolchain: + by-worker-type: + .*-b-win2022: + - win64-clang + - win64-rust + default: + - linux64-clang + - linux64-gcc + - linux64-rust + - linux64-dump_syms + - sysroot-x86_64-linux-gnu + +jobs-from: + - linux.yml + - windows.yml diff --git a/taskcluster/ci/spidermonkey/linux.yml b/taskcluster/kinds/spidermonkey/linux.yml index fbf3c8d0e2..fbf3c8d0e2 100644 --- a/taskcluster/ci/spidermonkey/linux.yml +++ b/taskcluster/kinds/spidermonkey/linux.yml diff --git a/taskcluster/ci/spidermonkey/windows.yml b/taskcluster/kinds/spidermonkey/windows.yml index 2fa90deb8e..2fa90deb8e 100644 --- a/taskcluster/ci/spidermonkey/windows.yml +++ b/taskcluster/kinds/spidermonkey/windows.yml diff --git a/taskcluster/ci/startup-test/kind.yml b/taskcluster/kinds/startup-test/kind.yml index 3e6975ae92..3e6975ae92 100644 --- a/taskcluster/ci/startup-test/kind.yml +++ b/taskcluster/kinds/startup-test/kind.yml diff --git a/taskcluster/kinds/static-analysis-autotest/kind.yml b/taskcluster/kinds/static-analysis-autotest/kind.yml new file mode 100644 index 0000000000..3901e0a7fd --- /dev/null +++ b/taskcluster/kinds/static-analysis-autotest/kind.yml @@ -0,0 +1,102 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +kind-dependencies: + - toolchain + +transforms: + - gecko_taskgraph.transforms.build_attrs:transforms + - gecko_taskgraph.transforms.build_schedules:transforms + - gecko_taskgraph.transforms.build_lints:transforms + - gecko_taskgraph.transforms.job:transforms + - gecko_taskgraph.transforms.task:transforms + +job-defaults: + attributes: + retrigger: true + index: + product: firefox + worker: + skip-artifacts: true + max-run-time: 3600 + env: + PERFHERDER_EXTRA_OPTIONS: static-analysis-autotest + use-python: default + run-on-projects: ['mozilla-central'] + run: + using: mozharness + actions: [static-analysis-autotest] + script: mozharness/scripts/fx_desktop_build.py + treeherder: + symbol: Sa + kind: build + tier: 1 + +jobs: + linux64-st-autotest/debug: + description: "Linux64 Debug Static Analysis Autotest" + index: + job-name: linux64-st-autotest-debug + treeherder: + platform: linux64/debug + worker-type: t-linux-large + worker: + docker-image: {in-tree: static-analysis-build} + env: + # clang-tidy needs a recent libstdc++, which can be found in the clang + # toolchain. + LD_LIBRARY_PATH: /builds/worker/checkouts/gecko/clang/lib + PERFHERDER_EXTRA_OPTIONS: static-analysis-autotest + run: + config: + - builds/releng_base_firefox.py + - builds/releng_sub_linux_configs/64_stat_and_debug.py + tooltool-downloads: public + keep-artifacts: false + use-sccache: true + fetches: + toolchain: + - linux64-clang + - linux64-clang-tidy + - linux64-rust + - linux64-sccache + - linux64-cbindgen + - linux64-nasm + - linux64-node + - linux64-pkgconf + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + + win64-st-autotest/debug: + description: "Win64 Debug Static Analysis Autotest" + index: + job-name: win64-st-autotest-debug + treeherder: + platform: windows2012-64/debug + tier: 2 + worker-type: b-win2022 + run: + config: + - builds/releng_base_firefox.py + - builds/taskcluster_base_windows.py + - builds/taskcluster_base_win64.py + - builds/taskcluster_sub_win64/debug.py + extra-config: + mozconfig_variant: debug + use-sccache: false + fetches: + toolchain: + - win64-clang + - win64-rust + - win64-cbindgen + - win64-clang-tidy + - win64-nasm + - win64-node + - win64-dump_syms + - win64-winchecksec + - vs + - windows-rs + - sysroot-wasm32-wasi diff --git a/taskcluster/kinds/system-symbols-reprocess/kind.yml b/taskcluster/kinds/system-symbols-reprocess/kind.yml new file mode 100644 index 0000000000..e96f8f4fa3 --- /dev/null +++ b/taskcluster/kinds/system-symbols-reprocess/kind.yml @@ -0,0 +1,46 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +# we need that to apply grouping only on jobs that have "build_platform", so we +# dont fail for the "fetch" kind that does is a dependency but does not have it +only-for-attributes: + - build_platform + +transforms: + - taskgraph.transforms.from_deps + - gecko_taskgraph.transforms.reprocess_symbols + - gecko_taskgraph.transforms.job + - gecko_taskgraph.transforms.task + +kind-dependencies: + - system-symbols + - system-symbols-upload + - fetch + +jobs: + system-symbols-reprocess: + from-deps: + kinds: ["system-symbols", "system-symbols-upload"] + group-by: platform + description: Reprocess Symbols on Crash-Stats + attributes: + cron: true + worker-type: b-linux-gcp + worker: + docker-image: {in-tree: system-symbols-linux-scraper} + max-run-time: 7200 + env: + # {level} gets replaced in the reprocess_symbols transform + CRASHSTATS_SECRET: "project/releng/gecko/build/level-{level}/gecko-symbol-reprocess" + DUMP_SYMS: "/bin/false" + run: + using: run-task + command: {task-reference: "${MOZ_FETCHES_DIR}/symbol-scrapers/reprocess.sh <system-symbols>"} + fetches: + fetch: + - symbol-scrapers + scopes: + - secrets:get:project/releng/gecko/build/level-{level}/gecko-symbol-reprocess diff --git a/taskcluster/kinds/system-symbols-upload/kind.yml b/taskcluster/kinds/system-symbols-upload/kind.yml new file mode 100644 index 0000000000..e36f7afd84 --- /dev/null +++ b/taskcluster/kinds/system-symbols-upload/kind.yml @@ -0,0 +1,34 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +transforms: + - taskgraph.transforms.from_deps + - gecko_taskgraph.transforms.upload_symbols + - gecko_taskgraph.transforms.job + - gecko_taskgraph.transforms.task + +kind-dependencies: + - system-symbols + +jobs: + system-symbols-upload: + description: Upload Symbols + from-deps: {} + attributes: + cron: true + worker-type: b-linux-gcp + worker: + docker-image: {in-tree: "lint"} + max-run-time: 1200 + env: + # {level} gets replaced in the upload_symbols transform + SYMBOL_SECRET: "project/releng/gecko/build/level-{level}/gecko-symbol-upload" + run: + using: mach + mach: {task-reference: "python toolkit/crashreporter/tools/upload_symbols.py --task-id <system-symbols> --ignore-missing"} + sparse-profile: upload-symbols + scopes: + - secrets:get:project/releng/gecko/build/level-{level}/gecko-symbol-upload diff --git a/taskcluster/ci/system-symbols/kind.yml b/taskcluster/kinds/system-symbols/kind.yml index 0090454a68..0090454a68 100644 --- a/taskcluster/ci/system-symbols/kind.yml +++ b/taskcluster/kinds/system-symbols/kind.yml diff --git a/taskcluster/kinds/test-apk/kind.yml b/taskcluster/kinds/test-apk/kind.yml new file mode 100644 index 0000000000..59225f431a --- /dev/null +++ b/taskcluster/kinds/test-apk/kind.yml @@ -0,0 +1,157 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +transforms: + - gecko_taskgraph.transforms.test_apk:transforms + # While not a build, the build optimization works well for these tasks. + - gecko_taskgraph.transforms.build_schedules:transforms + - gecko_taskgraph.transforms.job:transforms + - gecko_taskgraph.transforms.task:transforms + +kind-dependencies: + - toolchain + - build-fat-aar + +job-defaults: + attributes: + build_platform: android + retrigger: true + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt + fetches: + toolchain: + - android-sdk-linux + - android-gradle-dependencies + - linux64-jdk + build-fat-aar: + - target.maven.tar.xz + run: + using: gradlew + use-caches: false + treeherder: + kind: test + worker-type: b-linux-medium-gcp + worker: + docker-image: {in-tree: android-components} + max-run-time: 7200 + +jobs: + focus-debug: + description: Focus unit tests + attributes: + build-type: focus-debug + shipping-product: focus + run: + pre-gradlew: + - ["cd", "mobile/android/focus-android"] + gradlew: ['clean', 'test'] + dummy-secrets: + - content: "faketoken" + path: .adjust_token + treeherder: + platform: 'focus-android-all/opt' + symbol: focus-debug(T) + tier: 1 + worker: + artifacts: + - name: public/reports/index.html + path: /builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/reports/tests/testFocusDebugUnitTest/index.html + type: file + - name: public/reports/test + path: /builds/worker/checkouts/gecko/mobile/android/focus-android/app/build/reports/tests + type: directory + + fenix-debug: + description: Fenix unit tests + attributes: + build-type: fenix-debug + shipping-product: fenix + run: + pre-gradlew: + - ["cd", "mobile/android/fenix"] + - ['java', '-version'] + gradlew: ['clean', 'testFenixDebugUnitTest'] + treeherder: + platform: 'fenix-android-all/opt' + symbol: fenix-debug(T) + tier: 1 + worker: + artifacts: + - name: public/reports/index.html + path: /builds/worker/checkouts/gecko/mobile/android/fenix/app/build/reports/tests/testFenixDebugUnitTest/index.html + type: file + - name: public/reports/test + path: /builds/worker/checkouts/gecko/mobile/android/fenix/app/build/reports/tests + type: directory + routes: + by-level: + '3': + - notify.slack-channel.G016BC5FUHJ.on-failed + 'default': [] + scopes: + by-level: + '3': + - queue:route:notify.slack-channel.G016BC5FUHJ.on-failed + - notify:slack-channel:G016BC5FUHJ + 'default': [] + extra: + notify: + by-level: + '3': + slackBlocks: | + [ + { + "type": "header", + "text": { + "type": "plain_text", + "text": "firefox-android :firefox: ${task.metadata.name} :x:\n " + } + }, + { + "type": "divider" + }, + { + "type": "section", + "text": { + "type": "mrkdwn", + "text": "*Task*: <https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId}|Taskcluster>" + } + }, + { + "type": "section", + "text": { + "type": "mrkdwn", + "text": "*Owner*: ${task.metadata.owner}" + } + }, + { + "type": "section", + "text": { + "type": "mrkdwn", + "text": "*Source*: <${task.payload.env.GECKO_HEAD_REPOSITORY}/rev/${task.payload.env.GECKO_HEAD_REV}|Commit> :hg:" + } + }, + { + "type": "section", + "text": { + "type": "mrkdwn", + "text": "*Test Summary*: <https://firefoxci.taskcluster-artifacts.net/${status.taskId}/0/public/reports/index.html|Results> :debug:" + } + }, + { + "type": "divider" + }, + { + "type": "context", + "elements": [ + { + "type": "mrkdwn", + "text": ":testops-notify: created by <https://mozilla-hub.atlassian.net/wiki/spaces/MTE/overview|Mobile Test Engineering>" + } + ] + } + ] + 'default': {} diff --git a/taskcluster/kinds/test-components/kind.yml b/taskcluster/kinds/test-components/kind.yml new file mode 100644 index 0000000000..8f4675b076 --- /dev/null +++ b/taskcluster/kinds/test-components/kind.yml @@ -0,0 +1,89 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +transforms: + - android_taskgraph.transforms.ui_tests:transforms + # While not a build, the build optimization works well for these tasks. + - gecko_taskgraph.transforms.build_schedules:transforms + - gecko_taskgraph.transforms.job:transforms + - gecko_taskgraph.transforms.task:transforms + +kind-dependencies: + - toolchain + - build-fat-aar + + +job-defaults: + attributes: + build_platform: android + build-type: debug + retrigger: true + dependencies: + build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt + fetches: + toolchain: + - android-sdk-linux + - android-gradle-dependencies + - linux64-jdk + build-fat-aar: + - target.maven.tar.xz + run: + # TODO Generate APKs in a build task instead + gradlew: ['clean', 'assembleGecko', 'assembleAndroidTest', 'assembleDebug'] + pre-gradlew: + - ["cd", "mobile/android/android-components"] + secrets: + - name: project/mobile/firefox-android/android-components/firebase + key: firebaseToken + path: .firebase_token.json + json: true + using: gradlew + use-caches: false + treeherder: + kind: test + platform: 'AC-ui-test/opt' + tier: 2 + worker-type: b-linux-medium-gcp + worker: + artifacts: + - name: public + path: /builds/worker/artifacts + type: directory + docker-image: {in-tree: android-ui-tests} + env: + GOOGLE_APPLICATION_CREDENTIALS: '.firebase_token.json' + GOOGLE_PROJECT: moz-android-components-230120 + max-run-time: 2400 + optimization: + skip-unless-backstop: null + + +jobs: + unit-browser-engine-gecko-nightly: + component: browser + description: 'Run unit tests on device for browser component' + treeherder: + symbol: 'ui-components' + ui-browser: + component: samples-browser + description: 'Run ui tests for browser sample' + treeherder: + symbol: 'ui-samples-browser' + ui-glean: + component: samples-glean + description: 'Run ui tests for glean sample' + treeherder: + symbol: 'ui-samples-glean' + android-feature-containers: {} + android-feature-pwa: {} + android-feature-share: {} + android-feature-sitepermissions: {} + android-feature-top-sites: {} + android-feature-logins: {} + android-feature-prompts: {} + android-support-ktx: {} + android-feature-downloads: {} + android-feature-recentlyclosed: {} diff --git a/taskcluster/ci/test/awsy.yml b/taskcluster/kinds/test/awsy.yml index 6ba85dcb82..6ba85dcb82 100644 --- a/taskcluster/ci/test/awsy.yml +++ b/taskcluster/kinds/test/awsy.yml diff --git a/taskcluster/ci/test/browsertime-desktop.yml b/taskcluster/kinds/test/browsertime-desktop.yml index f4a1abe080..90bf76201c 100644 --- a/taskcluster/ci/test/browsertime-desktop.yml +++ b/taskcluster/kinds/test/browsertime-desktop.yml @@ -15,7 +15,7 @@ job-defaults: limit-platforms: by-app: chrome: - - .*shippable.* + - .*64.*shippable.* safari: - .*macos.*shippable.* custom-car: diff --git a/taskcluster/ci/test/browsertime-mobile.yml b/taskcluster/kinds/test/browsertime-mobile.yml index 0ef0c0519e..0ef0c0519e 100644 --- a/taskcluster/ci/test/browsertime-mobile.yml +++ b/taskcluster/kinds/test/browsertime-mobile.yml diff --git a/taskcluster/ci/test/compiled.yml b/taskcluster/kinds/test/compiled.yml index ebe6b9bb2b..f91ccd9970 100644 --- a/taskcluster/ci/test/compiled.yml +++ b/taskcluster/kinds/test/compiled.yml @@ -49,13 +49,13 @@ gtest: description: "GTests run" suite: gtest treeherder-symbol: GTest - instance-size: xlarge-noscratch + instance-size: large-noscratch run-on-projects: by-variant: 1proc: by-test-platform: .*android.*: built-projects - .*(devedition|tsan|wayland).*: [] + .*(devedition|wayland).*: [] linux1804-32-qr/opt: [] # try only, shippable on m-c linux1804-32-qr/debug: ['mozilla-central'] # try and m-c linux1804-32-shippable-qr/opt: ['mozilla-central'] # try and m-c diff --git a/taskcluster/ci/test/firefox-ui.yml b/taskcluster/kinds/test/firefox-ui.yml index c45bb3d138..c45bb3d138 100644 --- a/taskcluster/ci/test/firefox-ui.yml +++ b/taskcluster/kinds/test/firefox-ui.yml diff --git a/taskcluster/ci/test/kind.yml b/taskcluster/kinds/test/kind.yml index e9c2b1e5e9..e9c2b1e5e9 100644 --- a/taskcluster/ci/test/kind.yml +++ b/taskcluster/kinds/test/kind.yml diff --git a/taskcluster/ci/test/marionette.yml b/taskcluster/kinds/test/marionette.yml index d586a6cf24..d586a6cf24 100644 --- a/taskcluster/ci/test/marionette.yml +++ b/taskcluster/kinds/test/marionette.yml diff --git a/taskcluster/ci/test/misc.yml b/taskcluster/kinds/test/misc.yml index 8f1f93157c..8f1f93157c 100644 --- a/taskcluster/ci/test/misc.yml +++ b/taskcluster/kinds/test/misc.yml diff --git a/taskcluster/ci/test/mochitest.yml b/taskcluster/kinds/test/mochitest.yml index 1339652baf..91e44b5fe5 100644 --- a/taskcluster/ci/test/mochitest.yml +++ b/taskcluster/kinds/test/mochitest.yml @@ -269,16 +269,14 @@ mochitest-browser-chrome: default: 7 default: by-test-platform: - linux.*wayland.*/opt: 8 - linux.*wayland.*/debug: 12 linux.*-qr/debug: 16 linux.*64-asan-qr/opt: 16 linux.*64-tsan-qr/opt: 32 - macosx.*64-qr/debug: 12 macosx.*64.*/opt: 10 + windows11-32.*/opt: 10 windows.*-ccov.*/.*: 14 windows.*-asan-qr/opt: 14 - windows.*32-qr/debug: 12 + .*/debug: 12 default: 8 max-run-time: by-variant: @@ -302,7 +300,7 @@ mochitest-browser-chrome: chunked: true instance-size: by-test-platform: - linux.*64-asan-qr/opt: xlarge # runs out of memory frequently + linux.*64-asan-qr/opt: xlarge-noscratch # runs out of memory frequently default: default allow-software-gl-layers: false diff --git a/taskcluster/ci/test/reftest.yml b/taskcluster/kinds/test/reftest.yml index 21474f7aad..be4518e592 100644 --- a/taskcluster/ci/test/reftest.yml +++ b/taskcluster/kinds/test/reftest.yml @@ -176,6 +176,7 @@ reftest: windows11.*/opt: 3 default: 8 variants: + - draw-snapshot - geckoview-no-fission-ship - no-fission - webrender-dcomp-disabled @@ -186,6 +187,10 @@ reftest: - webrender-sw run-on-projects: by-variant: + draw-snapshot: + by-test-platform: + linux1804.*/debug: built-projects + default: [] webrender-sw+no-fission: by-test-platform: android-em-7.0-x86_64-qr/debug: built-projects @@ -231,6 +236,8 @@ reftest: macosx.*64/opt: false windows.*/opt: false default: true + extra-options: + - --setpref=layers.acceleration.force-enabled=true tier: by-variant: no-fission: @@ -266,16 +273,3 @@ reftest-qr: chunked: true tier: 2 virtualization: virtual - -reftest-snapshot: - description: "Reftest snapshot" - treeherder-symbol: R(Rs) - virtualization: virtual - run-on-projects: - by-test-platform: - linux1804-64-qr/debug: ['trunk'] - default: [] - tier: default - chunks: 8 - mozharness: - chunked: true diff --git a/taskcluster/ci/test/talos.yml b/taskcluster/kinds/test/talos.yml index 3ce85fd039..68e2f094ad 100644 --- a/taskcluster/ci/test/talos.yml +++ b/taskcluster/kinds/test/talos.yml @@ -796,7 +796,7 @@ talos-pdfpaint: (linux|windows|macos)(?!.*shippable).*: [] (linux|windows10-64|macos)(?!.*-qr).*: [] default: [trunk] - max-run-time: 1800 + max-run-time: 2100 mozharness: extra-options: - --suite=pdfpaint diff --git a/taskcluster/ci/test/test-platforms.yml b/taskcluster/kinds/test/test-platforms.yml index b957b8a4db..b957b8a4db 100644 --- a/taskcluster/ci/test/test-platforms.yml +++ b/taskcluster/kinds/test/test-platforms.yml diff --git a/taskcluster/ci/test/test-sets.yml b/taskcluster/kinds/test/test-sets.yml index 4a8f3d019b..ffc18b2d66 100644 --- a/taskcluster/ci/test/test-sets.yml +++ b/taskcluster/kinds/test/test-sets.yml @@ -18,6 +18,7 @@ webgpu: - mochitest-webgpu - web-platform-tests-webgpu + - web-platform-tests-webgpu-backlog web-platform-tests: - web-platform-tests @@ -173,7 +174,6 @@ linux1804-tests: - mochitest-webgl2-core - mochitest-webgl2-ext - reftest - - reftest-snapshot - telemetry-tests-client - test-verify - test-verify-gpu @@ -212,7 +212,6 @@ linux2204-wayland-tests: - mochitest-webgl2-core - mochitest-webgl2-ext - reftest - - reftest-snapshot - telemetry-tests-client - test-verify - test-verify-gpu diff --git a/taskcluster/ci/test/variants.yml b/taskcluster/kinds/test/variants.yml index 8cb31ee047..4914982895 100644 --- a/taskcluster/ci/test/variants.yml +++ b/taskcluster/kinds/test/variants.yml @@ -373,9 +373,10 @@ msix: || "ccov" in task["test-platform"] ) ' - merge: + replace: mozharness: extra-options: + - "--variant=msix" - "--installer-path installer.msix" http3: @@ -414,3 +415,22 @@ http2: mozharness: extra-options: - "--use-http2-server" + +draw-snapshot: + description: "{description} with draw snapshot" + component: "Core::Graphics" + suffix: "s" + mozinfo: "snapshot" + expiration: "never" + when: + $eval: '( + "linux" in task["test-platform"] + && "debug" in task["test-platform"] + ) + && "reftest" == task["try-name"] + ' + replace: + virtualization: virtual + mozharness: + extra-options: + - "--setpref=reftest.use-draw-snapshot=true" diff --git a/taskcluster/ci/test/web-platform.yml b/taskcluster/kinds/test/web-platform.yml index 4a1818cbd6..b4cf3a732b 100644 --- a/taskcluster/ci/test/web-platform.yml +++ b/taskcluster/kinds/test/web-platform.yml @@ -69,8 +69,13 @@ web-platform-tests: default: 7200 variants: - no-fission + - geckoview-no-fission-ship run-on-projects: by-variant: + geckoview-no-fission-ship: + by-test-platform: + android-em-7.0-x86_64-qr/debug-isolated-process: [] + default: [] no-fission: by-test-platform: android-em-7.0-x86_64-qr/debug-isolated-process: [] @@ -229,11 +234,43 @@ web-platform-tests-webgpu: virtualization: virtual-with-gpu tier: by-test-platform: - android.*: 3 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849914 - macos.*: 3 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849913 - linux2204.*-64.*: 3 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849912 - windows.*-64.*: 3 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849911 - default: 3 + android.*: 2 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849914 + macos.*: 2 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849913 + linux2204.*-64.*: 2 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849912 + windows.*-64.*: 2 # https://bugzilla.mozilla.org/show_bug.cgi?id=1849911 + default: 2 + # Choice of `chunks`: + # Time-to-TEST-START on Windows is ~7m (~9m for debug). + # (though we're working on reducing this!) + # Devs would love ~10-15m runs, but we don't want to be more than + # 50% overhead, so let's aim for 15m (20m debug) + chunks: 1 + max-run-time: + by-test-platform: + .*/debug: 2700 # 45m + default: 1800 # 30m + variants: [] # We don't need sw or nofis testing. + run-on-projects: + by-test-platform: + android.*: [] # https://bugzilla.mozilla.org/show_bug.cgi?id=1836811 + .*-wayland/debug.*: [] # https://bugzilla.mozilla.org/show_bug.cgi?id=1864700 + default: ['trunk'] + mozharness: + chunked: true + extra-options: + - --test-type=testharness + - --skip-implementation-status=backlog + - --skip-implementation-status=not-implementing + - --default-exclude + - --tag=webgpu + - --exclude-tag=canvas + +web-platform-tests-webgpu-backlog: + description: "Web platform WebGPU test run (backlog)" + suite: web-platform-tests + treeherder-symbol: W(webgpu-backlog) + virtualization: virtual-with-gpu + tier: 3 # Choice of `chunks`: # Time-to-TEST-START on Windows is ~7m (~9m for debug). # (though we're working on reducing this!) @@ -265,12 +302,18 @@ web-platform-tests-webgpu: - --default-exclude - --tag=webgpu - --exclude-tag=canvas + - --skip-implementation-status=implementing + - --skip-implementation-status=not-implementing + - --backlog - --setpref=gfx.webgpu.ignore-blocklist=true default: - --test-type=testharness - --default-exclude - --tag=webgpu - --exclude-tag=canvas + - --skip-implementation-status=implementing + - --skip-implementation-status=not-implementing + - --backlog web-platform-tests-canvas: description: "Web platform Canvas test run" diff --git a/taskcluster/ci/test/xpcshell.yml b/taskcluster/kinds/test/xpcshell.yml index 02a615bdc2..7b417e869b 100644 --- a/taskcluster/ci/test/xpcshell.yml +++ b/taskcluster/kinds/test/xpcshell.yml @@ -5,10 +5,7 @@ job-defaults: suite: category: xpcshell - name: - by-variant: - msix: xpcshell-msix - default: xpcshell + name: xpcshell target: by-test-platform: android-em-7.*: geckoview-test_runner.apk diff --git a/taskcluster/kinds/toolchain/android.yml b/taskcluster/kinds/toolchain/android.yml new file mode 100644 index 0000000000..333aa868fa --- /dev/null +++ b/taskcluster/kinds/toolchain/android.yml @@ -0,0 +1,252 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +job-defaults: + worker-type: b-linux-gcp + worker: + docker-image: {in-tree: android-build} + max-run-time: 1800 + +# In automation, we generate the AVD using the linux64-android-avd jobs. On +# developers' machines, bootstrap will download the artifact from the avd job +# instead of generating it. +# +# The Android AVD needs the corresponding system image generated in the +# linux64-android-system-image TL job. System images are not redistributable, +# so locally bootstrap will use sdkmanager to download the corresponding system +# images. +linux64-android-avd-x86_64-repack: + attributes: + local-toolchain: true + description: "Android AVD (Linux) repack toolchain build" + treeherder: + symbol: TL(avd-x86_64-linux) + run: + script: repack-android-avd-linux.sh + arguments: + - 'python/mozboot/mozboot/android-avds/x86_64.json' + resources: + - 'python/mozboot/**/*android*' + toolchain-artifact: public/build/android-avd-linux.tar.zst + toolchain-alias: android-avd-x86_64-linux + fetches: + toolchain: + # Aliases aren't allowed for toolchains depending on toolchains. + - linux64-jdk-repack + +linux64-android31-avd-x86_64-repack: + description: "Android AVD (Linux) repack toolchain build" + treeherder: + symbol: TL(avd31-x86_64-linux) + worker-type: b-linux-kvm-gcp + worker: + kvm: true + run: + script: repack-android-avd-linux.sh + arguments: + - 'python/mozboot/mozboot/android-avds/android31-x86_64.json' + resources: + - 'python/mozboot/**/*android*' + toolchain-artifact: public/build/android-avd-linux.tar.zst + toolchain-alias: android31-avd-x86_64-linux + fetches: + toolchain: + # Aliases aren't allowed for toolchains depending on toolchains. + - linux64-jdk-repack + + +linux64-android-avd-arm-repack: + attributes: + local-toolchain: true + description: "Android AVD (Linux) repack toolchain build" + treeherder: + symbol: TL(avd-arm-linux) + run: + script: repack-android-avd-linux.sh + arguments: + - 'python/mozboot/mozboot/android-avds/arm.json' + resources: + - 'python/mozboot/**/*android*' + toolchain-artifact: public/build/android-avd-linux.tar.zst + toolchain-alias: android-avd-arm-linux + fetches: + toolchain: + # Aliases aren't allowed for toolchains depending on toolchains. + - linux64-jdk-repack + +linux64-android-avd-arm64-repack: + attributes: + local-toolchain: true + description: "Android AVD (Linux) repack toolchain build" + treeherder: + symbol: TL(avd-arm64-linux) + run: + script: repack-android-avd-linux.sh + arguments: + - 'python/mozboot/mozboot/android-avds/arm64.json' + resources: + - 'python/mozboot/**/*android*' + toolchain-artifact: public/build/android-avd-linux.tar.zst + toolchain-alias: android-avd-arm64-linux + fetches: + toolchain: + # Aliases aren't allowed for toolchains depending on toolchains. + - linux64-jdk-repack + +linux64-android-system-image-x86_64-repack: + description: "Android System Images (Linux) repack toolchain build" + treeherder: + symbol: TL(x86_64-avd-img-linux) + run: + script: repack-android-system-images-linux.sh + arguments: + - 'python/mozboot/mozboot/android-avds/x86_64.json' + resources: + - 'python/mozboot/**/*android*' + toolchain-artifact: project/gecko/android-system-images/android-system-images-linux.tar.zst + toolchain-alias: android-system-image-x86_64-linux + fetches: + toolchain: + # Aliases aren't allowed for toolchains depending on toolchains. + - linux64-jdk-repack + +linux64-android31-system-image-x86_64-repack: + description: "Android System Images (Linux) repack toolchain build" + treeherder: + symbol: TL(x86_64-avd31-img-linux) + run: + script: repack-android-system-images-linux.sh + arguments: + - 'python/mozboot/mozboot/android-avds/android31-x86_64.json' + resources: + - 'python/mozboot/**/*android*' + toolchain-artifact: project/gecko/android-system-images/android-system-images-linux.tar.zst + toolchain-alias: android31-system-image-x86_64-linux + fetches: + toolchain: + # Aliases aren't allowed for toolchains depending on toolchains. + - linux64-jdk-repack + + +linux64-jdk-repack: + description: "Java JDK (Linux) repack toolchain build" + treeherder: + symbol: TL(jdk) + run: + script: repack-jdk-linux.sh + resources: + - 'python/mozboot/**/*android*' + toolchain-artifact: project/gecko/jdk/jdk-linux.tar.zst + toolchain-alias: linux64-jdk + toolchain-env: + JAVA_HOME: "/builds/worker/fetches/jdk/jdk-17.0.11+9" + +linux64-android-sdk-linux-repack: + description: "Android SDK (Linux) repack toolchain build" + treeherder: + symbol: TL(android-sdk-linux) + run: + script: repack-android-sdk-linux.sh + resources: + - 'python/mozboot/**/*android*' + toolchain-artifact: project/gecko/android-sdk/android-sdk-linux.tar.zst + toolchain-alias: android-sdk-linux + fetches: + toolchain: + # Aliases aren't allowed for toolchains depending on toolchains. + - linux64-jdk-repack + +linux64-android-emulator-linux-repack: + description: "Android Emulator (Linux) repack toolchain build" + treeherder: + symbol: TL(android-emulator-linux) + run: + script: repack-android-emulator-linux.sh + resources: + - 'python/mozboot/**/*android*' + toolchain-artifact: project/gecko/android-emulator/android-emulator-linux.tar.zst + toolchain-alias: android-emulator-linux + fetches: + toolchain: + # Aliases aren't allowed for toolchains depending on toolchains. + - linux64-jdk-repack + +linux64-android-ndk-linux-repack: + description: "Android NDK (Linux) repack toolchain build" + treeherder: + symbol: TL(android-ndk-linux) + run: + script: repack-android-ndk-linux.sh + resources: + - 'python/mozboot/**/*android*' + toolchain-artifact: project/gecko/android-ndk/android-ndk.tar.zst + toolchain-alias: android-ndk-linux + +linux64-android-gradle-dependencies: + description: "Android Gradle dependencies toolchain task" + treeherder: + symbol: TL(gradle-dependencies) + worker: + env: + GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-online" + ANDROID_SDK_ROOT: "/builds/worker/fetches/android-sdk-linux" + max-run-time: 2700 + run: + script: android-gradle-dependencies.sh + sparse-profile: null + resources: + - 'taskcluster/scripts/misc/android-gradle-dependencies/**' + - '*.gradle' + - 'mobile/android/**/*.gradle' + - 'mobile/android/config/mozconfigs/android-arm-gradle-dependencies/**' + - 'mobile/android/config/mozconfigs/common*' + - 'mobile/android/gradle.configure' + - 'mobile/android/android-components/plugins/dependencies/src/main/java/DependenciesPlugin.kt' + - 'mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt' + - 'mobile/android/fenix/plugins/fenixdependencies/src/main/java/FenixDependenciesPlugin.kt' + - 'mobile/android/focus-android/plugins/focusdependencies/src/main/java/FocusDependenciesPlugin.kt' + toolchain-artifact: public/build/android-gradle-dependencies.tar.zst + toolchain-alias: android-gradle-dependencies + fetches: + fetch: + - sonatype-nexus + # Nexus needs Java 8 + - jdk-8-linux64 + toolchain: + # Aliases aren't allowed for toolchains depending on toolchains. + - linux64-android-sdk-linux-repack + - linux64-jdk-repack + - linux64-node + +linux64-android-gradle-dependencies-lite: + description: "Android Lite Gradle dependencies toolchain task" + treeherder: + symbol: TL(gradle-dependencies-lite) + worker: + env: + GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-online" + run: + script: android-gradle-dependencies-lite.sh + sparse-profile: null + resources: + - 'taskcluster/scripts/misc/android-gradle-dependencies/**' + - '*.gradle' + - 'mobile/android/**/*.gradle' + - 'mobile/android/config/mozconfigs/android-arm-gradle-dependencies/**' + - 'mobile/android/config/mozconfigs/common*' + - 'mobile/android/gradle.configure' + - 'mobile/android/android-components/plugins/dependencies/src/main/java/DependenciesPlugin.kt' + - 'mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt' + toolchain-artifact: public/build/android-gradle-dependencies.tar.zst + toolchain-alias: android-gradle-dependencies-lite + fetches: + fetch: + - sonatype-nexus + # Nexus needs Java 8 + - jdk-8-linux64 + toolchain: + # Aliases aren't allowed for toolchains depending on toolchains. + - linux64-android-sdk-linux-repack + - linux64-jdk-repack + - linux64-node diff --git a/taskcluster/ci/toolchain/cargo-vet.yml b/taskcluster/kinds/toolchain/cargo-vet.yml index 3f1cb9756a..3f1cb9756a 100644 --- a/taskcluster/ci/toolchain/cargo-vet.yml +++ b/taskcluster/kinds/toolchain/cargo-vet.yml diff --git a/taskcluster/ci/toolchain/cbindgen.yml b/taskcluster/kinds/toolchain/cbindgen.yml index 69d34b6f3b..69d34b6f3b 100644 --- a/taskcluster/ci/toolchain/cbindgen.yml +++ b/taskcluster/kinds/toolchain/cbindgen.yml diff --git a/taskcluster/ci/toolchain/clang-tidy.yml b/taskcluster/kinds/toolchain/clang-tidy.yml index 02d089eca3..02d089eca3 100644 --- a/taskcluster/ci/toolchain/clang-tidy.yml +++ b/taskcluster/kinds/toolchain/clang-tidy.yml diff --git a/taskcluster/ci/toolchain/clang.yml b/taskcluster/kinds/toolchain/clang.yml index a9cf04e0b9..a9cf04e0b9 100644 --- a/taskcluster/ci/toolchain/clang.yml +++ b/taskcluster/kinds/toolchain/clang.yml diff --git a/taskcluster/ci/toolchain/compiler-rt.yml b/taskcluster/kinds/toolchain/compiler-rt.yml index 631024fbf9..631024fbf9 100644 --- a/taskcluster/ci/toolchain/compiler-rt.yml +++ b/taskcluster/kinds/toolchain/compiler-rt.yml diff --git a/taskcluster/ci/toolchain/dist-toolchains.yml b/taskcluster/kinds/toolchain/dist-toolchains.yml index 31b60918e6..31b60918e6 100644 --- a/taskcluster/ci/toolchain/dist-toolchains.yml +++ b/taskcluster/kinds/toolchain/dist-toolchains.yml diff --git a/taskcluster/ci/toolchain/dump-syms.yml b/taskcluster/kinds/toolchain/dump-syms.yml index 05aee5e352..05aee5e352 100644 --- a/taskcluster/ci/toolchain/dump-syms.yml +++ b/taskcluster/kinds/toolchain/dump-syms.yml diff --git a/taskcluster/ci/toolchain/fix-stacks.yml b/taskcluster/kinds/toolchain/fix-stacks.yml index e11bf0b166..e11bf0b166 100644 --- a/taskcluster/ci/toolchain/fix-stacks.yml +++ b/taskcluster/kinds/toolchain/fix-stacks.yml diff --git a/taskcluster/ci/toolchain/gcc.yml b/taskcluster/kinds/toolchain/gcc.yml index 2a09c37e6c..2a09c37e6c 100644 --- a/taskcluster/ci/toolchain/gcc.yml +++ b/taskcluster/kinds/toolchain/gcc.yml diff --git a/taskcluster/ci/toolchain/geckodriver.yml b/taskcluster/kinds/toolchain/geckodriver.yml index 252befa3fb..252befa3fb 100644 --- a/taskcluster/ci/toolchain/geckodriver.yml +++ b/taskcluster/kinds/toolchain/geckodriver.yml diff --git a/taskcluster/ci/toolchain/gn.yml b/taskcluster/kinds/toolchain/gn.yml index d12b0f19c5..d12b0f19c5 100644 --- a/taskcluster/ci/toolchain/gn.yml +++ b/taskcluster/kinds/toolchain/gn.yml diff --git a/taskcluster/ci/toolchain/grcov.yml b/taskcluster/kinds/toolchain/grcov.yml index 15fed68732..15fed68732 100644 --- a/taskcluster/ci/toolchain/grcov.yml +++ b/taskcluster/kinds/toolchain/grcov.yml diff --git a/taskcluster/ci/toolchain/hostutils.yml b/taskcluster/kinds/toolchain/hostutils.yml index d9974e917a..d9974e917a 100644 --- a/taskcluster/ci/toolchain/hostutils.yml +++ b/taskcluster/kinds/toolchain/hostutils.yml diff --git a/taskcluster/ci/toolchain/kind.yml b/taskcluster/kinds/toolchain/kind.yml index 524bb20670..524bb20670 100644 --- a/taskcluster/ci/toolchain/kind.yml +++ b/taskcluster/kinds/toolchain/kind.yml diff --git a/taskcluster/ci/toolchain/libunwind.yml b/taskcluster/kinds/toolchain/libunwind.yml index 5a1972f3f6..5a1972f3f6 100644 --- a/taskcluster/ci/toolchain/libunwind.yml +++ b/taskcluster/kinds/toolchain/libunwind.yml diff --git a/taskcluster/ci/toolchain/llvm-symbolizer.yml b/taskcluster/kinds/toolchain/llvm-symbolizer.yml index 11b63397c2..11b63397c2 100644 --- a/taskcluster/ci/toolchain/llvm-symbolizer.yml +++ b/taskcluster/kinds/toolchain/llvm-symbolizer.yml diff --git a/taskcluster/ci/toolchain/macos-sdk.yml b/taskcluster/kinds/toolchain/macos-sdk.yml index 194a1ee20a..194a1ee20a 100644 --- a/taskcluster/ci/toolchain/macos-sdk.yml +++ b/taskcluster/kinds/toolchain/macos-sdk.yml diff --git a/taskcluster/ci/toolchain/mingw.yml b/taskcluster/kinds/toolchain/mingw.yml index a14413669f..a14413669f 100644 --- a/taskcluster/ci/toolchain/mingw.yml +++ b/taskcluster/kinds/toolchain/mingw.yml diff --git a/taskcluster/ci/toolchain/minidump-stackwalk.yml b/taskcluster/kinds/toolchain/minidump-stackwalk.yml index f0f9b3e70c..f0f9b3e70c 100644 --- a/taskcluster/ci/toolchain/minidump-stackwalk.yml +++ b/taskcluster/kinds/toolchain/minidump-stackwalk.yml diff --git a/taskcluster/ci/toolchain/misc.yml b/taskcluster/kinds/toolchain/misc.yml index 80356f5be6..63bd1f3c02 100644 --- a/taskcluster/ci/toolchain/misc.yml +++ b/taskcluster/kinds/toolchain/misc.yml @@ -45,6 +45,8 @@ linux64-cctools-port: symbol: TL(cctools-clang) run: script: build-cctools-port.sh + resources: + - taskcluster/scripts/misc/cctools.patch toolchain-artifact: public/build/cctools.tar.zst fetches: toolchain: diff --git a/taskcluster/ci/toolchain/nasm.yml b/taskcluster/kinds/toolchain/nasm.yml index 866aa5b0f6..866aa5b0f6 100644 --- a/taskcluster/ci/toolchain/nasm.yml +++ b/taskcluster/kinds/toolchain/nasm.yml diff --git a/taskcluster/ci/toolchain/node.yml b/taskcluster/kinds/toolchain/node.yml index 6ab3511aab..6ab3511aab 100644 --- a/taskcluster/ci/toolchain/node.yml +++ b/taskcluster/kinds/toolchain/node.yml diff --git a/taskcluster/ci/toolchain/pkgconf.yml b/taskcluster/kinds/toolchain/pkgconf.yml index c97ead7acc..c97ead7acc 100644 --- a/taskcluster/ci/toolchain/pkgconf.yml +++ b/taskcluster/kinds/toolchain/pkgconf.yml diff --git a/taskcluster/ci/toolchain/python.yml b/taskcluster/kinds/toolchain/python.yml index e610ee6e4e..e610ee6e4e 100644 --- a/taskcluster/ci/toolchain/python.yml +++ b/taskcluster/kinds/toolchain/python.yml diff --git a/taskcluster/ci/toolchain/resourcemonitor.yml b/taskcluster/kinds/toolchain/resourcemonitor.yml index f4ef9a41c4..f4ef9a41c4 100644 --- a/taskcluster/ci/toolchain/resourcemonitor.yml +++ b/taskcluster/kinds/toolchain/resourcemonitor.yml diff --git a/taskcluster/ci/toolchain/rust-size.yml b/taskcluster/kinds/toolchain/rust-size.yml index 09963589a6..09963589a6 100644 --- a/taskcluster/ci/toolchain/rust-size.yml +++ b/taskcluster/kinds/toolchain/rust-size.yml diff --git a/taskcluster/ci/toolchain/rust.yml b/taskcluster/kinds/toolchain/rust.yml index 437c497d71..e1e2778f68 100644 --- a/taskcluster/ci/toolchain/rust.yml +++ b/taskcluster/kinds/toolchain/rust.yml @@ -11,12 +11,12 @@ job-defaults: script: repack_rust.py toolchain-artifact: public/build/rustc.tar.zst -linux64-rust-1.74: +linux64-rust-1.76: treeherder: - symbol: TL(rust-1.74) + symbol: TL(rust-1.76) run: arguments: [ - '--channel', '1.74.0', + '--channel', '1.76.0', '--host', 'x86_64-unknown-linux-gnu', '--target', 'x86_64-unknown-linux-gnu', '--target', 'i686-unknown-linux-gnu', diff --git a/taskcluster/ci/toolchain/sccache.yml b/taskcluster/kinds/toolchain/sccache.yml index 6fa9ab46a5..6fa9ab46a5 100644 --- a/taskcluster/ci/toolchain/sccache.yml +++ b/taskcluster/kinds/toolchain/sccache.yml diff --git a/taskcluster/ci/toolchain/sysroot.yml b/taskcluster/kinds/toolchain/sysroot.yml index e4479d16e0..e4479d16e0 100644 --- a/taskcluster/ci/toolchain/sysroot.yml +++ b/taskcluster/kinds/toolchain/sysroot.yml diff --git a/taskcluster/ci/trigger-comm-central/kind.yml b/taskcluster/kinds/trigger-comm-central/kind.yml index 0b6dfb2c64..0b6dfb2c64 100644 --- a/taskcluster/ci/trigger-comm-central/kind.yml +++ b/taskcluster/kinds/trigger-comm-central/kind.yml diff --git a/taskcluster/kinds/ui-test-apk/kind.yml b/taskcluster/kinds/ui-test-apk/kind.yml new file mode 100644 index 0000000000..d80d5139b7 --- /dev/null +++ b/taskcluster/kinds/ui-test-apk/kind.yml @@ -0,0 +1,354 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +transforms: + - gecko_taskgraph.transforms.test_apk:transforms + # While not a build, the build optimization works well for these tasks. + - gecko_taskgraph.transforms.build_schedules:transforms + - gecko_taskgraph.transforms.job:transforms + - gecko_taskgraph.transforms.task:transforms + +kind-dependencies: + - toolchain + - signing-apk + +job-defaults: + attributes: + build_platform: android + build-type: debug + retrigger: true + fetches: + toolchain: + - android-sdk-linux + optimization: + skip-unless-backstop: null + worker-type: b-linux-medium-gcp + worker: + docker-image: {in-tree: android-ui-tests} + max-run-time: 7200 + env: + GOOGLE_APPLICATION_CREDENTIALS: '.firebase_token.json' + ANDROID_SDK_ROOT: /builds/worker/fetches/android-sdk-linux + artifacts: + - name: public + path: /builds/worker/artifacts + type: directory + retry-exit-status: [20] + treeherder: + kind: test + tier: 2 + run: + use-caches: false + using: run-commands + dummy-secrets: + - content: "faketoken" + path: .adjust_token + routes: + by-level: + '3': + - notify.slack-channel.G016BC5FUHJ.on-failed + 'default': [] + scopes: + by-level: + '3': + - queue:route:notify.slack-channel.G016BC5FUHJ.on-failed + - notify:slack-channel:G016BC5FUHJ + 'default': [] + extra: + notify: + by-level: + '3': + slackText: 'https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId} | ${task.metadata.name} | ${task.metadata.source}' + slackBlocks: | + [ + { + "type": "header", + "text": { + "type": "plain_text", + "text": "firefox-android :firefox: ${task.metadata.name} :x:\n " + } + }, + { + "type": "divider" + }, + { + "type": "section", + "text": { + "type": "mrkdwn", + "text": "*Task*: <https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId}|Taskcluster>" + } + }, + { + "type": "section", + "text": { + "type": "mrkdwn", + "text": "*Owner*: ${task.metadata.owner}" + } + }, + { + "type": "section", + "text": { + "type": "mrkdwn", + "text": "*Source*: <${task.payload.env.GECKO_BASE_REPOSITORY}/rev/${task.payload.env.GECKO_HEAD_REV}|Commit> :hg:" + } + }, + { + "type": "divider" + }, + { + "type": "context", + "elements": [ + { + "type": "mrkdwn", + "text": ":testops-notify: created by <https://mozilla-hub.atlassian.net/wiki/spaces/MTE/overview|Mobile Test Engineering>" + } + ] + } + ] + 'default': {} + +jobs: + focus-arm-debug: + attributes: + build-type: focus-debug-firebase + shipping-product: focus + description: 'Focus UI tests with firebase' + run: + secrets: + - name: project/mobile/firefox-android/focus-android/firebase + key: firebaseToken + path: .firebase_token.json + json: true + pre-commands: + - ["cd", "mobile/android/focus-android"] + commands: + - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk] + - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk] + - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm64-v8a, app.apk, --apk_test, android-test.apk] + dependencies: + # key is arbitrary, the value corresponds to <kind name>-<build-name> + signed-apk-debug-apk: signing-apk-focus-debug + signed-apk-android-test: signing-apk-focus-android-test-debug + treeherder: + platform: 'focus-ui-test/opt' + symbol: focus-debug(ui-test-arm) + worker: + env: + GOOGLE_PROJECT: 'moz-focus-android' + focus-arm-nightly: + attributes: + build-type: focus-nightly-firebase + shipping-product: focus + description: 'UI tests on Nightly with firebase' + dependencies: + signed-apk-debug-apk: signing-apk-focus-nightly-firebase + signed-apk-android-test: signing-apk-focus-android-test-nightly + run-on-projects: [trunk] + run: + secrets: + - name: project/mobile/firefox-android/focus-android/firebase + key: firebaseToken + path: .firebase_token.json + json: true + pre-commands: + - ["cd", "mobile/android/focus-android"] + commands: + - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk] + - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk] + - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-start-test, app.apk, --apk_test, android-test.apk] + treeherder: + platform: 'focus-ui-test/opt' + symbol: focus-nightly(ui-test-arm-nightly) + worker: + env: + GOOGLE_PROJECT: 'moz-focus-android' + focus-arm-beta: + attributes: + build-type: focus-beta-firebase + shipping-product: focus + description: 'UI tests on Beta with firebase' + dependencies: + signed-apk-debug-apk: signing-apk-focus-beta-firebase + signed-apk-android-test: signing-apk-focus-android-test-beta + run-on-projects: [release] + run: + secrets: + - name: project/mobile/firefox-android/focus-android/firebase + key: firebaseToken + path: .firebase_token.json + json: true + pre-commands: + - ["cd", "mobile/android/focus-android"] + commands: + - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk] + - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk] + - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-beta, app.apk, --apk_test, android-test.apk] + treeherder: + platform: 'focus-ui-test/opt' + symbol: focus-beta(ui-test-arm-beta) + worker: + env: + GOOGLE_PROJECT: 'moz-focus-android' + fenix-arm-debug: + attributes: + build-type: fenix-debug-firebase + shipping-product: fenix + description: Test Fenix + dependencies: + signed-apk-debug-apk: signing-apk-fenix-debug + signed-apk-android-test: signing-apk-fenix-android-test-debug + run: + secrets: + - name: project/mobile/firefox-android/fenix/firebase + key: firebaseToken + path: .firebase_token.json + json: true + pre-commands: + - ["cd", "mobile/android/fenix"] + commands: + - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk] + - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk] + - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm64-v8a, app.apk, --apk_test, android-test.apk] + treeherder: + platform: 'fenix-ui-test/opt' + symbol: fenix-debug(ui-test-arm) + worker: + env: + GOOGLE_PROJECT: moz-fenix + screenshots-arm: + attributes: + build-type: fenix-debug-screenshots + shipping-product: fenix + screenshots: true + cron: true + description: Run UI screenshots tests to keep them up to date + dependencies: + signed-apk-debug-apk: signing-apk-fenix-debug + signed-apk-android-test: signing-apk-fenix-android-test-debug + run: + secrets: + - name: project/mobile/firefox-android/fenix/firebase + key: firebaseToken + path: .firebase_token.json + json: true + pre-commands: + - ["cd", "mobile/android/fenix"] + commands: + - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk] + - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk] + - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-screenshots-tests, app.apk, --apk_test, android-test.apk] + treeherder: + platform: 'fenix-ui-test/opt' + symbol: fenix-debug(screenshots-arm) + worker: + env: + GOOGLE_PROJECT: moz-fenix + fenix-arm-beta: + attributes: + build-type: fenix-beta-firebase + shipping-product: fenix + description: Test Fenix + dependencies: + signed-apk-debug-apk: signing-apk-fenix-beta-firebase + signed-apk-android-test: signing-apk-fenix-android-test-beta + run-on-projects: [release] + run: + secrets: + - name: project/mobile/firefox-android/fenix/firebase + key: firebaseToken + path: .firebase_token.json + json: true + pre-commands: + - ["cd", "mobile/android/fenix"] + commands: + - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk] + - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk] + - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-beta, app.apk, --apk_test, android-test.apk] + treeherder: + platform: 'fenix-ui-test/opt' + symbol: fenix-beta(ui-test-arm-beta) + worker: + env: + GOOGLE_PROJECT: moz-fenix + fenix-arm-nightly: + attributes: + build-type: fenix-nightly-firebase + shipping-product: fenix + description: Test Fenix + dependencies: + signed-apk-debug-apk: signing-apk-fenix-nightly-firebase + signed-apk-android-test: signing-apk-fenix-android-test-nightly + run-on-projects: [trunk] + run: + secrets: + - name: project/mobile/firefox-android/fenix/firebase + key: firebaseToken + path: .firebase_token.json + json: true + pre-commands: + - ["cd", "mobile/android/fenix"] + commands: + - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk] + - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk] + - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-start-test, app.apk, --apk_test, android-test.apk] + treeherder: + platform: 'fenix-ui-test/opt' + symbol: fenix-nightly(ui-test-arm-nightly) + worker: + env: + GOOGLE_PROJECT: moz-fenix + fenix-legacy-arm: + attributes: + build-type: fenix-legacy + legacy: true + shipping-product: fenix + description: Run select UI tests on legacy Android devices and API levels + dependencies: + signed-apk-debug-apk: signing-apk-fenix-debug + signed-apk-android-test: signing-apk-fenix-android-test-debug + run: + secrets: + - name: project/mobile/firefox-android/fenix/firebase + key: firebaseToken + path: .firebase_token.json + json: true + pre-commands: + - ["cd", "mobile/android/fenix"] + commands: + - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk] + - [wget, {artifact-reference: '<signed-apk-android-test/public/build/target.noarch.apk>'}, '-O', android-test.apk] + - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-legacy-api-tests, app.apk, --apk_test, android-test.apk] + treeherder: + platform: 'fenix-ui-test/opt' + symbol: fenix-debug(legacy-arm) + worker: + env: + GOOGLE_PROJECT: moz-fenix + + fenix-robo-arm-debug: + attributes: + build-type: fenix-robo + shipping-product: fenix + description: Run Robo test on ARM devices + dependencies: + signed-apk-debug-apk: signing-apk-fenix-debug + run: + secrets: + - name: project/mobile/firefox-android/fenix/firebase + key: firebaseToken + path: .firebase_token.json + json: true + pre-commands: + - ["cd", "mobile/android/fenix"] + commands: + - [wget, {artifact-reference: '<signed-apk-debug-apk/public/build/target.arm64-v8a.apk>'}, '-O', app.apk] + - [python3, ../../../taskcluster/scripts/tests/test-lab.py, arm-robo-test, app.apk] + treeherder: + platform: 'fenix-ui-test/opt' + symbol: fenix-debug(robo-arm) + worker: + env: + GOOGLE_PROJECT: moz-fenix diff --git a/taskcluster/kinds/updatebot/kind.yml b/taskcluster/kinds/updatebot/kind.yml new file mode 100644 index 0000000000..8b6ed560a1 --- /dev/null +++ b/taskcluster/kinds/updatebot/kind.yml @@ -0,0 +1,92 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +kind-dependencies: + - fetch + - toolchain + +transforms: + - gecko_taskgraph.transforms.release_notifications:transforms + - gecko_taskgraph.transforms.job:transforms + - gecko_taskgraph.transforms.task:transforms + +jobs: + cron: + description: Cron Job for Updatebot + run-on-projects: [] + treeherder: + kind: other + platform: updatebot/all + symbol: cron + tier: 1 + worker-type: b-linux-gcp + worker: + docker-image: {in-tree: updatebot} + max-run-time: 4500 + taskcluster-proxy: true + scopes: + - secrets:get:project/updatebot/{level}/try-sshkey + - secrets:get:project/updatebot/{level}/phabricator-token + - secrets:get:project/updatebot/{level}/bugzilla-api-key + - secrets:get:project/updatebot/{level}/database-password + - secrets:get:project/updatebot/{level}/sentry-url + - secrets:get:project/updatebot/{level}/sql-proxy-config + - hooks:trigger-hook:project-gecko/in-tree-action-1-generic/* + run: + using: run-task + command: /builds/worker/run.py /builds/worker/checkouts/gecko /builds/worker/updatebot + notifications: + subject: 'updatebot cron failed' + message: 'updatebot cron failed' + status-types: + - on-failed + - on-exception + emails: ["tom@mozilla.com", "fbraun@mozilla.com"] + fetches: + toolchain: + - linux64-rust + - linux64-cargo-vet + + cron-win: + description: Cron Job for Updatebot (Windows) + run-on-projects: [] + treeherder: + kind: other + platform: updatebot/all + symbol: w-cron + tier: 1 + worker-type: b-win2022 + worker: + max-run-time: 4500 + taskcluster-proxy: true + # begin _GENERATE_DEPOT_TOOLS_BINARIES_ + # artifacts: + # - type: directory + # name: public/depot_tools.zip + # path: build\src\obj-build\depot_tools + # end _GENERATE_DEPOT_TOOLS_BINARIES_ + env: + TOOLTOOL_MANIFEST: "taskcluster/kinds/updatebot/tooltool-manifests/updatebot.manifest" + MSYSTEM: "MINGW64" + run: + using: run-task + cwd: '{checkout}' + command: ./taskcluster/docker/updatebot/windows-setup.sh + tooltool-downloads: internal + scopes: + - secrets:get:project/updatebot/{level}/try-sshkey + - secrets:get:project/updatebot/{level}/phabricator-token + - secrets:get:project/updatebot/{level}/bugzilla-api-key + - secrets:get:project/updatebot/{level}/database-password + - secrets:get:project/updatebot/{level}/sentry-url + - secrets:get:project/updatebot/{level}/sql-proxy-config + - hooks:trigger-hook:project-gecko/in-tree-action-1-generic/* + fetches: + fetch: + - cloud-sql-proxy-1.25.0 + - php-windows-7.4.24 + - arcanist + - depot_tools diff --git a/taskcluster/ci/updatebot/moz.build b/taskcluster/kinds/updatebot/moz.build index 315dc32600..315dc32600 100644 --- a/taskcluster/ci/updatebot/moz.build +++ b/taskcluster/kinds/updatebot/moz.build diff --git a/taskcluster/ci/updatebot/tooltool-manifests/updatebot.manifest b/taskcluster/kinds/updatebot/tooltool-manifests/updatebot.manifest index f284d80914..f284d80914 100644 --- a/taskcluster/ci/updatebot/tooltool-manifests/updatebot.manifest +++ b/taskcluster/kinds/updatebot/tooltool-manifests/updatebot.manifest diff --git a/taskcluster/ci/upload-generated-sources-dummy/kind.yml b/taskcluster/kinds/upload-generated-sources-dummy/kind.yml index 56e6762839..56e6762839 100644 --- a/taskcluster/ci/upload-generated-sources-dummy/kind.yml +++ b/taskcluster/kinds/upload-generated-sources-dummy/kind.yml diff --git a/taskcluster/kinds/upload-generated-sources/kind.yml b/taskcluster/kinds/upload-generated-sources/kind.yml new file mode 100644 index 0000000000..8ae78b0b28 --- /dev/null +++ b/taskcluster/kinds/upload-generated-sources/kind.yml @@ -0,0 +1,42 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +transforms: + - taskgraph.transforms.from_deps + - gecko_taskgraph.transforms.upload_generated_sources + - gecko_taskgraph.transforms.job + - gecko_taskgraph.transforms.task + +kind-dependencies: + - build + +only-for-attributes: + - nightly + - shippable + - upload-generated-sources + +not-for-build-platforms: + - macosx64-shippable/opt + - macosx64-devedition/opt + +jobs: + upload-generated-sources: + description: Upload generated source files from build + from-deps: + group-by: single-with-filters + worker-type: b-linux-medium-gcp + treeherder: + symbol: Ugs + kind: build + worker: + docker-image: {in-tree: "lint"} + max-run-time: 600 + run: + using: mach + mach: {artifact-reference: "python --virtualenv upload-generated-sources build/upload_generated_sources.py <build/public/build/target.generated-files.tar.gz>"} + sparse-profile: upload-generated-sources + scopes: + - secrets:get:project/releng/gecko/build/level-{level}/gecko-generated-sources-upload diff --git a/taskcluster/ci/upload-symbols-dummy/kind.yml b/taskcluster/kinds/upload-symbols-dummy/kind.yml index d9202ef373..d9202ef373 100644 --- a/taskcluster/ci/upload-symbols-dummy/kind.yml +++ b/taskcluster/kinds/upload-symbols-dummy/kind.yml diff --git a/taskcluster/ci/upload-symbols/kind.yml b/taskcluster/kinds/upload-symbols/kind.yml index cf6875520a..cf6875520a 100644 --- a/taskcluster/ci/upload-symbols/kind.yml +++ b/taskcluster/kinds/upload-symbols/kind.yml diff --git a/taskcluster/kinds/valgrind/kind.yml b/taskcluster/kinds/valgrind/kind.yml new file mode 100644 index 0000000000..068fd572a1 --- /dev/null +++ b/taskcluster/kinds/valgrind/kind.yml @@ -0,0 +1,66 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: gecko_taskgraph.loader.transform:loader + +kind-dependencies: + - toolchain + +transforms: + - gecko_taskgraph.transforms.build_attrs:transforms + - gecko_taskgraph.transforms.build_schedules:transforms + - gecko_taskgraph.transforms.build_lints:transforms + - gecko_taskgraph.transforms.job:transforms + - gecko_taskgraph.transforms.task:transforms + +job-defaults: + attributes: + retrigger: true + use-python: default + +jobs: + linux64-valgrind-qr/opt-swr: + description: "Linux64 Valgrind Opt WebRender" + index: + product: firefox + job-name: linux64-valgrind-qr/opt-swr + treeherder: + platform: linux64-qr/opt + symbol: V-swr + kind: build + tier: 1 + worker-type: t-linux-kvm + worker: + docker-image: {in-tree: valgrind-build} + max-run-time: 72000 + env: + NEED_XVFB: "true" + PERFHERDER_EXTRA_OPTIONS: valgrind + run: + using: mozharness + actions: [get-secrets, build, valgrind-test] + custom-build-variant-cfg: valgrind + config: + - builds/releng_base_firefox.py + - builds/releng_base_linux_64_builds.py + extra-config: + extra_prefs: [gfx.webrender.software=true] + script: "mozharness/scripts/fx_desktop_build.py" + secrets: true + tooltool-downloads: public + use-sccache: true + fetches: + toolchain: + - linux64-clang + - linux64-rust + - linux64-cbindgen + - linux64-dump_syms + - linux64-sccache + - linux64-nasm + - linux64-node + - linux64-pkgconf + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + optimization: + skip-unless-expanded: null diff --git a/taskcluster/ci/webrender/kind.yml b/taskcluster/kinds/webrender/kind.yml index 9443a096c1..9443a096c1 100644 --- a/taskcluster/ci/webrender/kind.yml +++ b/taskcluster/kinds/webrender/kind.yml diff --git a/taskcluster/scripts/builder/build-android.sh b/taskcluster/scripts/builder/build-android.sh index fd2ecd0e2b..fc1ccca7e4 100755 --- a/taskcluster/scripts/builder/build-android.sh +++ b/taskcluster/scripts/builder/build-android.sh @@ -19,7 +19,7 @@ ac_add_options --without-google-safebrowsing-api-keyfile ac_add_options --disable-nodejs unset NODEJS -export GRADLE_MAVEN_REPOSITORIES="file://$MOZ_FETCHES_DIR/geckoview","file://$MOZ_FETCHES_DIR/android-gradle-dependencies/mozilla","file://$MOZ_FETCHES_DIR/android-gradle-dependencies/google","file://$MOZ_FETCHES_DIR/android-gradle-dependencies/central","file://$MOZ_FETCHES_DIR/android-gradle-dependencies/gradle-plugins","file:///$MOZ_FETCHES_DIR/plugins.gradle.org/m2" +export GRADLE_MAVEN_REPOSITORIES="file://$MOZ_FETCHES_DIR/geckoview","file://$MOZ_FETCHES_DIR/android-gradle-dependencies/mozilla","file://$MOZ_FETCHES_DIR/android-gradle-dependencies/google","file://$MOZ_FETCHES_DIR/android-gradle-dependencies/central","file://$MOZ_FETCHES_DIR/android-gradle-dependencies/gradle-plugins","file:///$MOZ_FETCHES_DIR/android-gradle-dependencies/plugins.gradle.org/m2" EOF export MOZCONFIG=$mozconfig GRADLE=$MOZ_FETCHES_DIR/android-gradle-dependencies/gradle-dist/bin/gradle diff --git a/taskcluster/scripts/lib/testrail_api.py b/taskcluster/scripts/lib/testrail_api.py index 44474ebe9d..786ae8552c 100644 --- a/taskcluster/scripts/lib/testrail_api.py +++ b/taskcluster/scripts/lib/testrail_api.py @@ -37,82 +37,98 @@ from testrail_conn import APIClient class TestRail: def __init__(self, host, username, password): + if not all([host, username, password]): + raise ValueError("TestRail host, username, and password must be provided.") self.client = APIClient(host) self.client.user = username self.client.password = password # Public Methods - def create_milestone(self, testrail_project_id, title, description): + def create_milestone(self, project_id, title, description): + if not all([project_id, title, description]): + raise ValueError("Project ID, title, and description must be provided.") data = {"name": title, "description": description} - return self.client.send_post(f"add_milestone/{testrail_project_id}", data) - - def create_milestone_and_test_runs( - self, project_id, milestone_name, milestone_description, devices, test_suite_id - ): - # Create milestone - milestone_id = self._retry_api_call( - self.create_milestone, project_id, milestone_name, milestone_description - )["id"] - - # Create test runs for each device - for device in devices: - test_run_id = self._retry_api_call( - self.create_test_run, project_id, milestone_id, device, test_suite_id - )["id"] - self._retry_api_call( - self.update_test_cases_to_passed, project_id, test_run_id, test_suite_id - ) - - return milestone_id + return self.client.send_post(f"add_milestone/{project_id}", data) def create_test_run( - self, testrail_project_id, testrail_milestone_id, name_run, testrail_suite_id + self, + project_id, + milestone_id, + test_run_name, + suite_id, ): + if not all([project_id, milestone_id, test_run_name, suite_id]): + raise ValueError( + "Project ID, milestone ID, test run name, and suite ID must be provided." + ) data = { - "name": name_run, - "milestone_id": testrail_milestone_id, - "suite_id": testrail_suite_id, + "name": test_run_name, + "milestone_id": milestone_id, + "suite_id": suite_id, } - return self.client.send_post(f"add_run/{testrail_project_id}", data) - - def does_milestone_exist(self, testrail_project_id, milestone_name): - num_of_milestones_to_check = 10 # check last 10 milestones - milestones = self._get_milestones( - testrail_project_id - ) # returns reverse chronological order - for milestone in milestones[ - -num_of_milestones_to_check: - ]: # check last 10 api responses - if milestone_name == milestone["name"]: - return True - return False - - def update_test_cases_to_passed( - self, testrail_project_id, testrail_run_id, testrail_suite_id - ): - test_cases = self._get_test_cases(testrail_project_id, testrail_suite_id) + return self.client.send_post(f"add_run/{project_id}", data) + + def does_milestone_exist(self, project_id, milestone_name, num_of_milestones=10): + if not all([project_id, milestone_name]): + raise ValueError("Project ID and milestone name must be provided.") + # returns reverse chronological order of milestones, check last 10 milestones + milestones = self._get_milestones(project_id)[-num_of_milestones:] + return any(milestone_name == milestone["name"] for milestone in milestones) + + def update_test_run_tests(self, test_run_id, test_status): + if not all([test_run_id, test_status]): + raise ValueError("Test run ID and test status must be provided.") + tests = self._get_tests(test_run_id) data = { "results": [ - {"case_id": test_case["id"], "status_id": 1} for test_case in test_cases + {"test_id": test["id"], "status_id": test_status} for test in tests ] } - return self._update_test_run_results(testrail_run_id, data) + return self.client.send_post(f"add_results/{test_run_id}", data) # Private Methods - def _get_test_cases(self, testrail_project_id, testrail_test_suite_id): - return self.client.send_get( - f"get_cases/{testrail_project_id}&suite_id={testrail_test_suite_id}" - ) - - def _update_test_run_results(self, testrail_run_id, data): - return self.client.send_post(f"add_results_for_cases/{testrail_run_id}", data) - - def _get_milestones(self, testrail_project_id): - return self.client.send_get(f"get_milestones/{testrail_project_id}") + def _get_test_cases(self, project_id, suite_id): + if not all([project_id, suite_id]): + raise ValueError("Project ID and suite ID must be provided.") + return self.client.send_get(f"get_cases/{project_id}&suite_id={suite_id}")[ + "cases" + ] + + def _get_milestone(self, milestone_id): + if not milestone_id: + raise ValueError("Milestone ID must be provided.") + return self.client.send_get(f"get_milestone/{milestone_id}") + + def _get_milestones(self, project_id): + if not project_id: + raise ValueError("Project ID must be provided.") + return self.client.send_get(f"get_milestones/{project_id}")["milestones"] + + def _get_tests(self, test_run_id): + if not test_run_id: + raise ValueError("Test run ID must be provided.") + return self.client.send_get(f"get_tests/{test_run_id}")["tests"] + + def _get_test_run(self, test_run_id): + if not test_run_id: + raise ValueError("Test run ID must be provided.") + return self.client.send_get(f"get_run/{test_run_id}") + + def _get_test_runs(self, project_id): + if not project_id: + raise ValueError("Project ID must be provided.") + return self.client.send_get(f"get_runs/{project_id}")["runs"] + + def _get_test_run_results(self, test_run_id): + if not test_run_id: + raise ValueError("Test run ID must be provided.") + return self.client.send_get(f"get_results_for_run/{test_run_id}")["results"] def _retry_api_call(self, api_call, *args, max_retries=3, delay=5): + if not all([api_call, args]): + raise ValueError("API call and arguments must be provided.") """ Retries the given API call up to max_retries times with a delay between attempts. diff --git a/taskcluster/scripts/misc/afl-nyx.patch b/taskcluster/scripts/misc/afl-nyx.patch index 94a1bbb31d..7a8a55b975 100644 --- a/taskcluster/scripts/misc/afl-nyx.patch +++ b/taskcluster/scripts/misc/afl-nyx.patch @@ -17,6 +17,12 @@ index 988e536e..5e9870c0 100644 /* Do not change this unless you really know what you are doing. */ +commit e46fac6063f7b0b6eca8e140b10c3a107deb0a0f +Author: Christian Holler (:decoder) <choller@mozilla.com> +Date: Wed Mar 6 10:19:52 2024 +0100 + + Fix delayed pcmap writing for code coverage with pc-table + diff --git a/instrumentation/afl-compiler-rt.o.c b/instrumentation/afl-compiler-rt.o.c index caa3c3a8..76ceb451 100644 --- a/instrumentation/afl-compiler-rt.o.c @@ -51,3 +57,26 @@ index caa3c3a8..76ceb451 100644 + } if (__afl_debug) { + +commit 58206a3180479416e14ea324607be71ee69caa6f +Author: Jesse Schwartzentruber <truber@mozilla.com> +Date: Wed Apr 17 14:40:41 2024 -0400 + + Set explicit visibility on shared memory variables. + +diff --git a/src/afl-cc.c b/src/afl-cc.c +index dd4fb4ea..57089ae0 100644 +--- a/src/afl-cc.c ++++ b/src/afl-cc.c +@@ -1591,8 +1591,10 @@ void add_defs_persistent_mode(aflcc_state_t *aflcc) { + insert_param(aflcc, + "-D__AFL_FUZZ_INIT()=" + "int __afl_sharedmem_fuzzing = 1;" +- "extern unsigned int *__afl_fuzz_len;" +- "extern unsigned char *__afl_fuzz_ptr;" ++ "extern __attribute__((visibility(\"default\"))) " ++ "unsigned int *__afl_fuzz_len;" ++ "extern __attribute__((visibility(\"default\"))) " ++ "unsigned char *__afl_fuzz_ptr;" + "unsigned char __afl_fuzz_alt[1048576];" + "unsigned char *__afl_fuzz_alt_ptr = __afl_fuzz_alt;"); diff --git a/taskcluster/scripts/misc/android-gradle-dependencies/after.sh b/taskcluster/scripts/misc/android-gradle-dependencies/after.sh index 9943cf2c41..22be14256e 100755 --- a/taskcluster/scripts/misc/android-gradle-dependencies/after.sh +++ b/taskcluster/scripts/misc/android-gradle-dependencies/after.sh @@ -10,7 +10,7 @@ set -v # Package everything up. pushd $WORKSPACE -mkdir -p android-gradle-dependencies /builds/worker/artifacts +mkdir -p /builds/worker/artifacts # NEXUS_WORK is exported by `before.sh`. cp -R ${NEXUS_WORK}/storage/mozilla android-gradle-dependencies diff --git a/taskcluster/scripts/misc/android-gradle-dependencies/before.sh b/taskcluster/scripts/misc/android-gradle-dependencies/before.sh index 7150731d73..3d1b5809b2 100755 --- a/taskcluster/scripts/misc/android-gradle-dependencies/before.sh +++ b/taskcluster/scripts/misc/android-gradle-dependencies/before.sh @@ -4,14 +4,30 @@ set -x -e echo "running as" $(id) -: WORKSPACE ${WORKSPACE:=/builds/worker/workspace} +if [[ -z "${WORKSPACE}" ]]; then + export WORKSPACE=/builds/worker/workspace +fi set -v +# Download the gradle-python-envs plugin +# See https://github.com/gradle/plugin-portal-requests/issues/164 +pushd ${WORKSPACE} +mkdir -p android-gradle-dependencies +pushd android-gradle-dependencies + +PYTHON_ENVS_VERSION="0.0.31" + +PYTHON_ENVS_BASE_URL=https://plugins.gradle.org/m2/gradle/plugin/com/jetbrains/python/gradle-python-envs + +wget --no-parent --recursive --execute robots=off "${PYTHON_ENVS_BASE_URL}/${PYTHON_ENVS_VERSION}/" +popd +popd + # Export NEXUS_WORK so that `after.sh` can use it. -export NEXUS_WORK=/builds/worker/workspace/sonatype-nexus-work +export NEXUS_WORK=${WORKSPACE}/sonatype-nexus-work mkdir -p ${NEXUS_WORK}/conf -cp /builds/worker/workspace/build/src/taskcluster/scripts/misc/android-gradle-dependencies/nexus.xml ${NEXUS_WORK}/conf/nexus.xml +cp ${WORKSPACE}/build/src/taskcluster/scripts/misc/android-gradle-dependencies/nexus.xml ${NEXUS_WORK}/conf/nexus.xml RUN_AS_USER=worker $MOZ_FETCHES_DIR/sonatype-nexus/bin/nexus restart diff --git a/taskcluster/scripts/misc/cctools.patch b/taskcluster/scripts/misc/cctools.patch index 8e11708465..65e10437dd 100644 --- a/taskcluster/scripts/misc/cctools.patch +++ b/taskcluster/scripts/misc/cctools.patch @@ -15,3 +15,17 @@ index bfb67a3..d5b1c67 100644 _deadStripRoots.insert(atom); } } +diff --git a/cctools/ld64/src/ld/code-sign-blobs/blob.h b/cctools/ld64/src/ld/code-sign-blobs/blob.h +index 54afb2d..c17d19b 100644 +--- a/cctools/ld64/src/ld/code-sign-blobs/blob.h ++++ b/cctools/ld64/src/ld/code-sign-blobs/blob.h +@@ -181,9 +181,6 @@ public: + return NULL; + } + +- BlobType *clone() const +- { assert(validateBlob()); return specific(this->BlobCore::clone()); } +- + static BlobType *readBlob(int fd) + { return specific(BlobCore::readBlob(fd, _magic, sizeof(BlobType), 0), true); } + diff --git a/taskcluster/scripts/misc/fetch-chromium.py b/taskcluster/scripts/misc/fetch-chromium.py index ab00dac863..89b476a5a3 100644 --- a/taskcluster/scripts/misc/fetch-chromium.py +++ b/taskcluster/scripts/misc/fetch-chromium.py @@ -38,30 +38,35 @@ CHROMIUM_INFO = { "linux": { "platform": "Linux_x64", "chromium": "chrome-linux.zip", + "dir": "chrome-linux", "result": "chromium-linux.tar.bz2", "chromedriver": "chromedriver_linux64.zip", }, "win32": { "platform": "Win", "chromium": "chrome-win.zip", + "dir": "chrome-win", "result": "chromium-win32.tar.bz2", "chromedriver": "chromedriver_win32.zip", }, "win64": { "platform": "Win", "chromium": "chrome-win.zip", + "dir": "chrome-win", "result": "chromium-win64.tar.bz2", "chromedriver": "chromedriver_win32.zip", }, "mac": { "platform": "Mac", "chromium": "chrome-mac.zip", + "dir": "chrome-mac", "result": "chromium-mac.tar.bz2", "chromedriver": "chromedriver_mac64.zip", }, "mac-arm": { "platform": "Mac_Arm", "chromium": "chrome-mac.zip", + "dir": "chrome-mac", "result": "chromium-mac-arm.tar.bz2", "chromedriver": "chromedriver_mac64.zip", }, @@ -108,24 +113,11 @@ def fetch_chromium_revision(platform): return chromium_revision.strip() -def fetch_chromium_build(platform, revision, zippath): - """Download a chromium build for a given revision, or the latest.""" +def fetch_chromedriver(platform, revision, chromium_dir): + """Get the chromedriver for the given revision and repackage it.""" if not revision: revision = fetch_chromium_revision(platform) - download_platform = CHROMIUM_INFO[platform]["platform"] - download_url = CHROMIUM_BASE_URL.format( - download_platform, revision, CHROMIUM_INFO[platform]["chromium"] - ) - - log("Downloading %s chromium build revision %s..." % (download_platform, revision)) - log(download_url) - fetch_file(download_url, zippath) - return revision - - -def fetch_chromedriver(platform, revision, chromium_dir): - """Get the chromedriver for the given revision and repackage it.""" download_url = CHROMIUM_BASE_URL.format( CHROMIUM_INFO[platform]["platform"], revision, @@ -152,6 +144,7 @@ def fetch_chromedriver(platform, revision, chromium_dir): raise Exception("Could not find chromedriver binary in %s" % tmppath) log("Copying chromedriver from: %s to: %s" % (cd_path, chromium_dir)) shutil.copy(cd_path, chromium_dir) + return revision def build_chromium_archive(platform, revision=None): @@ -173,39 +166,20 @@ def build_chromium_archive(platform, revision=None): # Make a temporary location for the file tmppath = tempfile.mkdtemp() - tmpzip = os.path.join(tmppath, "tmp-chromium.zip") - revision = fetch_chromium_build(platform, revision, tmpzip) + # Create the directory format expected for browsertime setup in taskgraph transform + artifact_dir = CHROMIUM_INFO[platform]["dir"] + chromium_dir = os.path.join(tmppath, artifact_dir) + os.mkdir(chromium_dir) - # Unpack archive in `tmpzip` to store the revision number and - # the chromedriver - unzip(tmpzip, tmppath) - - dirs = [ - d - for d in os.listdir(tmppath) - if os.path.isdir(os.path.join(tmppath, d)) and d.startswith("chrome-") - ] - - if len(dirs) > 1: - raise Exception( - "Too many directories starting with `chrome-` after extracting." - ) - elif len(dirs) == 0: - raise Exception( - "Could not find any directories after extraction of chromium zip." - ) - - chromium_dir = os.path.join(tmppath, dirs[0]) + # Store the revision number and chromedriver + revision = fetch_chromedriver(platform, revision, chromium_dir) revision_file = os.path.join(chromium_dir, ".REVISION") with open(revision_file, "w+") as f: f.write(str(revision)) - # Get and store the chromedriver - fetch_chromedriver(platform, revision, chromium_dir) - tar_file = CHROMIUM_INFO[platform]["result"] - tar_command = ["tar", "cjf", tar_file, "-C", tmppath, dirs[0]] + tar_command = ["tar", "cjf", tar_file, "-C", tmppath, artifact_dir] log("Added revision to %s file." % revision_file) log("Tarring with the command: %s" % str(tar_command)) diff --git a/taskcluster/scripts/misc/gradle-python-envs.sh b/taskcluster/scripts/misc/gradle-python-envs.sh deleted file mode 100755 index 5873e3fa91..0000000000 --- a/taskcluster/scripts/misc/gradle-python-envs.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -set -x -e -v - -VERSION="$1" - -BASE_URL=https://plugins.gradle.org/m2/gradle/plugin/com/jetbrains/python/gradle-python-envs - -mkdir -p "${UPLOAD_DIR}" -wget --no-parent --recursive --execute robots=off "${BASE_URL}/${VERSION}/" -tar caf "${UPLOAD_DIR}/gradle-python-envs-${VERSION}.tar.zst" plugins.gradle.org diff --git a/taskcluster/scripts/misc/wasi-sdk.patch b/taskcluster/scripts/misc/wasi-sdk.patch index b9e26074d1..d151e5ae37 100644 --- a/taskcluster/scripts/misc/wasi-sdk.patch +++ b/taskcluster/scripts/misc/wasi-sdk.patch @@ -21,10 +21,10 @@ index d2ccff6..95f395b 100644 -DUNIX:BOOL=ON \ --debug-trycompile diff --git a/src/wasi-libc/Makefile b/src/wasi-libc/Makefile -index f350ecb..9a5c940 100644 +index f350ecb..3b73115 100644 --- a/src/wasi-libc/Makefile +++ b/src/wasi-libc/Makefile -@@ -308,7 +308,7 @@ ASMFLAGS += --target=$(TARGET_TRIPLE) +@@ -305,7 +305,7 @@ ASMFLAGS += --target=$(TARGET_TRIPLE) # TODO: Add -fno-signaling-nans when the compiler supports it. CFLAGS += -fno-trapping-math # Add all warnings, but disable a few which occur in third-party code. @@ -33,23 +33,49 @@ index f350ecb..9a5c940 100644 -Wno-null-pointer-arithmetic \ -Wno-unused-parameter \ -Wno-sign-compare \ -@@ -671,6 +671,9 @@ check-symbols: startup_files libc +@@ -639,7 +639,7 @@ check-symbols: startup_files libc + for undef_sym in $$("$(NM)" --undefined-only "$(SYSROOT_LIB)"/libc.a "$(SYSROOT_LIB)"/libc-*.a "$(SYSROOT_LIB)"/*.o \ + |grep ' U ' |sed 's/.* U //' |LC_ALL=C sort |uniq); do \ + grep -q '\<'$$undef_sym'\>' "$(DEFINED_SYMBOLS)" || echo $$undef_sym; \ +- done | grep -v "^__mul" > "$(UNDEFINED_SYMBOLS)" ++ done | grep -E -v "^__mul|__indirect_function_table" > "$(UNDEFINED_SYMBOLS)" + grep '^_*imported_wasi_' "$(UNDEFINED_SYMBOLS)" \ + > "$(SYSROOT_LIB)/libc.imports" + +@@ -671,10 +671,16 @@ check-symbols: startup_files libc @# @# TODO: Filter out __NO_MATH_ERRNO_ and a few __*WIDTH__ that are new to clang 14. @# TODO: Filter out __GCC_HAVE_SYNC_COMPARE_AND_SWAP_* that are new to clang 16. + @# TODO: Filter out __FPCLASS_* that are new to clang 17. + @# TODO: Filter out __FLT128_* that are new to clang 18. + @# TODO: Filter out __MEMORY_SCOPE_* that are new to clang 18. ++ @# TODO: Filter out __GCC_(CON|DE)STRUCTIVE_SIZE that are new to clang 19. @# TODO: clang defined __FLT_EVAL_METHOD__ until clang 15, so we force-undefine it @# for older versions. @# TODO: Undefine __wasm_mutable_globals__ and __wasm_sign_ext__, that are new to -@@ -702,6 +703,9 @@ check-symbols: startup_files libc + @# clang 16 for -mcpu=generic. ++ @# TODO: Undefine __wasm_multivalue__ and __wasm_reference_types__, that are new to ++ @# clang 19 for -mcpu=generic. + @# TODO: As of clang 16, __GNUC_VA_LIST is #defined without a value. + $(CC) $(CFLAGS) "$(SYSROOT_SHARE)/include-all.c" \ + -isystem $(SYSROOT_INC) \ +@@ -691,6 +697,8 @@ check-symbols: startup_files libc + -U__clang_wide_literal_encoding__ \ + -U__wasm_mutable_globals__ \ + -U__wasm_sign_ext__ \ ++ -U__wasm_multivalue__ \ ++ -U__wasm_reference_types__ \ + -U__GNUC__ \ + -U__GNUC_MINOR__ \ + -U__GNUC_PATCHLEVEL__ \ +@@ -702,6 +710,10 @@ check-symbols: startup_files libc | sed -e 's/__GNUC_VA_LIST $$/__GNUC_VA_LIST 1/' \ | grep -v '^#define __\(BOOL\|INT_\(LEAST\|FAST\)\(8\|16\|32\|64\)\|INT\|LONG\|LLONG\|SHRT\)_WIDTH__' \ | grep -v '^#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_\(1\|2\|4\|8\)' \ + | grep -v '^#define __FPCLASS_' \ + | grep -v '^#define __FLT128_' \ + | grep -v '^#define __MEMORY_SCOPE_' \ ++ | grep -v '^#define __GCC_\(CON\|DE\)STRUCTIVE_SIZE' \ > "$(SYSROOT_SHARE)/predefined-macros.txt" # Check that the computed metadata matches the expected metadata. diff --git a/taskcluster/scripts/testrail_main.py b/taskcluster/scripts/testrail_main.py index 19bb2f41ea..c8221a73b9 100644 --- a/taskcluster/scripts/testrail_main.py +++ b/taskcluster/scripts/testrail_main.py @@ -73,14 +73,15 @@ def main(): # Create milestone and test runs devices = ["Google Pixel 3(Android11)", "Google Pixel 2(Android11)"] - testrail.create_milestone_and_test_runs( - testrail_project_id, - milestone_name, - milestone_description, - devices, - testrail_test_suite_id, + milestone = testrail.create_milestone( + testrail_project_id, milestone_name, milestone_description ) + for device in devices: + test_run = testrail.create_test_run( + testrail_project_id, milestone["id"], device, testrail_test_suite_id + ) + testrail.update_test_run_tests(test_run["id"], 1) # 1 = Passed # Send success notification success_values = { "RELEASE_TYPE": release_type, diff --git a/taskcluster/scripts/tests/test-lab.py b/taskcluster/scripts/tests/test-lab.py index b8b812df89..7c626f8359 100644 --- a/taskcluster/scripts/tests/test-lab.py +++ b/taskcluster/scripts/tests/test-lab.py @@ -21,6 +21,7 @@ import sys from enum import Enum from pathlib import Path from typing import List, Optional, Union +from urllib.parse import urlparse # Worker paths and binaries @@ -116,10 +117,18 @@ def execute_tests( Worker.RESULTS_DIR.value, "--project", os.environ.get("GOOGLE_PROJECT"), - "--client-details", - f'matrixLabel={os.environ.get("PULL_REQUEST_NUMBER", "None")}', ] + # Add a client details parameter using the repository name + matrixLabel = os.environ.get("GECKO_HEAD_REPOSITORY") + if matrixLabel is not None: + flank_command.extend( + [ + "--client-details", + f"matrixLabel={urlparse(matrixLabel).path.rpartition('/')[-1]}", + ] + ) + # Add androidTest APK if provided (optional) as robo test or instrumentation test if apk_test: flank_command.extend(["--test", str(apk_test)]) diff --git a/taskcluster/test/conftest.py b/taskcluster/test/conftest.py index 0123cee2de..224d5fb777 100644 --- a/taskcluster/test/conftest.py +++ b/taskcluster/test/conftest.py @@ -45,10 +45,10 @@ def create_tgg(responses, datadir): mock_requests[url] = "bugbug-push-schedules.json" # files changed - url = "{head_repository}/json-automationrelevance/{head_rev}".format( + url = "{head_repository}/json-pushfileschanged/{head_rev}".format( **tgg.parameters ) - mock_requests[url] = "automationrelevance.json" + mock_requests[url] = "pushfileschanged.json" url = PUSHLOG_PUSHES_TMPL.format( repository=tgg.parameters["head_repository"], diff --git a/taskcluster/test/data/automationrelevance.json b/taskcluster/test/data/automationrelevance.json deleted file mode 100644 index 36289ded18..0000000000 --- a/taskcluster/test/data/automationrelevance.json +++ /dev/null @@ -1,169 +0,0 @@ -{ - "changesets": [ - { - "author": "User \u003cuser@example.com\u003e", - "backsoutnodes": [], - "bugs": [ - { - "no": "1646582", - "url": "https://bugzilla.mozilla.org/show_bug.cgi?id=1646582" - } - ], - "date": [1593028650.0, 0], - "desc": "Bug 1646582 - Remove nsIRemoteWebProgressRequest since it's not being used anywhere. r=barret\n\nDifferential Revision: https://phabricator.services.mozilla.com/D80127", - "extra": { "branch": "default", "moz-landing-system": "lando" }, - "files": [ - "dom/ipc/BrowserChild.cpp", - "dom/ipc/BrowserParent.cpp", - "dom/ipc/PBrowser.ipdl", - "dom/ipc/RemoteWebProgressRequest.cpp", - "dom/ipc/RemoteWebProgressRequest.h", - "dom/ipc/components.conf", - "dom/ipc/moz.build", - "dom/ipc/nsIRemoteWebProgressRequest.idl", - "dom/ipc/tests/browser.ini", - "dom/ipc/tests/browser_ElapsedTime.js", - "dom/ipc/tests/elapsed_time.sjs" - ], - "landingsystem": "lando", - "node": "9fc2e30af2852cbacf039e6b7cc36a0233c8ed4e", - "parents": ["226b1c518cba596226c80e4475a60ac3a0bfd198"], - "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=autoland&originalRevision=47d0de3f55cd0fcb345d4fa9a5a7d23891315182&newProject=autoland&newRevision=9fc2e30af2852cbacf039e6b7cc36a0233c8ed4e", - "phase": "public", - "pushdate": [1593029535, 0], - "pushhead": "47d0de3f55cd0fcb345d4fa9a5a7d23891315182", - "pushid": 119873, - "pushuser": "user@example.com", - "rev": 537254, - "reviewers": [{ "name": "barret", "revset": "reviewer(barret)" }], - "treeherderrepo": "autoland", - "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=autoland" - }, - { - "author": "User \u003cuser@example.com\u003e", - "backsoutnodes": [], - "bugs": [ - { - "no": "1646582", - "url": "https://bugzilla.mozilla.org/show_bug.cgi?id=1646582" - } - ], - "date": [1593028695.0, 0], - "desc": "Bug 1646582 - Remove DOM(Inner)WindowID from nsIWebProgress. r=nika\n\nDifferential Revision: https://phabricator.services.mozilla.com/D80128", - "extra": { "branch": "default", "moz-landing-system": "lando" }, - "files": [ - "docshell/base/BrowsingContextWebProgress.cpp", - "dom/ipc/BrowserChild.cpp", - "dom/ipc/BrowserParent.cpp", - "dom/ipc/PBrowser.ipdl", - "dom/ipc/RemoteWebProgress.cpp", - "dom/ipc/RemoteWebProgress.h", - "dom/ipc/WindowGlobalParent.cpp", - "dom/ipc/nsIRemoteWebProgress.idl", - "toolkit/components/sessionstore/SessionStoreListener.cpp", - "toolkit/components/statusfilter/nsBrowserStatusFilter.cpp", - "uriloader/base/nsDocLoader.cpp", - "uriloader/base/nsIWebProgress.idl" - ], - "landingsystem": "lando", - "node": "1a749d5aaa71752a9f1d8296b7c32a2a30bccc84", - "parents": ["9fc2e30af2852cbacf039e6b7cc36a0233c8ed4e"], - "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=autoland&originalRevision=47d0de3f55cd0fcb345d4fa9a5a7d23891315182&newProject=autoland&newRevision=9fc2e30af2852cbacf039e6b7cc36a0233c8ed4e", - "phase": "public", - "pushdate": [1593029535, 0], - "pushhead": "47d0de3f55cd0fcb345d4fa9a5a7d23891315182", - "pushid": 119873, - "pushuser": "user@example.com", - "rev": 537255, - "reviewers": [{ "name": "nika", "revset": "reviewer(nika)" }], - "treeherderrepo": "autoland", - "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=autoland" - }, - { - "author": "User \u003cuser@example.com\u003e", - "backsoutnodes": [], - "bugs": [ - { - "no": "1646582", - "url": "https://bugzilla.mozilla.org/show_bug.cgi?id=1646582" - } - ], - "date": [1593028744.0, 0], - "desc": "Bug 1646582 - Remove RemoteWebProgressManager. r=nika,Gijs\n\nDifferential Revision: https://phabricator.services.mozilla.com/D80129", - "extra": { "branch": "default", "moz-landing-system": "lando" }, - "files": [ - "devtools/client/responsive/browser/swap.js", - "dom/interfaces/base/nsIBrowser.idl", - "dom/ipc/BrowserParent.cpp", - "dom/ipc/BrowserParent.h", - "dom/ipc/RemoteWebProgress.cpp", - "dom/ipc/RemoteWebProgress.h", - "dom/ipc/WindowGlobalParent.cpp", - "dom/ipc/components.conf", - "dom/ipc/moz.build", - "dom/ipc/nsIRemoteWebProgress.idl", - "netwerk/ipc/DocumentLoadListener.cpp", - "netwerk/ipc/DocumentLoadListener.h", - "security/manager/ssl/nsSecureBrowserUI.cpp", - "toolkit/content/widgets/browser-custom-element.js", - "toolkit/modules/RemoteWebProgress.jsm", - "toolkit/modules/moz.build", - "tools/lint/eslint/modules.json" - ], - "landingsystem": "lando", - "node": "14b9b4515aabcb9060ece1a988c7993ef65a0bdc", - "parents": ["1a749d5aaa71752a9f1d8296b7c32a2a30bccc84"], - "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=autoland&originalRevision=47d0de3f55cd0fcb345d4fa9a5a7d23891315182&newProject=autoland&newRevision=9fc2e30af2852cbacf039e6b7cc36a0233c8ed4e", - "phase": "public", - "pushdate": [1593029535, 0], - "pushhead": "47d0de3f55cd0fcb345d4fa9a5a7d23891315182", - "pushid": 119873, - "pushuser": "user@example.com", - "rev": 537256, - "reviewers": [ - { "name": "nika", "revset": "reviewer(nika)" }, - { "name": "Gijs", "revset": "reviewer(Gijs)" } - ], - "treeherderrepo": "autoland", - "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=autoland" - }, - { - "author": "User \u003cuser@example.com\u003e", - "backsoutnodes": [], - "bugs": [ - { - "no": "1646582", - "url": "https://bugzilla.mozilla.org/show_bug.cgi?id=1646582" - } - ], - "date": [1593028772.0, 0], - "desc": "Bug 1646582 - Pull the inner window id from the WindowGlobalParent, rather than passing it across PBrowser for updateForLocationChange. r=nika,Gijs\n\nDifferential Revision: https://phabricator.services.mozilla.com/D80131", - "extra": { "branch": "default", "moz-landing-system": "lando" }, - "files": [ - "devtools/client/responsive/browser/tunnel.js", - "dom/interfaces/base/nsIBrowser.idl", - "dom/ipc/BrowserChild.cpp", - "dom/ipc/BrowserParent.cpp", - "dom/ipc/PBrowser.ipdl", - "toolkit/content/widgets/browser-custom-element.js" - ], - "landingsystem": "lando", - "node": "47d0de3f55cd0fcb345d4fa9a5a7d23891315182", - "parents": ["14b9b4515aabcb9060ece1a988c7993ef65a0bdc"], - "perfherderurl": "https://treeherder.mozilla.org/perf.html#/compare?originalProject=autoland&originalRevision=47d0de3f55cd0fcb345d4fa9a5a7d23891315182&newProject=autoland&newRevision=9fc2e30af2852cbacf039e6b7cc36a0233c8ed4e", - "phase": "public", - "pushdate": [1593029535, 0], - "pushhead": "47d0de3f55cd0fcb345d4fa9a5a7d23891315182", - "pushid": 119873, - "pushuser": "user@example.com", - "rev": 537257, - "reviewers": [ - { "name": "nika", "revset": "reviewer(nika)" }, - { "name": "Gijs", "revset": "reviewer(Gijs)" } - ], - "treeherderrepo": "autoland", - "treeherderrepourl": "https://treeherder.mozilla.org/#/jobs?repo=autoland" - } - ], - "visible": true -} diff --git a/taskcluster/test/data/pushfileschanged.json b/taskcluster/test/data/pushfileschanged.json new file mode 100644 index 0000000000..830aa1c80a --- /dev/null +++ b/taskcluster/test/data/pushfileschanged.json @@ -0,0 +1,25 @@ +{ + "files": [ + "devtools/client/responsive/browser/swap.js", + "devtools/client/responsive/browser/tunnel.js", + "docshell/base/BrowsingContextWebProgress.cpp", + "dom/ipc/BrowserChild.cpp", + "dom/ipc/BrowserParent.cpp", + "dom/ipc/PBrowser.ipdl", + "dom/ipc/RemoteWebProgressRequest.cpp", + "dom/ipc/RemoteWebProgressRequest.h", + "dom/ipc/components.conf", + "dom/ipc/moz.build", + "dom/ipc/nsIRemoteWebProgressRequest.idl", + "dom/ipc/tests/browser.ini", + "dom/ipc/tests/browser_ElapsedTime.js", + "dom/ipc/tests/elapsed_time.sjs", + "netwerk/ipc/DocumentLoadListener.cpp", + "netwerk/ipc/DocumentLoadListener.h", + "security/manager/ssl/nsSecureBrowserUI.cpp", + "tools/lint/eslint/modules.json", + "toolkit/content/widgets/browser-custom-element.js", + "toolkit/modules/RemoteWebProgress.jsm", + "toolkit/modules/moz.build" + ] +} diff --git a/taskcluster/test/params/mb-promote-android.yml b/taskcluster/test/params/mb-promote-android.yml index 90a8c1e602..b1fed85cb7 100644 --- a/taskcluster/test/params/mb-promote-android.yml +++ b/taskcluster/test/params/mb-promote-android.yml @@ -160,7 +160,6 @@ existing_tasks: docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A - docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ docker-image-index-task: RwDns0jjRregWw0RNoOKeg docker-image-lint: H2NDEiu8RJWciIqy0yu0IA diff --git a/taskcluster/test/params/mb-promote-devedition-partials.yml b/taskcluster/test/params/mb-promote-devedition-partials.yml index 5517cf96ce..b70e622ad8 100644 --- a/taskcluster/test/params/mb-promote-devedition-partials.yml +++ b/taskcluster/test/params/mb-promote-devedition-partials.yml @@ -160,7 +160,6 @@ existing_tasks: docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A - docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ docker-image-index-task: RwDns0jjRregWw0RNoOKeg docker-image-lint: H2NDEiu8RJWciIqy0yu0IA diff --git a/taskcluster/test/params/mb-promote-devedition.yml b/taskcluster/test/params/mb-promote-devedition.yml index 306c117f44..002cf55c73 100644 --- a/taskcluster/test/params/mb-promote-devedition.yml +++ b/taskcluster/test/params/mb-promote-devedition.yml @@ -160,7 +160,6 @@ existing_tasks: docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A - docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ docker-image-index-task: RwDns0jjRregWw0RNoOKeg docker-image-lint: H2NDEiu8RJWciIqy0yu0IA diff --git a/taskcluster/test/params/mb-promote-firefox-partials.yml b/taskcluster/test/params/mb-promote-firefox-partials.yml index 39bcac3f87..2092b1e638 100644 --- a/taskcluster/test/params/mb-promote-firefox-partials.yml +++ b/taskcluster/test/params/mb-promote-firefox-partials.yml @@ -160,7 +160,6 @@ existing_tasks: docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A - docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ docker-image-index-task: RwDns0jjRregWw0RNoOKeg docker-image-lint: H2NDEiu8RJWciIqy0yu0IA diff --git a/taskcluster/test/params/mb-promote-firefox.yml b/taskcluster/test/params/mb-promote-firefox.yml index 1fe4f69304..0c066c00f7 100644 --- a/taskcluster/test/params/mb-promote-firefox.yml +++ b/taskcluster/test/params/mb-promote-firefox.yml @@ -160,7 +160,6 @@ existing_tasks: docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A - docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ docker-image-index-task: RwDns0jjRregWw0RNoOKeg docker-image-lint: H2NDEiu8RJWciIqy0yu0IA diff --git a/taskcluster/test/params/mb-push-android.yml b/taskcluster/test/params/mb-push-android.yml index 1acb1628ea..2f18c0f6f3 100644 --- a/taskcluster/test/params/mb-push-android.yml +++ b/taskcluster/test/params/mb-push-android.yml @@ -2405,7 +2405,6 @@ existing_tasks: docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A - docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ docker-image-index-task: RwDns0jjRregWw0RNoOKeg docker-image-lint: H2NDEiu8RJWciIqy0yu0IA diff --git a/taskcluster/test/params/mb-push-devedition.yml b/taskcluster/test/params/mb-push-devedition.yml index 1952bac833..bed653b3a4 100644 --- a/taskcluster/test/params/mb-push-devedition.yml +++ b/taskcluster/test/params/mb-push-devedition.yml @@ -2405,7 +2405,6 @@ existing_tasks: docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A - docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ docker-image-index-task: RwDns0jjRregWw0RNoOKeg docker-image-lint: H2NDEiu8RJWciIqy0yu0IA diff --git a/taskcluster/test/params/mb-push-firefox-partials.yml b/taskcluster/test/params/mb-push-firefox-partials.yml index 5fcf72ec14..a73885592c 100644 --- a/taskcluster/test/params/mb-push-firefox-partials.yml +++ b/taskcluster/test/params/mb-push-firefox-partials.yml @@ -2405,7 +2405,6 @@ existing_tasks: docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A - docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ docker-image-index-task: RwDns0jjRregWw0RNoOKeg docker-image-lint: H2NDEiu8RJWciIqy0yu0IA diff --git a/taskcluster/test/params/mb-push-firefox.yml b/taskcluster/test/params/mb-push-firefox.yml index 78f4199b13..1db380ec51 100644 --- a/taskcluster/test/params/mb-push-firefox.yml +++ b/taskcluster/test/params/mb-push-firefox.yml @@ -2405,7 +2405,6 @@ existing_tasks: docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A - docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ docker-image-index-task: RwDns0jjRregWw0RNoOKeg docker-image-lint: H2NDEiu8RJWciIqy0yu0IA diff --git a/taskcluster/test/params/mb-ship-android.yml b/taskcluster/test/params/mb-ship-android.yml index e2d19707e2..0dbdb029f2 100644 --- a/taskcluster/test/params/mb-ship-android.yml +++ b/taskcluster/test/params/mb-ship-android.yml @@ -147,7 +147,6 @@ existing_tasks: docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A - docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ docker-image-index-task: RwDns0jjRregWw0RNoOKeg docker-image-lint: H2NDEiu8RJWciIqy0yu0IA diff --git a/taskcluster/test/params/mb-ship-devedition.yml b/taskcluster/test/params/mb-ship-devedition.yml index 08447d8139..35f8518268 100644 --- a/taskcluster/test/params/mb-ship-devedition.yml +++ b/taskcluster/test/params/mb-ship-devedition.yml @@ -147,7 +147,6 @@ existing_tasks: docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A - docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ docker-image-index-task: RwDns0jjRregWw0RNoOKeg docker-image-lint: H2NDEiu8RJWciIqy0yu0IA diff --git a/taskcluster/test/params/mb-ship-firefox-partials.yml b/taskcluster/test/params/mb-ship-firefox-partials.yml index f1ad991f99..835fb532d9 100644 --- a/taskcluster/test/params/mb-ship-firefox-partials.yml +++ b/taskcluster/test/params/mb-ship-firefox-partials.yml @@ -147,7 +147,6 @@ existing_tasks: docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A - docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ docker-image-index-task: RwDns0jjRregWw0RNoOKeg docker-image-lint: H2NDEiu8RJWciIqy0yu0IA diff --git a/taskcluster/test/params/mb-ship-firefox.yml b/taskcluster/test/params/mb-ship-firefox.yml index 4a5eb2161a..42778db539 100644 --- a/taskcluster/test/params/mb-ship-firefox.yml +++ b/taskcluster/test/params/mb-ship-firefox.yml @@ -147,7 +147,6 @@ existing_tasks: docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A - docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ docker-image-index-task: RwDns0jjRregWw0RNoOKeg docker-image-lint: H2NDEiu8RJWciIqy0yu0IA diff --git a/taskcluster/test/params/mc-android-nightly.yml b/taskcluster/test/params/mc-android-nightly.yml index ea1b87a236..72cd724785 100644 --- a/taskcluster/test/params/mc-android-nightly.yml +++ b/taskcluster/test/params/mc-android-nightly.yml @@ -206,7 +206,6 @@ existing_tasks: docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A - docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ docker-image-index-task: RwDns0jjRregWw0RNoOKeg docker-image-lint: UGlRm6fZSJOQc1JcPC23lw diff --git a/taskcluster/test/params/mc-desktop-nightly.yml b/taskcluster/test/params/mc-desktop-nightly.yml index 37d7f5de74..cadc2a8910 100644 --- a/taskcluster/test/params/mc-desktop-nightly.yml +++ b/taskcluster/test/params/mc-desktop-nightly.yml @@ -206,7 +206,6 @@ existing_tasks: docker-image-firefox-snap: elwDDkImTPaIJXsdkPOgHA docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A docker-image-gdb-test: Cfu6AIh4REm_lP4w2WJ34A - docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ docker-image-index-task: RwDns0jjRregWw0RNoOKeg docker-image-lint: UGlRm6fZSJOQc1JcPC23lw diff --git a/taskcluster/test/params/mc-nightly-all.yml b/taskcluster/test/params/mc-nightly-all.yml index 7196e12920..8160c3413b 100644 --- a/taskcluster/test/params/mc-nightly-all.yml +++ b/taskcluster/test/params/mc-nightly-all.yml @@ -345,7 +345,6 @@ existing_tasks: docker-image-firefox-snap: TaMBeARtSCKe485qQborMA docker-image-funsize-update-generator: RwrXtrceR_aEmcsEUxGiCg docker-image-gdb-test: ahyis7rkQTqhCapWXDqneg - docker-image-github-sync: ds8yNkB5ScKKqLW2Cv0OWQ docker-image-image_builder: Z3gDOem4TSWtoayyvtW_ng docker-image-index-task: dbQOfI1hTp6sh4sGNnW9sQ docker-image-lint: GntDF25JRUaCu5nuedyceA @@ -4652,13 +4651,13 @@ existing_tasks: valgrind-linux64-valgrind-qr/opt-swr: SNO08UPaRoKwlQjHoyjb5A files_changed: - taskcluster/android_taskgraph/transforms/build_components.py - - taskcluster/ci/build-apk/kind.yml - - taskcluster/ci/build-bundle/kind.yml - - taskcluster/ci/build-components/kind.yml - - taskcluster/ci/build-samples-browser/kind.yml - - taskcluster/ci/test-apk/kind.yml - - taskcluster/ci/test-components/kind.yml - - taskcluster/ci/ui-test-apk/kind.yml + - taskcluster/kinds/build-apk/kind.yml + - taskcluster/kinds/build-bundle/kind.yml + - taskcluster/kinds/build-components/kind.yml + - taskcluster/kinds/build-samples-browser/kind.yml + - taskcluster/kinds/test-apk/kind.yml + - taskcluster/kinds/test-components/kind.yml + - taskcluster/kinds/ui-test-apk/kind.yml filters: - target_tasks_method head_ref: d9466bebb4c96b99a227f35b5a7e86bd0c8f5bb5 diff --git a/taskcluster/test/params/me-promote-firefox.yml b/taskcluster/test/params/me-promote-firefox.yml index fc713a788e..6a4a9ceaee 100644 --- a/taskcluster/test/params/me-promote-firefox.yml +++ b/taskcluster/test/params/me-promote-firefox.yml @@ -97,7 +97,6 @@ existing_tasks: docker-image-firefox-snap: YmvNSMSfQWW3YG6x_Fcdbg docker-image-funsize-update-generator: H14MbupWQoyjX2KXVFC7Cg docker-image-gdb-test: WdZGFUBiTzyn5er0FJQUvw - docker-image-github-sync: SmOuKw2vSA2P0B6MxH6xXw docker-image-image_builder: MWRymupRSheUkuqIQwF8TA docker-image-index-task: VIneOK4VRXGrcEmrEpleSA docker-image-lint: Eeq8v2PJSbSivC61RBNaKg diff --git a/taskcluster/test/params/me-push-firefox.yml b/taskcluster/test/params/me-push-firefox.yml index 861a767660..57af7d97c5 100644 --- a/taskcluster/test/params/me-push-firefox.yml +++ b/taskcluster/test/params/me-push-firefox.yml @@ -2219,7 +2219,6 @@ existing_tasks: docker-image-firefox-snap: YmvNSMSfQWW3YG6x_Fcdbg docker-image-funsize-update-generator: H14MbupWQoyjX2KXVFC7Cg docker-image-gdb-test: WdZGFUBiTzyn5er0FJQUvw - docker-image-github-sync: SmOuKw2vSA2P0B6MxH6xXw docker-image-image_builder: MWRymupRSheUkuqIQwF8TA docker-image-index-task: VIneOK4VRXGrcEmrEpleSA docker-image-lint: Eeq8v2PJSbSivC61RBNaKg diff --git a/taskcluster/test/params/me-ship-firefox.yml b/taskcluster/test/params/me-ship-firefox.yml index 062b3218f2..f8bed8a843 100644 --- a/taskcluster/test/params/me-ship-firefox.yml +++ b/taskcluster/test/params/me-ship-firefox.yml @@ -2219,7 +2219,6 @@ existing_tasks: docker-image-firefox-snap: YmvNSMSfQWW3YG6x_Fcdbg docker-image-funsize-update-generator: H14MbupWQoyjX2KXVFC7Cg docker-image-gdb-test: WdZGFUBiTzyn5er0FJQUvw - docker-image-github-sync: SmOuKw2vSA2P0B6MxH6xXw docker-image-image_builder: MWRymupRSheUkuqIQwF8TA docker-image-index-task: VIneOK4VRXGrcEmrEpleSA docker-image-lint: Eeq8v2PJSbSivC61RBNaKg diff --git a/taskcluster/test/params/mr-promote-firefox-rc.yml b/taskcluster/test/params/mr-promote-firefox-rc.yml index 0059b6b7aa..c373c7947c 100644 --- a/taskcluster/test/params/mr-promote-firefox-rc.yml +++ b/taskcluster/test/params/mr-promote-firefox-rc.yml @@ -113,7 +113,6 @@ existing_tasks: docker-image-firefox-snap: YmvNSMSfQWW3YG6x_Fcdbg docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A docker-image-gdb-test: SqgEZnNpSoqvNxaY-P2OCA - docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ docker-image-index-task: RwDns0jjRregWw0RNoOKeg docker-image-lint: PvzC5kHhQiGDcIo5GhW6TQ diff --git a/taskcluster/test/params/mr-promote-firefox.yml b/taskcluster/test/params/mr-promote-firefox.yml index 0e132051ee..356ca3536a 100644 --- a/taskcluster/test/params/mr-promote-firefox.yml +++ b/taskcluster/test/params/mr-promote-firefox.yml @@ -113,7 +113,6 @@ existing_tasks: docker-image-firefox-snap: YmvNSMSfQWW3YG6x_Fcdbg docker-image-funsize-update-generator: H14MbupWQoyjX2KXVFC7Cg docker-image-gdb-test: SqgEZnNpSoqvNxaY-P2OCA - docker-image-github-sync: P_Ymo66MSamplL2DUkKafA docker-image-image_builder: MWRymupRSheUkuqIQwF8TA docker-image-index-task: VIneOK4VRXGrcEmrEpleSA docker-image-lint: PvzC5kHhQiGDcIo5GhW6TQ diff --git a/taskcluster/test/params/mr-push-firefox.yml b/taskcluster/test/params/mr-push-firefox.yml index de12bc2d85..fd4f5e5016 100644 --- a/taskcluster/test/params/mr-push-firefox.yml +++ b/taskcluster/test/params/mr-push-firefox.yml @@ -2358,7 +2358,6 @@ existing_tasks: docker-image-firefox-snap: YmvNSMSfQWW3YG6x_Fcdbg docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A docker-image-gdb-test: SqgEZnNpSoqvNxaY-P2OCA - docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ docker-image-index-task: RwDns0jjRregWw0RNoOKeg docker-image-lint: PvzC5kHhQiGDcIo5GhW6TQ diff --git a/taskcluster/test/params/mr-ship-firefox-rc.yml b/taskcluster/test/params/mr-ship-firefox-rc.yml index d2701afb48..b7b7ca162e 100644 --- a/taskcluster/test/params/mr-ship-firefox-rc.yml +++ b/taskcluster/test/params/mr-ship-firefox-rc.yml @@ -2358,7 +2358,6 @@ existing_tasks: docker-image-firefox-snap: YmvNSMSfQWW3YG6x_Fcdbg docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A docker-image-gdb-test: SqgEZnNpSoqvNxaY-P2OCA - docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ docker-image-index-task: RwDns0jjRregWw0RNoOKeg docker-image-lint: PvzC5kHhQiGDcIo5GhW6TQ diff --git a/taskcluster/test/params/mr-ship-firefox.yml b/taskcluster/test/params/mr-ship-firefox.yml index 552baee4b8..ecd616f800 100644 --- a/taskcluster/test/params/mr-ship-firefox.yml +++ b/taskcluster/test/params/mr-ship-firefox.yml @@ -2358,7 +2358,6 @@ existing_tasks: docker-image-firefox-snap: YmvNSMSfQWW3YG6x_Fcdbg docker-image-funsize-update-generator: YpyGQfXQQbGvpCIFyfWZ7A docker-image-gdb-test: SqgEZnNpSoqvNxaY-P2OCA - docker-image-github-sync: GwZWXkYyQtGNRZnzVYuzCg docker-image-image_builder: OCRS9sC9SSeoQ96W91n8sQ docker-image-index-task: RwDns0jjRregWw0RNoOKeg docker-image-lint: PvzC5kHhQiGDcIo5GhW6TQ diff --git a/taskcluster/test/test_autoland.py b/taskcluster/test/test_autoland.py index 05d181620a..a6607fde01 100644 --- a/taskcluster/test/test_autoland.py +++ b/taskcluster/test/test_autoland.py @@ -16,6 +16,34 @@ PARAMS = { } +def test_tasks_have_optimization(full_task_graph, filter_tasks): + kinds = ( + "artifact_build", + "build-fat-aar", + "build", + "generate-profile", + "hazard", + "instrumented-build", + "spidermonkey", + "static-analysis-autotest", + "test", + "valgrind", + ) + errors = [] + for task in filter_tasks( + full_task_graph, lambda t: t.kind in kinds and "ccov" not in t.label + ): + if not task.optimization: + errors.append(task.label) + + if errors: + label_str = "\n ".join(errors) + s_are = " is" if len(errors) == 1 else "s are" + pytest.fail( + f"The following task{s_are} missing an optimization:\n {label_str}" + ) + + def test_generate_graph(optimized_task_graph): """Simply tests that generating the graph does not fail.""" assert len(optimized_task_graph.tasks) > 0 |