TaskCluster Task-Graph Generation¶
The taskcluster
directory contains support for defining the graph of tasks
that must be executed to build and test the Gecko tree. This is more complex
than you might suppose! This implementation supports:
A huge array of tasks
Different behavior for different repositories
“Try” pushes, with special means to select a subset of the graph for execution
Optimization – skipping tasks that have already been performed
Extremely flexible generation of a variety of tasks using an approach of incrementally transforming job descriptions into task definitions.
This section of the documentation describes the process in some detail, referring to the source where necessary. If you are reading this with a particular goal in mind and would rather avoid becoming a task-graph expert, check out the how-to section.
- Overview
- Taskcluster Mach commands
- Loading Tasks
- Transforms
- Optimization
- Docker Images
- Periodic Taskgraphs
- Try
- Actions
- Release Promotion
- Version Control in CI
- Taskcluster Configuration
- How Tos
- Task Graph
- Reference
- Task Kinds
- build
- build-fat-aar
- build-signing
- build-notarization-part-1
- build-notarization-poller
- artifact-build
- hazard
- l10n
- shippable-l10n
- shippable-l10n-signing
- shippable-l10n-notarization-part-1
- shippable-l10n-notarization-poller
- source-test
- code-review
- upload-symbols
- upload-generated-sources
- valgrind
- searchfox
- static-analysis-autotest
- toolchain
- spidermonkey
- test
- docker-image
- balrog
- beetmover
- beetmover-l10n
- beetmover-repackage
- release-beetmover-push-to-release
- beetmover-snap
- beetmover-source
- beetmover-geckoview
- condprof
- release-source-checksums-signing
- beetmover-checksums
- release-beetmover-source-checksums
- perftest
- release-balrog-submit-toplevel
- release-secondary-balrog-submit-toplevel
- release-balrog-scheduling
- release-secondary-balrog-scheduling
- release-binary-transparency
- release-snap-repackage
- release-flatpak-repackage
- release-flatpak-push
- release-secondary-flatpak-push
- release-notify-av-announce
- release-notify-push
- release-notify-ship
- release-secondary-notify-ship
- release-notify-promote
- release-notify-started
- release-bouncer-sub
- release-mark-as-shipped
- release-bouncer-aliases
- cron-bouncer-check
- bouncer-locations
- release-bouncer-check
- release-generate-checksums
- release-generate-checksums-signing
- release-generate-checksums-beetmover
- release-final-verify
- release-secondary-final-verify
- release-push-langpacks
- release-beetmover-signed-langpacks
- release-beetmover-signed-langpacks-checksums
- release-update-verify
- release-update-verify-next
- release-update-verify-config
- release-secondary-update-verify-config
- release-update-verify-config-next
- release-updates-builder
- release-version-bump
- release-source
- release-source-signing
- release-partner-repack
- release-partner-attribution
- release-partner-repack-chunking-dummy
- release-partner-repack-signing
- release-partner-repack-notarization-part-1
- release-partner-repack-notarization-poller
- release-partner-repack-repackage
- release-partner-repack-repackage-signing
- release-partner-repack-beetmover
- release-partner-attribution-beetmover
- release-partner-repack-bouncer-sub
- release-early-tagging
- release-eme-free-repack
- release-eme-free-repack-signing
- release-eme-free-repack-notarization-part-1
- release-eme-free-repack-notarization-poller
- release-eme-free-repack-repackage
- release-eme-free-repack-repackage-signing
- release-eme-free-repack-beetmover
- release-eme-free-repack-beetmover-checksums
- repackage
- repackage-l10n
- repackage-signing
- repackage-signing-l10n
- mar-signing
- mar-signing-l10n
- mar-signing-autograph-stage
- repackage-msi
- repackage-signing-msi
- repackage-msix
- repackage-shippable-l10n-msix
- repackage-signing-msix
- repackage-signing-shippable-l10n-msix
- repo-update
- partials
- partials-signing
- post-balrog-dummy
- post-beetmover-dummy
- post-beetmover-checksums-dummy
- post-langpack-dummy
- post-update-verify-dummy
- fetch
- packages
- diffoscope
- addon
- openh264-plugin
- openh264-signing
- webrender
- github-sync
- instrumented-build
- generate-profile
- geckodriver-signing
- visual-metrics
- visual-metrics-dep
- iris
- maybe-release
- l10n-bump
- merge-automation
- sentry
- system-symbols
- system-symbols-upload
- scriptworker-canary
- updatebot
- fuzzing
- startup-test
- l10n-cross-channel
- fxrecord
- Parameters
- Task Attributes
- kind
- run_on_projects
- run_on_hg_branches
- task_duplicates
- build_platform
- build_type
- test_platform
- unittest_suite
- unittest_category
- unittest_try_name
- unittest_variant
- talos_try_name
- raptor_try_name
- job_try_name
- test_chunk
- test_manifests
- e10s
- image_name
- nightly
- shippable
- all_locales
- all_locales_with_changesets
- l10n_chunk
- chunk_locales
- locale
- signed
- stub-installer
- repackage_type
- fetch-artifact
- fetch-alias
- toolchain-artifact
- toolchain-alias
- toolchain-env
- always_target
- shipping_product
- shipping_phase
- artifact_prefix
- artifact_map
- batch
- enable-full-crashsymbols
- skip-upload-crashsymbols
- cron
- cached_task
- eager_indexes
- required_signoffs
- update-channel
- mar-channel-id
- accepted-mar-channel-ids
- openh264_rev
- code-review
- resource-monitor
- retrigger
- disable-push-apk
- disable-build-signing
- enable-build-signing
- run-visual-metrics
- skip-verify-test-packaging
- geckodriver
- rebuild-on-release
- local-toolchain
- artifact-build
- supports-artifact-builds
- Caches
- Task Kinds