gecko_taskgraph.transforms package
Subpackages
- gecko_taskgraph.transforms.job package
- Submodules
- gecko_taskgraph.transforms.job.common module
- gecko_taskgraph.transforms.job.distro_package module
- gecko_taskgraph.transforms.job.hazard module
- gecko_taskgraph.transforms.job.mach module
- gecko_taskgraph.transforms.job.mozharness module
MozharnessRunSchemaMozharnessRunSchema.actionsMozharnessRunSchema.clone_withMozharnessRunSchema.comm_checkoutMozharnessRunSchema.configMozharnessRunSchema.config_pathsMozharnessRunSchema.custom_build_variant_cfgMozharnessRunSchema.extra_configMozharnessRunSchema.job_scriptMozharnessRunSchema.keep_artifactsMozharnessRunSchema.optionsMozharnessRunSchema.requires_signed_buildsMozharnessRunSchema.run_as_rootMozharnessRunSchema.scriptMozharnessRunSchema.secretsMozharnessRunSchema.sparse_profileMozharnessRunSchema.taskcluster_proxyMozharnessRunSchema.tooltool_downloadsMozharnessRunSchema.use_cachesMozharnessRunSchema.use_magic_mh_argsMozharnessRunSchema.use_simple_packageMozharnessRunSchema.usingMozharnessRunSchema.workdir
mozharness_on_docker_worker_setup()mozharness_on_generic_worker()
- gecko_taskgraph.transforms.job.mozharness_test module
- gecko_taskgraph.transforms.job.python_test module
- gecko_taskgraph.transforms.job.run_task module
RunTaskSchemaRunTaskSchema.checkoutRunTaskSchema.clone_withRunTaskSchema.comm_checkoutRunTaskSchema.commandRunTaskSchema.cwdRunTaskSchema.run_as_rootRunTaskSchema.shallow_cloneRunTaskSchema.sparse_profileRunTaskSchema.sparse_profile_prefixRunTaskSchema.tooltool_downloadsRunTaskSchema.use_cachesRunTaskSchema.usingRunTaskSchema.workdir
common_setup()docker_worker_run_task()generic_worker_run_task()script_url()
- gecko_taskgraph.transforms.job.spidermonkey module
- gecko_taskgraph.transforms.job.toolchain module
ToolchainRunSchemaToolchainRunSchema.argumentsToolchainRunSchema.clone_withToolchainRunSchema.resourcesToolchainRunSchema.scriptToolchainRunSchema.sparse_profileToolchainRunSchema.sparse_profile_prefixToolchainRunSchema.toolchain_aliasToolchainRunSchema.toolchain_artifactToolchainRunSchema.toolchain_envToolchainRunSchema.toolchain_extractToolchainRunSchema.tooltool_downloadsToolchainRunSchema.usingToolchainRunSchema.workdir
common_toolchain()docker_worker_toolchain()generic_worker_toolchain()get_digest_data()
- Module contents
FetchArtifactSchemaJobDescriptionSchemaJobDescriptionSchema.always_targetJobDescriptionSchema.attributesJobDescriptionSchema.dependenciesJobDescriptionSchema.descriptionJobDescriptionSchema.expiration_policyJobDescriptionSchema.expires_afterJobDescriptionSchema.extraJobDescriptionSchema.fetchesJobDescriptionSchema.if_dependenciesJobDescriptionSchema.indexJobDescriptionSchema.labelJobDescriptionSchema.nameJobDescriptionSchema.optimizationJobDescriptionSchema.priorityJobDescriptionSchema.requiresJobDescriptionSchema.routesJobDescriptionSchema.runJobDescriptionSchema.run_on_git_branchesJobDescriptionSchema.run_on_projectsJobDescriptionSchema.run_on_repo_typeJobDescriptionSchema.scopesJobDescriptionSchema.shipping_phaseJobDescriptionSchema.shipping_productJobDescriptionSchema.soft_dependenciesJobDescriptionSchema.tagsJobDescriptionSchema.task_fromJobDescriptionSchema.treeherderJobDescriptionSchema.use_pythonJobDescriptionSchema.use_sccacheJobDescriptionSchema.use_uvJobDescriptionSchema.whenJobDescriptionSchema.workerJobDescriptionSchema.worker_type
JobRunSchemaWhenSchemaadd_perfherder_fetch_content_artifact()always_optimized()configure_taskdesc_for_run()get_attribute()get_platform()make_task_description()run_job_using()set_implementation()set_label()use_fetches()use_system_python()use_uv()
Submodules
gecko_taskgraph.transforms.artifact module
Apply different expiration dates to different artifacts based on a manifest file (artifacts.yml)
- gecko_taskgraph.transforms.artifact.read_artifact_manifest(manifest_path)
Read the artifacts.yml manifest file and return it.
- gecko_taskgraph.transforms.artifact.set_artifact_expiration(config, jobs)
Set the expiration for certain artifacts based on a manifest file.
gecko_taskgraph.transforms.attribution module
- gecko_taskgraph.transforms.attribution.attribution_keyed_by(config, jobs)
- gecko_taskgraph.transforms.attribution.mac_attribution(config, jobs)
Adds padding to the mac attribution data. Implicitly assumes that the attribution data is the last thing in job.run.command
- gecko_taskgraph.transforms.attribution.remove_attributes(config, jobs)
Remove attributes from parent task that aren’t necessary.
- gecko_taskgraph.transforms.attribution.set_locale_label(config, jobs)
- gecko_taskgraph.transforms.attribution.set_treeherder(config, jobs)
- gecko_taskgraph.transforms.attribution.stub_installer(config, jobs)
Not all windows builds come with a stub installer (only win32, and not on esr), so conditionally add it here based on our dependency’s stub-installer attribute.
gecko_taskgraph.transforms.balrog_submit module
Transform the per-locale balrog task into an actual task description.
- class gecko_taskgraph.transforms.balrog_submit.BalrogDescriptionSchema(*, label: str, update_no_wnp: bool, treeherder: TreeherderSchema | None = None, attributes: dict[str, object] | None = None, dependencies: dict[str, object] | None = None, task_from: str | None = None, shipping_product: str | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None = None, run_on_repo_type: list[Literal['git', 'hg']] | None = None)
Bases:
Schema- label: str
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- treeherder: TreeherderSchema | None
- update_no_wnp: bool
- gecko_taskgraph.transforms.balrog_submit.make_task_description(config, jobs)
- gecko_taskgraph.transforms.balrog_submit.remove_name(config, jobs)
gecko_taskgraph.transforms.balrog_toplevel module
Transform the beetmover task into an actual task description.
- gecko_taskgraph.transforms.balrog_toplevel.generate_update_line(config, jobs)
Resolve fields that can be keyed by platform, etc.
gecko_taskgraph.transforms.beetmover module
Transform the beetmover task into an actual task description.
- class gecko_taskgraph.transforms.beetmover.BeetmoverDescriptionSchema(*, label: str, dependencies: dict[str, object] | None, treeherder: TreeherderSchema | None = None, locale: str | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None, shipping_product: str | None = None, attributes: dict[str, object] | None = None, task_from: str | None = None, run_on_repo_type: list[Literal['git', 'hg']] | None = None)
Bases:
Schema- label: str
- locale: str | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- treeherder: TreeherderSchema | None
- gecko_taskgraph.transforms.beetmover.craft_release_properties(config, job)
- gecko_taskgraph.transforms.beetmover.make_task_description(config, jobs)
- gecko_taskgraph.transforms.beetmover.make_task_worker(config, jobs)
- gecko_taskgraph.transforms.beetmover.remove_name(config, jobs)
gecko_taskgraph.transforms.beetmover_apt module
- gecko_taskgraph.transforms.beetmover_apt.beetmover_apt(config, tasks)
- gecko_taskgraph.transforms.beetmover_apt.filter_beetmover_apt_dep(task)
- gecko_taskgraph.transforms.beetmover_apt.filter_out_extra_langpacks(config, tasks)
Langpacks are architecture-independent so we only upload them from the x86_64 tasks
- gecko_taskgraph.transforms.beetmover_apt.is_not_l10n_task(task)
- gecko_taskgraph.transforms.beetmover_apt.is_x86_64_l10n_task(task)
gecko_taskgraph.transforms.beetmover_checksums module
Transform the checksums signing task into an actual task description.
- class gecko_taskgraph.transforms.beetmover_checksums.BeetmoverChecksumsDescriptionSchema(*, attributes: dict[str, object] | None, dependencies: dict[str, object] | None, label: str | None = None, treeherder: TreeherderSchema | None = None, locale: str | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None = None, shipping_product: str | None = None, task_from: str | None = None, run_on_repo_type: list[Literal['git', 'hg']] | None = None)
Bases:
Schema- label: str | None
- locale: str | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- treeherder: TreeherderSchema | None
- gecko_taskgraph.transforms.beetmover_checksums.make_beetmover_checksums_description(config, jobs)
- gecko_taskgraph.transforms.beetmover_checksums.make_beetmover_checksums_worker(config, jobs)
- gecko_taskgraph.transforms.beetmover_checksums.remove_name(config, jobs)
gecko_taskgraph.transforms.beetmover_emefree_checksums module
Transform release-beetmover-source-checksums into an actual task description.
- class gecko_taskgraph.transforms.beetmover_emefree_checksums.BeetmoverChecksumsDescriptionSchema(*, label: str | None = None, extra: object | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None = None, shipping_product: str | None = None, task_from: str | None = None, attributes: dict[str, object] | None = None, dependencies: dict[str, object] | None = None, run_on_repo_type: list[Literal['git', 'hg']] | None = None)
Bases:
Schema- extra: object | None
- label: str | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- gecko_taskgraph.transforms.beetmover_emefree_checksums.generate_upstream_artifacts(refs, partner_path)
- gecko_taskgraph.transforms.beetmover_emefree_checksums.make_beetmover_checksums_description(config, jobs)
- gecko_taskgraph.transforms.beetmover_emefree_checksums.make_beetmover_checksums_worker(config, jobs)
- gecko_taskgraph.transforms.beetmover_emefree_checksums.remove_name(config, jobs)
gecko_taskgraph.transforms.beetmover_geckoview module
Transform the beetmover task into an actual task description.
- class gecko_taskgraph.transforms.beetmover_geckoview.BeetmoverDescriptionSchema(*, label: str, dependencies: dict[str, object] | None, treeherder: TreeherderSchema | None = None, run_on_projects: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb258656cd0>] | None, run_on_hg_branches: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb258d5db90>] | None, bucket_scope: str, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None=None, shipping_product: str | None = None, attributes: dict[str, object] | None=None, task_from: str | None = None, run_on_repo_type: list[~typing.Literal['git', 'hg']] | None=None)
Bases:
Schema- bucket_scope: str
- label: str
- run_on_hg_branches: OptionallyKeyedBy object at 0x7fb258d5db90>] | None
- run_on_projects: OptionallyKeyedBy object at 0x7fb258656cd0>] | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- treeherder: TreeherderSchema | None
- gecko_taskgraph.transforms.beetmover_geckoview.craft_release_properties(config, job)
- gecko_taskgraph.transforms.beetmover_geckoview.make_task_description(config, jobs)
- gecko_taskgraph.transforms.beetmover_geckoview.make_task_worker(config, jobs)
- gecko_taskgraph.transforms.beetmover_geckoview.remove_name(config, jobs)
- gecko_taskgraph.transforms.beetmover_geckoview.split_maven_packages(config, jobs)
gecko_taskgraph.transforms.beetmover_integration module
Transform the beetmover task into an actual task description.
- class gecko_taskgraph.transforms.beetmover_integration.BeetmoverDescriptionSchema(*, label: str, description: str, dependencies: dict[str, object] | None, if_dependencies: list[str] | None, treeherder: ~gecko_taskgraph.transforms.task.TreeherderSchema | None = None, run_on_projects: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb258656cd0>] | None, attributes: dict[str, object] | None = None, task_from: str | None = None, worker_type: str | None, scopes: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25d850110>], run_on_repo_type: list[~typing.Literal['git', 'hg']] | None = None)
Bases:
Schema- description: str
- if_dependencies: list[str] | None
- label: str
- run_on_projects: OptionallyKeyedBy object at 0x7fb258656cd0>] | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- scopes: OptionallyKeyedBy object at 0x7fb25d850110>]
- task_from: str | None
- treeherder: TreeherderSchema | None
- worker_type: str | None
- gecko_taskgraph.transforms.beetmover_integration.make_task_description(config, tasks)
- gecko_taskgraph.transforms.beetmover_integration.make_task_worker(config, jobs)
- gecko_taskgraph.transforms.beetmover_integration.remove_name(config, tasks)
gecko_taskgraph.transforms.beetmover_langpack_checksums module
Transform release-beetmover-langpack-checksums into an actual task description.
- class gecko_taskgraph.transforms.beetmover_langpack_checksums.BeetmoverChecksumsDescriptionSchema(*, attributes: dict[str, object] | None, label: str | None = None, treeherder: TreeherderSchema | None = None, locale: str | None = None, dependencies: dict[str, object] | None = None, task_from: str | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None = None, shipping_product: str | None = None, run_on_repo_type: list[Literal['git', 'hg']] | None = None)
Bases:
Schema- label: str | None
- locale: str | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- treeherder: TreeherderSchema | None
- gecko_taskgraph.transforms.beetmover_langpack_checksums.make_beetmover_checksums_description(config, jobs)
- gecko_taskgraph.transforms.beetmover_langpack_checksums.make_beetmover_checksums_worker(config, jobs)
- gecko_taskgraph.transforms.beetmover_langpack_checksums.remove_name(config, jobs)
gecko_taskgraph.transforms.beetmover_push_to_release module
Transform the beetmover-push-to-release task into a task description.
- class gecko_taskgraph.transforms.beetmover_push_to_release.BeetmoverPushToReleaseDescriptionSchema(*, name: str, product: str, treeherder_platform: str, attributes: dict[str, object] | None=None, task_from: str | None = None, run: dict[str, object] | None=None, run_on_projects: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb258656cd0>] | None=None, run_on_repo_type: list[~typing.Literal['git', 'hg']] | None=None, dependencies: dict[str, str | ~taskgraph.util.schema.TaskRefTypeSchema] | None=None, index: dict[str, str] | None=None, routes: list[str] | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None, shipping_product: str | None, extra: dict[str, object] | None=None)
Bases:
Schema- name: str
- product: str
- routes: list[str] | None
- run_on_projects: OptionallyKeyedBy object at 0x7fb258656cd0>] | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- treeherder_platform: str
- gecko_taskgraph.transforms.beetmover_push_to_release.make_beetmover_push_to_release_description(config, jobs)
- gecko_taskgraph.transforms.beetmover_push_to_release.make_beetmover_push_to_release_worker(config, jobs)
gecko_taskgraph.transforms.beetmover_repackage module
Transform the beetmover task into an actual task description.
- class gecko_taskgraph.transforms.beetmover_repackage.BeetmoverDescriptionSchema(*, label: str, dependencies: dict[str, object] | None, treeherder: TreeherderSchema | None = None, attributes: dict[str, object] | None = None, locale: str | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None, task_from: str | None = None, run_on_repo_type: list[Literal['git', 'hg']] | None = None)
Bases:
Schema- label: str
- locale: str | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- task_from: str | None
- treeherder: TreeherderSchema | None
- gecko_taskgraph.transforms.beetmover_repackage.convert_deps(config, jobs)
- gecko_taskgraph.transforms.beetmover_repackage.generate_partials_upstream_artifacts(job, artifacts, platform, locale=None)
- gecko_taskgraph.transforms.beetmover_repackage.get_label_by_suffix(labels: list, suffix: str)
Given list of labels, returns the label with provided suffix Raises exception if more than one label is found.
- Parameters:
labels (list) – List of labels
suffix (str) – Suffix for the desired label
- Returns
str: The desired label
- gecko_taskgraph.transforms.beetmover_repackage.make_partials_artifacts(config, jobs)
- gecko_taskgraph.transforms.beetmover_repackage.make_task_description(config, jobs)
- gecko_taskgraph.transforms.beetmover_repackage.make_task_worker(config, jobs)
- gecko_taskgraph.transforms.beetmover_repackage.remove_name(config, jobs)
- gecko_taskgraph.transforms.beetmover_repackage.strip_unwanted_langpacks_from_worker(config, jobs)
Strips out langpacks where we didn’t sign them.
This explicitly deletes langpacks from upstream artifacts and from artifact-maps. Due to limitations in declarative artifacts, doing this was our easiest way right now.
gecko_taskgraph.transforms.beetmover_repackage_l10n module
Transform the signing task into an actual task description.
- gecko_taskgraph.transforms.beetmover_repackage_l10n.make_beetmover_description(config, jobs)
gecko_taskgraph.transforms.beetmover_repackage_partner module
Transform the beetmover task into an actual task description.
- class gecko_taskgraph.transforms.beetmover_repackage_partner.BeetmoverDescriptionSchema(*, label: str | None = None, partner_path: str, extra: object | None = None, attributes: dict[str, object] | None = None, dependencies: dict[str, object] | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None, shipping_product: str | None = None, priority: str | None = None, task_from: str | None = None, run_on_repo_type: list[Literal['git', 'hg']] | None = None)
Bases:
Schema- extra: object | None
- label: str | None
- partner_path: str
- priority: str | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- gecko_taskgraph.transforms.beetmover_repackage_partner.generate_upstream_artifacts(job, build_task_ref, repackage_task_ref, repackage_signing_task_ref, platform, repack_id, partner_path, repack_stub_installer=False)
- gecko_taskgraph.transforms.beetmover_repackage_partner.make_task_description(config, jobs)
- gecko_taskgraph.transforms.beetmover_repackage_partner.make_task_worker(config, jobs)
- gecko_taskgraph.transforms.beetmover_repackage_partner.populate_scopes_and_worker_type(config, jobs)
- gecko_taskgraph.transforms.beetmover_repackage_partner.remove_name(config, jobs)
gecko_taskgraph.transforms.beetmover_repackage_rpm module
Transform the beetmover-repackage-rpm task into an actual task description.
- class gecko_taskgraph.transforms.beetmover_repackage_rpm.BeetmoverDescriptionSchema(*, attributes: dict[str, object] | None, dependencies: dict[str, object] | None, label: str, name: str, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None, task_from: str | None)
Bases:
Schema- label: str
- name: str
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- task_from: str | None
- gecko_taskgraph.transforms.beetmover_repackage_rpm.make_beetmover_rpm_task(config, jobs)
gecko_taskgraph.transforms.beetmover_rpm module
- gecko_taskgraph.transforms.beetmover_rpm.beetmover_rpm(config, tasks)
gecko_taskgraph.transforms.beetmover_source module
Transform the beetmover-source task to also append build as dependency
- gecko_taskgraph.transforms.beetmover_source.remove_build_dependency_in_beetmover_source(config, jobs)
gecko_taskgraph.transforms.beetmover_source_checksums module
Transform release-beetmover-source-checksums into an actual task description.
- class gecko_taskgraph.transforms.beetmover_source_checksums.BeetmoverChecksumsDescriptionSchema(*, label: str | None = None, treeherder: TreeherderSchema | None = None, locale: str | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None = None, shipping_product: str | None = None, attributes: dict[str, object] | None = None, dependencies: dict[str, object] | None = None, task_from: str | None = None, run_on_repo_type: list[Literal['git', 'hg']] | None = None)
Bases:
Schema- label: str | None
- locale: str | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- treeherder: TreeherderSchema | None
- gecko_taskgraph.transforms.beetmover_source_checksums.make_beetmover_checksums_description(config, jobs)
- gecko_taskgraph.transforms.beetmover_source_checksums.make_beetmover_checksums_worker(config, jobs)
- gecko_taskgraph.transforms.beetmover_source_checksums.remove_name(config, jobs)
gecko_taskgraph.transforms.bootstrap module
- class gecko_taskgraph.transforms.bootstrap.BootstrapSchema(*, name: str, image: str | InTreeImageSchema, pre_commands: list[str], task_from: str | None = None, run_on_repo_type: list[Literal['git', 'hg']] | None = None)
Bases:
Schema- image: str | InTreeImageSchema
- name: str
- pre_commands: list[str]
- run_on_repo_type: list[Literal['git', 'hg']] | None
- task_from: str | None
- class gecko_taskgraph.transforms.bootstrap.InTreeImageSchema(in_tree: str)
Bases:
Schema- in_tree: str
- gecko_taskgraph.transforms.bootstrap.bootstrap_tasks(config, tasks)
gecko_taskgraph.transforms.bouncer_aliases module
Add from parameters.yml into bouncer submission tasks.
- gecko_taskgraph.transforms.bouncer_aliases.craft_bouncer_entries(config, job)
- gecko_taskgraph.transforms.bouncer_aliases.make_task_worker(config, jobs)
gecko_taskgraph.transforms.bouncer_check module
- gecko_taskgraph.transforms.bouncer_check.add_command(config, jobs)
- gecko_taskgraph.transforms.bouncer_check.add_previous_versions(config, jobs)
- gecko_taskgraph.transforms.bouncer_check.command_to_string(config, jobs)
Convert command to string to make it work properly with run-task
- gecko_taskgraph.transforms.bouncer_check.handle_keyed_by(config, jobs)
Build the bouncer-check command from resolved fields.
gecko_taskgraph.transforms.bouncer_locations module
- gecko_taskgraph.transforms.bouncer_locations.make_task_worker(config, jobs)
gecko_taskgraph.transforms.bouncer_submission module
Add from parameters.yml into bouncer submission tasks.
- class gecko_taskgraph.transforms.bouncer_submission.InvalidSubstitution(error: str)
Bases:
object
- gecko_taskgraph.transforms.bouncer_submission.craft_bouncer_entries(config, job)
- gecko_taskgraph.transforms.bouncer_submission.craft_bouncer_product_name(product, bouncer_product, current_version, current_build_number=None, previous_version=None)
- gecko_taskgraph.transforms.bouncer_submission.craft_paths_per_bouncer_platform(product, bouncer_product, bouncer_platforms, current_version, current_build_number, previous_version=None)
- gecko_taskgraph.transforms.bouncer_submission.craft_ssl_only(bouncer_product, project)
- gecko_taskgraph.transforms.bouncer_submission.make_task_worker(config, jobs)
- gecko_taskgraph.transforms.bouncer_submission.split_build_data(version)
gecko_taskgraph.transforms.bouncer_submission_partners module
Add from parameters.yml into bouncer submission tasks.
- gecko_taskgraph.transforms.bouncer_submission_partners.craft_bouncer_entries(config, job)
- gecko_taskgraph.transforms.bouncer_submission_partners.craft_partner_bouncer_product_name(product, bouncer_product, current_version, partner, sub_config)
- gecko_taskgraph.transforms.bouncer_submission_partners.craft_paths_per_bouncer_platform(product, bouncer_product, bouncer_platforms, current_version, partner, sub_config)
- gecko_taskgraph.transforms.bouncer_submission_partners.craft_ssl_only(bouncer_product)
- gecko_taskgraph.transforms.bouncer_submission_partners.make_task_worker(config, jobs)
gecko_taskgraph.transforms.build module
Apply some defaults and minor modifications to the jobs defined in the build kind.
- gecko_taskgraph.transforms.build.add_signing_artifacts(config, jobs)
Add signing artifacts to macOS build jobs.
- gecko_taskgraph.transforms.build.collapse_unified_builds(config, jobs)
Turn the macOS universal builds into plain artifact builds.
A universal build lipos an x64 and an aarch64 build together, and hardcodes fetches for artifacts that artifact builds don’t produce, such as the gtest tarball. There is nothing to unify in artifact build mode anyway: the universal build is already indexed, and downloading it is exactly what a local macOS artifact build does. So take over the configuration of the x64 build being unified, which use_artifact below then turns into an artifact build, and let the two per-architecture builds fall out of the graph.
- gecko_taskgraph.transforms.build.enable_full_crashsymbols(config, jobs)
Enable full crashsymbols on jobs with ‘enable-full-crashsymbols’ set to True and on release branches, or on try
- gecko_taskgraph.transforms.build.mozconfig(config, jobs)
- gecko_taskgraph.transforms.build.resolve_keys(config, jobs)
- gecko_taskgraph.transforms.build.resolve_shipping_product(config, jobs)
- gecko_taskgraph.transforms.build.set_ccov_attribute(config, jobs)
- gecko_taskgraph.transforms.build.set_defaults(config, jobs)
Set defaults, including those that differ per worker implementation
- gecko_taskgraph.transforms.build.set_expiry(config, jobs)
- gecko_taskgraph.transforms.build.stub_installer(config, jobs)
- gecko_taskgraph.transforms.build.update_channel(config, jobs)
- gecko_taskgraph.transforms.build.use_artifact(config, jobs)
- gecko_taskgraph.transforms.build.use_profile_data(config, jobs)
gecko_taskgraph.transforms.build_attrs module
- gecko_taskgraph.transforms.build_attrs.set_build_attributes(config, jobs)
Set the build_platform and build_type attributes based on the job name. Although not all jobs using this transform are actual “builds”, the try option syntax treats them as such, and this arranges the attributes appropriately for that purpose.
gecko_taskgraph.transforms.build_lints module
Apply some defaults and minor modifications to the jobs defined in the build kind.
- gecko_taskgraph.transforms.build_lints.check_mozharness_perfherder_options(config, jobs)
Verify that multiple jobs don’t use the same perfherder bucket.
Build jobs record perfherder metrics by default. Perfherder metrics go to a bucket derived by the platform by default. The name can further be customized by the presence of “extra options” either defined in mozharness sub-configs or in an environment variable.
This linter tries to verify that no 2 jobs will send Perfherder metrics to the same bucket by looking for jobs not defining extra options when their platform or mozharness config are otherwise similar.
gecko_taskgraph.transforms.build_schedules module
- gecko_taskgraph.transforms.build_schedules.set_build_schedules_optimization(config, tasks)
Set the build optimization based on the build platform.
gecko_taskgraph.transforms.build_signing module
Transform the signing task into an actual task description.
- gecko_taskgraph.transforms.build_signing.add_signed_routes(config, jobs)
Add routes corresponding to the routes of the build task this corresponds to, with .signed inserted, for all gecko.v2 routes
- gecko_taskgraph.transforms.build_signing.define_upstream_artifacts(config, jobs)
gecko_taskgraph.transforms.cached_tasks module
- gecko_taskgraph.transforms.cached_tasks.bump_priority(config, tasks)
Bump priority of cached tasks on autoland from low to medium to avoid breakage for developers
- gecko_taskgraph.transforms.cached_tasks.cache_task(config, tasks)
- gecko_taskgraph.transforms.cached_tasks.format_task_digest(cached_task)
- gecko_taskgraph.transforms.cached_tasks.order_tasks(config, tasks)
Iterate image tasks in an order where parent tasks come first.
gecko_taskgraph.transforms.chunk_partners module
Chunk the partner repack tasks by subpartner and locale
- gecko_taskgraph.transforms.chunk_partners.chunk_partners(config, jobs)
gecko_taskgraph.transforms.code_review module
Add soft dependencies and configuration to code-review tasks.
- gecko_taskgraph.transforms.code_review.add_dependencies(config, jobs)
- gecko_taskgraph.transforms.code_review.add_github_config(config, jobs)
- gecko_taskgraph.transforms.code_review.add_phabricator_config(config, jobs)
gecko_taskgraph.transforms.condprof module
This transform constructs tasks generate conditioned profiles from the condprof/kind.yml file
- class gecko_taskgraph.transforms.condprof.DiffDescriptionSchema(*, scenarios: list[str] | None = None, description: str = None, dependencies: dict[str, object] | None=None, fetches: dict[str, list[str | ~gecko_taskgraph.transforms.job.FetchArtifactSchema]] | None=None, index: IndexSchema | None = None, task_from: str | None = None, name: str | None = None, run: JobRunSchema = None, run_on_projects: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb258656cd0>] | None=None, run_on_repo_type: list[~typing.Literal['git', 'hg']] | None=None, scopes: list[str] | None = None, treeherder: TreeherderSchema | None = None, use_python: Literal['system', 'default'] | str | None=None, worker: dict | None = None, worker_type: str | None = None)
Bases:
Schema- description: str
- fetches: dict[str, list[str | FetchArtifactSchema]] | None
- index: IndexSchema | None
- name: str | None
- run: JobRunSchema
- run_on_projects: OptionallyKeyedBy object at 0x7fb258656cd0>] | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- scenarios: list[str] | None
- scopes: list[str] | None
- task_from: str | None
- treeherder: TreeherderSchema | None
- use_python: Literal['system', 'default'] | str | None
- worker_type: str | None
- gecko_taskgraph.transforms.condprof.generate_scenarios(config, tasks)
gecko_taskgraph.transforms.copy_cached_dep module
- gecko_taskgraph.transforms.copy_cached_dep.copy_cached_dep(config, tasks)
Ensure this task is replaced anytime the primary dep is.
gecko_taskgraph.transforms.custom_car module
- gecko_taskgraph.transforms.custom_car.add_custom_car_optimization(config, tasks)
gecko_taskgraph.transforms.diffoscope module
This transform construct tasks to perform diffs between builds, as defined in kind.yml
- class gecko_taskgraph.transforms.diffoscope.DiffDescriptionSchema(*, name: str, tier: int, symbol: str, task_from: str | None = None, original: str | IndexSearchSchema, new: str | IndexSearchSchema, args: str | None = None, extra_args: str | None = None, fail_on_diff: bool | None = None, artifact: str | None = None, unpack: bool | None = None, pre_diff_commands: list[str] | None = None, run_on_projects: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb258656cd0>] | None=None, run_on_repo_type: list[~typing.Literal['git', 'hg']] | None=None, optimization: OptimizationSchema | None = None)
Bases:
Schema- args: str | None
- artifact: str | None
- extra_args: str | None
- fail_on_diff: bool | None
- name: str
- new: str | IndexSearchSchema
- optimization: OptimizationSchema | None
- original: str | IndexSearchSchema
- pre_diff_commands: list[str] | None
- run_on_projects: OptionallyKeyedBy object at 0x7fb258656cd0>] | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- symbol: str
- task_from: str | None
- tier: int
- unpack: bool | None
- class gecko_taskgraph.transforms.diffoscope.IndexSearchSchema(index_search: str)
Bases:
Schema- index_search: str
- gecko_taskgraph.transforms.diffoscope.fill_template(config, tasks)
gecko_taskgraph.transforms.docker_image module
- class gecko_taskgraph.transforms.docker_image.DockerImageSchema(*, name: str, parent: str | None = None, symbol: str, task_from: str | None = None, args: dict[str, str] | None = None, definition: str | None = None, packages: list[str] | None = None, arch: str | None = None, index: IndexSchema | None = None, cache: bool | None = None, run_on_repo_type: list[Literal['git', 'hg']] | None = None)
Bases:
Schema- arch: str | None
- cache: bool | None
- definition: str | None
- index: IndexSchema | None
- name: str
- packages: list[str] | None
- parent: str | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- symbol: str
- task_from: str | None
- gecko_taskgraph.transforms.docker_image.fill_template(config, tasks)
gecko_taskgraph.transforms.dte_test module
Transform calls to the DTE test suite in GHA.
- gecko_taskgraph.transforms.dte_test.update_env(config, tasks)
gecko_taskgraph.transforms.duplicate module
Duplicate tasks from other kinds, overlaying changes onto each copy.
A task in a kind using these transforms is a template rather than a task of its
own. Its duplicate block selects tasks from other kinds, and every other key
the template defines is overlaid onto each copy, so one push can run the same
work twice and the two runs can be compared, even when the difference between
them is compiled into their artifacts.
# taskcluster/kinds/build-components-appservices/kind.yml
loader: taskgraph.loader.transform:loader
transforms:
- gecko_taskgraph.transforms.duplicate:transforms
kind-dependencies:
- build-components
tasks:
appservices-in-tree:
duplicate:
kinds: [build-components]
suffix: -appservices-in-tree
treeherder-symbol-suffix: -as
attributes:
run_on_projects: []
The selected tasks have already been through the job and task
transforms, so an override names a key of the resolved task rather than of the
definition it was built from: task.payload.env rather than worker.env.
An override descends into nested dicts and overwrites every other value.
with-attributes narrows the selection the way it does in the upstream
from-deps transforms, matching with
attrmatch(). include-labels and
exclude-labels narrow it by regular expressions matched against the source
label, for the selections an attribute cannot describe: attrmatch treats a
missing attribute as no match, so it can only name tasks that carry one, and a
release channel is not something every kind records in its attributes.
exclude-labels wins over both of the other two.
Each copy records the label it came from in its duplicate-of attribute.
When a chain of kinds is duplicated together, the downstream template names the
kinds holding the upstream copies in chain-from, and a dependency on a task
one of those kinds copied is rewritten to the copy. List both the upstream kind
and the kind duplicating it in kind-dependencies so the copies exist by the
time the downstream template runs.
- gecko_taskgraph.transforms.duplicate.DUPLICATE_SCHEMA
alias of
DuplicateSchema
- gecko_taskgraph.transforms.duplicate.duplicate_tasks(config, tasks)
Yield a copy of every task each template selects.
gecko_taskgraph.transforms.fetch module
- class gecko_taskgraph.transforms.fetch.CftChromedriverFetchSchema(*, type: Literal['cft-chromedriver-fetch'], script: str, platform: str, artifact_name: str, channel: str | None = None, backup: bool | None = None, version: str | None = None)
Bases:
Schema- artifact_name: str
- backup: bool | None
- channel: str | None
- platform: str
- script: str
- type: Literal['cft-chromedriver-fetch']
- version: str | None
- class gecko_taskgraph.transforms.fetch.ChromiumFetchSchema(*, type: Literal['chromium-fetch'], script: str, platform: str, revision: str | None = None, artifact_name: str)
Bases:
Schema- artifact_name: str
- platform: str
- revision: str | None
- script: str
- type: Literal['chromium-fetch']
- class gecko_taskgraph.transforms.fetch.Crx3UrlFetchSchema(*, type: Literal['crx3-url'], url: str, sha256: str, size: int, artifact_name: str, add_prefix: str | None = None)
Bases:
Schema- add_prefix: str | None
- artifact_name: str
- sha256: str
- size: int
- type: Literal['crx3-url']
- url: str
- class gecko_taskgraph.transforms.fetch.FetchBuilder(schema, builder)
Bases:
object
- class gecko_taskgraph.transforms.fetch.FetchSchema(*, name: str, task_from: str | None = None, description: str, fetch_alias: str | None = None, artifact_prefix: str | None = None, attributes: dict[str, object] | None = None, run_on_repo_type: list[Literal['git', 'hg']] | None = None, fetch: FetchTypeSchema)
Bases:
Schema- artifact_prefix: str | None
- description: str
- fetch: FetchTypeSchema
- fetch_alias: str | None
- name: str
- run_on_repo_type: list[Literal['git', 'hg']] | None
- task_from: str | None
- class gecko_taskgraph.transforms.fetch.GitFetchSchema(*, type: Literal['git'], repo: str, revision: str | None = None, branch: str | None = None, include_dot_git: bool | None = None, artifact_name: str | None = None, path_prefix: str | None = None, ssh_key: str | None = None)
Bases:
Schema- artifact_name: str | None
- branch: str | None
- include_dot_git: bool | None
- path_prefix: str | None
- repo: str
- revision: str | None
- ssh_key: str | None
- type: Literal['git']
- class gecko_taskgraph.transforms.fetch.GpgSignatureSchema(*, sig_url: str, key_path: str)
Bases:
Schema- key_path: str
- sig_url: str
- class gecko_taskgraph.transforms.fetch.OnnxruntimeDepsFetchSchema(*, type: Literal['onnxruntime-deps-fetch'], repo: str, revision: str, artifact_name: str)
Bases:
Schema- artifact_name: str
- repo: str
- revision: str
- type: Literal['onnxruntime-deps-fetch']
- class gecko_taskgraph.transforms.fetch.StaticUrlFetchSchema(*, type: Literal['static-url'], url: str, sha256: str, size: int, gpg_signature: GpgSignatureSchema | None = None, headers: list[str] | None = None, artifact_name: str | None = None, strip_components: int | None = None, add_prefix: str | None = None)
Bases:
Schema- add_prefix: str | None
- artifact_name: str | None
- gpg_signature: GpgSignatureSchema | None
- headers: list[str] | None
- sha256: str
- size: int
- strip_components: int | None
- type: Literal['static-url']
- url: str
- gecko_taskgraph.transforms.fetch.configure_fetch(config, typ, name, fetch)
- gecko_taskgraph.transforms.fetch.create_cft_canary_fetch_task(config, name, fetch)
- gecko_taskgraph.transforms.fetch.create_chromium_fetch_task(config, name, fetch)
- gecko_taskgraph.transforms.fetch.create_crx3_fetch_task(config, name, fetch)
- gecko_taskgraph.transforms.fetch.create_fetch_url_task(config, name, fetch)
- gecko_taskgraph.transforms.fetch.create_git_fetch_task(config, name, fetch)
- gecko_taskgraph.transforms.fetch.create_onnxruntime_deps_fetch_task(config, name, fetch)
- gecko_taskgraph.transforms.fetch.fetch_builder(name, schema)
- gecko_taskgraph.transforms.fetch.make_task(config, jobs)
- gecko_taskgraph.transforms.fetch.process_fetch_job(config, jobs)
gecko_taskgraph.transforms.filter_notarization module
Filter notarization tasks to only run at level 3.
- gecko_taskgraph.transforms.filter_notarization.only_level_3_notarization(config, jobs)
Filter out any notarization jobs that are not level 3
gecko_taskgraph.transforms.final_verify module
Transform the beetmover task into an actual task description.
- gecko_taskgraph.transforms.final_verify.add_command(config, tasks)
gecko_taskgraph.transforms.geckodriver_signing module
Transform the repackage signing task into an actual task description.
- class gecko_taskgraph.transforms.geckodriver_signing.RepackageSigningDescriptionSchema(*, label: str | None = None, attributes: dict[str, object] | None = None, dependencies: dict[str, object] | None = None, treeherder: TreeherderSchema | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None = None, task_from: str | None = None, run_on_repo_type: list[Literal['git', 'hg']] | None = None)
Bases:
Schema- label: str | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- task_from: str | None
- treeherder: TreeherderSchema | None
- gecko_taskgraph.transforms.geckodriver_signing.make_signing_description(config, jobs)
- gecko_taskgraph.transforms.geckodriver_signing.remove_name(config, jobs)
gecko_taskgraph.transforms.hardened_signing module
Transform the signing task into an actual task description.
- gecko_taskgraph.transforms.hardened_signing.add_hardened_sign_config(config, jobs)
- gecko_taskgraph.transforms.hardened_signing.add_provisioning_profile_config(config, jobs)
- gecko_taskgraph.transforms.hardened_signing.add_upstream_signing_resources(config, jobs)
Add the upstream signing resources to the job payload
gecko_taskgraph.transforms.l10n module
Do transforms specific to l10n kind
- class gecko_taskgraph.transforms.l10n.InTreeDockerImageSchema(in_tree: str)
Bases:
Schema- in_tree: str
- class gecko_taskgraph.transforms.l10n.L10nDescriptionSchema(*, name: str, build_platform: str, run_time: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25d1c5e10>], ignore_locales: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25d1c5dd0>], mozharness: ~gecko_taskgraph.transforms.l10n.MozharnessSchema, index: ~gecko_taskgraph.transforms.l10n.L10nIndexSchema | None = None, description: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25d1c6010>], run_on_projects: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb258656cd0>] | None = None, run_on_repo_type: list[~typing.Literal['git', 'hg']] | None = None, worker_type: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25d1c6090>], locales_file: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25d1c6110>], tooltool: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25d1c65d0>], docker_image: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25d1c6550>] | None = None, fetches: dict[str, object] | None = None, secrets: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25d2a8bd0>] | None = None, treeherder: ~gecko_taskgraph.transforms.l10n.L10nTreeherderSchema, env: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25d1c6b90>] | None = None, locales_per_chunk: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25d1c6d10>] | None = None, dependencies: dict[str, str] | None = None, when: ~gecko_taskgraph.transforms.l10n.WhenSchema | None = None, attributes: dict[str, object] | None = None, extra: dict[str, object] | None = None, shipping_product: str | None = None, shipping_phase: ~typing.Literal['build', 'promote', 'push', 'ship'] | None = None, task_from: str | None = None)
Bases:
Schema- build_platform: str
- description: OptionallyKeyedBy object at 0x7fb25d1c6010>]
- docker_image: OptionallyKeyedBy object at 0x7fb25d1c6550>] | None
- env: OptionallyKeyedBy object at 0x7fb25d1c6b90>] | None
- ignore_locales: OptionallyKeyedBy object at 0x7fb25d1c5dd0>]
- index: L10nIndexSchema | None
- locales_file: OptionallyKeyedBy object at 0x7fb25d1c6110>]
- locales_per_chunk: OptionallyKeyedBy object at 0x7fb25d1c6d10>] | None
- mozharness: MozharnessSchema
- name: str
- run_on_projects: OptionallyKeyedBy object at 0x7fb258656cd0>] | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- run_time: OptionallyKeyedBy object at 0x7fb25d1c5e10>]
- secrets: OptionallyKeyedBy object at 0x7fb25d2a8bd0>] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- tooltool: OptionallyKeyedBy object at 0x7fb25d1c65d0>]
- treeherder: L10nTreeherderSchema
- when: WhenSchema | None
- worker_type: OptionallyKeyedBy object at 0x7fb25d1c6090>]
- class gecko_taskgraph.transforms.l10n.L10nIndexSchema(*, product: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25d2a8110>], job_name: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25d1c5710>], type: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25d1c57d0>] | None = None)
Bases:
Schema- job_name: OptionallyKeyedBy object at 0x7fb25d1c5710>]
- product: OptionallyKeyedBy object at 0x7fb25d2a8110>]
- type: OptionallyKeyedBy object at 0x7fb25d1c57d0>] | None
- class gecko_taskgraph.transforms.l10n.L10nTreeherderSchema(*, platform: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25864cf90>], symbol: str, tier: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25d1c51d0>])
Bases:
Schema- platform: OptionallyKeyedBy object at 0x7fb25864cf90>]
- symbol: str
- tier: OptionallyKeyedBy object at 0x7fb25d1c51d0>]
- class gecko_taskgraph.transforms.l10n.MozharnessSchema(*, script: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25d2b8450>], config: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25d486a10>], config_paths: list[str] | None = None, options: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25d34c4d0>] | None = None, actions: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25d1c4cd0>], comm_checkout: bool | None = None)
Bases:
Schema- actions: OptionallyKeyedBy object at 0x7fb25d1c4cd0>]
- comm_checkout: bool | None
- config: OptionallyKeyedBy object at 0x7fb25d486a10>]
- config_paths: list[str] | None
- options: OptionallyKeyedBy object at 0x7fb25d34c4d0>] | None
- script: OptionallyKeyedBy object at 0x7fb25d2b8450>]
- class gecko_taskgraph.transforms.l10n.WhenSchema(*, files_changed: list[str] | None = None)
Bases:
Schema- files_changed: list[str] | None
- gecko_taskgraph.transforms.l10n.add_macos_signing_artifacts(config, jobs)
- gecko_taskgraph.transforms.l10n.all_locales_attribute(config, jobs)
- gecko_taskgraph.transforms.l10n.chunk_locales(config, jobs)
Utilizes chunking for l10n stuff
- gecko_taskgraph.transforms.l10n.copy_in_useful_magic(config, jobs)
- gecko_taskgraph.transforms.l10n.handle_artifact_prefix(config, jobs)
Resolve
artifact_prefixin env vars
- gecko_taskgraph.transforms.l10n.handle_keyed_by(config, jobs)
Resolve fields that can be keyed by platform, etc.
- gecko_taskgraph.transforms.l10n.make_job_description(config, jobs)
- gecko_taskgraph.transforms.l10n.parse_locales_file(locales_file, platform=None)
Parse the passed locales file for a list of locales.
- gecko_taskgraph.transforms.l10n.remove_repackage_dependency(config, jobs)
- gecko_taskgraph.transforms.l10n.set_extra_config(config, jobs)
- gecko_taskgraph.transforms.l10n.setup_name(config, jobs)
- gecko_taskgraph.transforms.l10n.stub_installer(config, jobs)
gecko_taskgraph.transforms.l10n_signing module
Transform the signing task into an actual task description.
- gecko_taskgraph.transforms.l10n_signing.define_upstream_artifacts(config, jobs)
- gecko_taskgraph.transforms.l10n_signing.make_signing_description(config, jobs)
gecko_taskgraph.transforms.linux_install_test module
- class gecko_taskgraph.transforms.linux_install_test.TaskSchema(*, install_method: str | None = None, pre_install: str | None = None, distro_symbol: str | None = None, channels: list[str] | None = None, locales: list[str] | None = None, platform: str | None = None)
Bases:
Schema- channels: list[str] | None
- distro_symbol: str | None
- install_method: str | None
- locales: list[str] | None
- platform: str | None
- pre_install: str | None
- gecko_taskgraph.transforms.linux_install_test.build_run_command(config, tasks)
- gecko_taskgraph.transforms.linux_install_test.expand_distros(config, tasks)
- gecko_taskgraph.transforms.linux_install_test.inject_matrix(config, tasks)
- gecko_taskgraph.transforms.linux_install_test.set_treeherder_platform(config, tasks)
- gecko_taskgraph.transforms.linux_install_test.stash_distro_attributes(config, tasks)
gecko_taskgraph.transforms.linux_install_test_symbol module
- gecko_taskgraph.transforms.linux_install_test_symbol.set_treeherder_symbol(config, tasks)
gecko_taskgraph.transforms.mac_dummy module
Add dependencies to dummy macosx64 tasks.
- gecko_taskgraph.transforms.mac_dummy.add_dependencies(config, jobs)
gecko_taskgraph.transforms.mac_notarization module
Transform mac notarization tasks into actual task descriptions.
- class gecko_taskgraph.transforms.mac_notarization.MacNotarizationDescriptionSchema(*, label: str | None = None, treeherder: TreeherderSchema | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None = None, worker: TaskWorkerSchema | None = None, worker_type: str | None = None, task_from: str | None = None, attributes: dict[str, object] | None = None, dependencies: dict[str, object] | None = None, run_on_repo_type: list[Literal['git', 'hg']] | None = None)
Bases:
Schema- label: str | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- task_from: str | None
- treeherder: TreeherderSchema | None
- worker: TaskWorkerSchema | None
- worker_type: str | None
- gecko_taskgraph.transforms.mac_notarization.make_notarization_description(config, jobs)
- gecko_taskgraph.transforms.mac_notarization.remove_name(config, jobs)
gecko_taskgraph.transforms.mar_signing module
Transform the {partials,mar}-signing task into an actual task description.
- gecko_taskgraph.transforms.mar_signing.generate_complete_artifacts(job, kind)
- gecko_taskgraph.transforms.mar_signing.generate_partials_artifacts(job, release_history, platform, upstream_kind, locale=None)
- gecko_taskgraph.transforms.mar_signing.make_task_description(config, jobs)
gecko_taskgraph.transforms.mark_as_merged module
- gecko_taskgraph.transforms.mark_as_merged.make_task_description(config, jobs)
gecko_taskgraph.transforms.merge_automation module
Transform the update generation task into an actual task description.
- gecko_taskgraph.transforms.merge_automation.add_payload_config(config, tasks)
- gecko_taskgraph.transforms.merge_automation.handle_keyed_by(config, tasks)
Resolve fields that can be keyed by platform, etc.
- gecko_taskgraph.transforms.merge_automation.update_labels(config, tasks)
gecko_taskgraph.transforms.name_sanity module
Generate labels for tasks without names, consistently. Uses attributes from primary dependency.
- gecko_taskgraph.transforms.name_sanity.make_label(config, jobs)
Generate a sane label for a new task constructed from a dependency Using attributes from the dependent job and the current task kind
gecko_taskgraph.transforms.openh264 module
- gecko_taskgraph.transforms.openh264.add_cache(config, jobs)
Allow the plugin to be reused when nothing that built it has changed.
The OpenH264 source and gmp-api revisions, and the toolchains, all reach the digest via the dependency digests that cached_tasks accumulates, so only what is not expressed as a dependency needs to be named here.
- gecko_taskgraph.transforms.openh264.set_openh264_version(config, jobs)
gecko_taskgraph.transforms.openh264_signing module
Transform the openh264 signing task into an actual task description.
- class gecko_taskgraph.transforms.openh264_signing.SigningDescriptionSchema(*, label: str | None = None, extra: object | None = None, shipping_product: str | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None = None, attributes: dict[str, object] | None = None, dependencies: dict[str, object] | None = None, task_from: str | None = None, run_on_repo_type: list[Literal['git', 'hg']] | None = None)
Bases:
Schema- extra: object | None
- label: str | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- gecko_taskgraph.transforms.openh264_signing.make_signing_description(config, jobs)
- gecko_taskgraph.transforms.openh264_signing.remove_name(config, jobs)
gecko_taskgraph.transforms.openh264_symbol_upload module
Transform the openh264-symbol-upload task into an actual task description.
- gecko_taskgraph.transforms.openh264_symbol_upload.make_symbol_upload_description(config, jobs)
gecko_taskgraph.transforms.partials module
Transform the partials task into an actual task description.
- gecko_taskgraph.transforms.partials.identify_desired_signing_keys(project, product)
- gecko_taskgraph.transforms.partials.make_task_description(config, jobs)
gecko_taskgraph.transforms.partials_zucchini module
Transform the partials task into an actual task description.
- gecko_taskgraph.transforms.partials_zucchini.find_enus_partials_zucchini_task(config, build_platform, build_type)
Find the matching enUS partials-zucchini task for an l10n task by iterating kind_dependencies_tasks and filtering on attributes.
- gecko_taskgraph.transforms.partials_zucchini.identify_desired_signing_keys(config)
Determine the signing certificate type to use for MAR validation. It identifies the appropriate signing type based on the release product and configuration parameters, handling special logic for devedition releases.
- Parameters:
config – The task graph configuration object containing:
- Returns:
The signing type (defined in util/scriptworker.py)
- Return type:
str
- gecko_taskgraph.transforms.partials_zucchini.make_task_description(config, tasks)
gecko_taskgraph.transforms.partner_attribution module
Transform the partner attribution task into an actual task description.
- gecko_taskgraph.transforms.partner_attribution.add_command_arguments(config, tasks)
gecko_taskgraph.transforms.partner_attribution_beetmover module
Transform the beetmover task into an actual task description.
- class gecko_taskgraph.transforms.partner_attribution_beetmover.BeetmoverDescriptionSchema(*, task_from: str | None = None, name: str | None = None, attributes: dict[str, object] | None = None, dependencies: dict[str, object] | None = None, depname: str = 'build', label: str | None = None, partner_path: str, extra: object | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None, shipping_product: str | None = None, priority: str | None = None, run_on_repo_type: list[Literal['git', 'hg']] | None = None)
Bases:
Schema- depname: str
- extra: object | None
- label: str | None
- name: str | None
- partner_path: str
- priority: str | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- gecko_taskgraph.transforms.partner_attribution_beetmover.generate_upstream_artifacts(attribution_task_kind, artifacts, partner_path)
- gecko_taskgraph.transforms.partner_attribution_beetmover.make_task_description(config, jobs)
- gecko_taskgraph.transforms.partner_attribution_beetmover.make_task_worker(config, jobs)
- gecko_taskgraph.transforms.partner_attribution_beetmover.populate_scopes_and_upstream_artifacts(config, jobs)
gecko_taskgraph.transforms.partner_repack module
Transform the partner repack task into an actual task description.
- gecko_taskgraph.transforms.partner_repack.add_command_arguments(config, tasks)
- gecko_taskgraph.transforms.partner_repack.add_macos_signing_artifacts(config, tasks)
- gecko_taskgraph.transforms.partner_repack.make_label(config, tasks)
- gecko_taskgraph.transforms.partner_repack.populate_repack_manifests_url(config, tasks)
- gecko_taskgraph.transforms.partner_repack.remove_mac_dependency(config, tasks)
Remove mac dependency depending on current level to accomodate for mac notarization not running on level 1
- gecko_taskgraph.transforms.partner_repack.skip_unnecessary_platforms(config, tasks)
gecko_taskgraph.transforms.partner_signing module
Transform the signing task into an actual task description.
- gecko_taskgraph.transforms.partner_signing.define_upstream_artifacts(config, jobs)
- gecko_taskgraph.transforms.partner_signing.set_mac_label(config, jobs)
gecko_taskgraph.transforms.per_platform_dummy module
Transform the repackage task into an actual task description.
- gecko_taskgraph.transforms.per_platform_dummy.one_task_per_product_and_platform(config, jobs)
gecko_taskgraph.transforms.perftest module
This transform passes options from mach perftest to the corresponding task.
- class gecko_taskgraph.transforms.perftest.PerftestDescriptionSchema(*, perftest: list[list[str]] | None = None, perftest_metrics: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25dbc0610>] | None=None, perftest_perfherder_global: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25dd5ca10>] | None=None, perftest_extra_options: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25dbc2090>] | None=None, perftest_btime_variants: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25dbc2710>] | None=None)
Bases:
Schema- perftest: list[list[str]] | None
- perftest_btime_variants: OptionallyKeyedBy object at 0x7fb25dbc2710>] | None
- perftest_extra_options: OptionallyKeyedBy object at 0x7fb25dbc2090>] | None
- perftest_metrics: OptionallyKeyedBy object at 0x7fb25dbc0610>] | None
- perftest_perfherder_global: OptionallyKeyedBy object at 0x7fb25dd5ca10>] | None
- gecko_taskgraph.transforms.perftest.apply_perftest_tier_optimization(config, jobs)
- gecko_taskgraph.transforms.perftest.handle_keyed_by_perftest(config, jobs)
- gecko_taskgraph.transforms.perftest.hide_cmd_exe_window_on_windows(config, jobs)
- gecko_taskgraph.transforms.perftest.parse_perftest_metrics(config, jobs)
Parse the metrics into a dictionary immediately.
This way we can modify the extraOptions field (and others) entry through the transforms that come later. The metrics aren’t formatted until the end of the transforms.
- gecko_taskgraph.transforms.perftest.pass_perftest_options(config, jobs)
- gecko_taskgraph.transforms.perftest.set_perftest_attributes(config, jobs)
- gecko_taskgraph.transforms.perftest.setup_autoland_retriggers(config, jobs)
- gecko_taskgraph.transforms.perftest.setup_gecko_profile_from_try_config(config, jobs)
Apply gecko-profile settings when –gecko-profile is used with ./mach try fuzzy, or when a cron selects tasks through a profiling target tasks method.
This mimics the logic from the gecko_profile action but applies it during task generation instead of as a post-hoc action.
- gecko_taskgraph.transforms.perftest.setup_http3_tests(config, jobs)
- gecko_taskgraph.transforms.perftest.setup_perftest_browsertime_variants(config, jobs)
- gecko_taskgraph.transforms.perftest.setup_perftest_extra_options(config, jobs)
- gecko_taskgraph.transforms.perftest.setup_perftest_metrics(config, jobs)
- gecko_taskgraph.transforms.perftest.setup_perftest_test_date(config, jobs)
- gecko_taskgraph.transforms.perftest.setup_regression_detector(config, jobs)
- gecko_taskgraph.transforms.perftest.split_btime_variants(config, jobs)
- gecko_taskgraph.transforms.perftest.split_perftest_variants(config, jobs)
- gecko_taskgraph.transforms.perftest.split_tests(config, jobs)
gecko_taskgraph.transforms.python_update module
Transform the repo-update task into an actual task description.
- gecko_taskgraph.transforms.python_update.resolve_keys(config, tasks)
gecko_taskgraph.transforms.release module
Transforms for release tasks
- gecko_taskgraph.transforms.release.run_on_releases(config, jobs)
Filter out jobs with run-on-releases set, and that don’t match the release_type paramater.
gecko_taskgraph.transforms.release_beetmover_signed_addons module
Transform the beetmover task into an actual task description.
- class gecko_taskgraph.transforms.release_beetmover_signed_addons.BeetmoverDescriptionSchema(*, attributes: dict[str, object] | None, label: str | None = None, treeherder: TreeherderSchema | None = None, description: str, worker_type: str, run_on_projects: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb258656cd0>] | None, locale: str | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None=None, task_from: str | None = None, dependencies: dict[str, object] | None=None, run_on_repo_type: list[~typing.Literal['git', 'hg']] | None=None)
Bases:
Schema- description: str
- label: str | None
- locale: str | None
- run_on_projects: OptionallyKeyedBy object at 0x7fb258656cd0>] | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- task_from: str | None
- treeherder: TreeherderSchema | None
- worker_type: str
- gecko_taskgraph.transforms.release_beetmover_signed_addons.make_task_description(config, jobs)
- gecko_taskgraph.transforms.release_beetmover_signed_addons.make_task_worker(config, jobs)
- gecko_taskgraph.transforms.release_beetmover_signed_addons.remove_name(config, jobs)
- gecko_taskgraph.transforms.release_beetmover_signed_addons.yield_all_platform_jobs(config, jobs)
gecko_taskgraph.transforms.release_deps module
Add dependencies to release tasks.
- gecko_taskgraph.transforms.release_deps.add_dependencies(config, jobs)
gecko_taskgraph.transforms.release_flatpak_push module
Transform the release-flatpak-push kind into an actual task description.
- class gecko_taskgraph.transforms.release_flatpak_push.PushFlatpakDescriptionSchema(*, name: str, task_from: str | None, dependencies: dict[str, object] | None, description: str, treeherder: TreeherderSchema | None, run_on_projects: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb258656cd0>] | None, worker_type: str, worker: object, scopes: list[str] | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None, shipping_product: str | None, flathub_scope: str, extra: dict[str, object] | None=None, attributes: dict[str, object] | None=None, run_on_repo_type: list[~typing.Literal['git', 'hg']] | None=None)
Bases:
Schema- description: str
- flathub_scope: str
- name: str
- run_on_projects: OptionallyKeyedBy object at 0x7fb258656cd0>] | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- scopes: list[str] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- treeherder: TreeherderSchema | None
- worker: object
- worker_type: str
- gecko_taskgraph.transforms.release_flatpak_push.generate_upstream_artifacts(dependencies)
- gecko_taskgraph.transforms.release_flatpak_push.make_task_description(config, jobs)
gecko_taskgraph.transforms.release_generate_checksums module
Transform the checksums task into an actual task description.
- gecko_taskgraph.transforms.release_generate_checksums.interpolate(config, jobs)
gecko_taskgraph.transforms.release_generate_checksums_beetmover module
Transform the release-generate-checksums-beetmover task to also append build as dependency
- class gecko_taskgraph.transforms.release_generate_checksums_beetmover.ReleaseGenerateChecksumsBeetmoverSchema(*, label: str | None = None, treeherder: TreeherderSchema | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None = None, shipping_product: str | None = None, attributes: dict[str, object] | None = None, task_from: str | None = None, dependencies: dict[str, object] | None = None, run_on_repo_type: list[Literal['git', 'hg']] | None = None)
Bases:
Schema- label: str | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- treeherder: TreeherderSchema | None
- gecko_taskgraph.transforms.release_generate_checksums_beetmover.make_task_description(config, jobs)
- gecko_taskgraph.transforms.release_generate_checksums_beetmover.make_task_worker(config, jobs)
- gecko_taskgraph.transforms.release_generate_checksums_beetmover.remove_name(config, jobs)
gecko_taskgraph.transforms.release_generate_checksums_signing module
Transform the release-generate-checksums-signing task into task description.
- class gecko_taskgraph.transforms.release_generate_checksums_signing.ReleaseGenerateChecksumsSigningSchema(*, label: str | None = None, dependencies: dict[str, object] | None = None, attributes: dict[str, object] | None = None, treeherder: TreeherderSchema | None = None, shipping_product: str | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None = None, task_from: str | None = None, run_on_repo_type: list[Literal['git', 'hg']] | None = None)
Bases:
Schema- label: str | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- treeherder: TreeherderSchema | None
- gecko_taskgraph.transforms.release_generate_checksums_signing.make_release_generate_checksums_signing_description(config, jobs)
- gecko_taskgraph.transforms.release_generate_checksums_signing.remote_name(config, jobs)
gecko_taskgraph.transforms.release_mark_as_shipped module
- gecko_taskgraph.transforms.release_mark_as_shipped.make_task_description(config, jobs)
gecko_taskgraph.transforms.release_msix_push module
Transform the release-msix-push kind into an actual task description.
- class gecko_taskgraph.transforms.release_msix_push.PushMsixDescriptionSchema(*, name: str, task_from: str | None, dependencies: dict[str, object] | None, description: str, treeherder: TreeherderSchema | None, run_on_projects: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb258656cd0>] | None, worker_type: str, worker: object, scopes: list[str] | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None, shipping_product: str | None, extra: dict[str, object] | None=None, attributes: dict[str, object] | None=None, run_on_repo_type: list[~typing.Literal['git', 'hg']] | None=None)
Bases:
Schema- description: str
- name: str
- run_on_projects: OptionallyKeyedBy object at 0x7fb258656cd0>] | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- scopes: list[str] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- treeherder: TreeherderSchema | None
- worker: object
- worker_type: str
- gecko_taskgraph.transforms.release_msix_push.generate_upstream_artifacts(dependencies)
- gecko_taskgraph.transforms.release_msix_push.make_task_description(config, jobs)
gecko_taskgraph.transforms.release_notifications module
Add notifications via taskcluster-notify for release tasks
- class gecko_taskgraph.transforms.release_notifications.TitleCaseFormatter
Bases:
FormatterSupport title formatter for strings
- convert_field(value, conversion)
- gecko_taskgraph.transforms.release_notifications.add_notifications(config, jobs)
gecko_taskgraph.transforms.release_sign_and_push_langpacks module
Transform the release-sign-and-push task into an actual task description.
- class gecko_taskgraph.transforms.release_sign_and_push_langpacks.LangpackSignPushDescriptionSchema(*, label: str, description: str, worker_type: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25c50b4d0>], worker: ~gecko_taskgraph.transforms.release_sign_and_push_langpacks.WorkerSchema, run_on_projects: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb258656cd0>] | None, scopes: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25c4f7c90>], shipping_phase: ~typing.Literal['build', 'promote', 'push', 'ship'] | None, task_from: str | None = None, attributes: dict[str, object] | None = None, dependencies: dict[str, object] | None = None, run_on_repo_type: list[~typing.Literal['git', 'hg']] | None = None)
Bases:
Schema- description: str
- label: str
- run_on_projects: OptionallyKeyedBy object at 0x7fb258656cd0>] | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- scopes: OptionallyKeyedBy object at 0x7fb25c4f7c90>]
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- task_from: str | None
- worker: WorkerSchema
- worker_type: OptionallyKeyedBy object at 0x7fb25c50b4d0>]
- class gecko_taskgraph.transforms.release_sign_and_push_langpacks.WorkerSchema(*, channel: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25c50b210>], upstream_artifacts: object | None = None)
Bases:
Schema- channel: OptionallyKeyedBy object at 0x7fb25c50b210>]
- upstream_artifacts: object | None
- gecko_taskgraph.transforms.release_sign_and_push_langpacks.copy_attributes(config, jobs)
- gecko_taskgraph.transforms.release_sign_and_push_langpacks.filter_out_macos_jobs_but_mac_only_locales(config, jobs)
- gecko_taskgraph.transforms.release_sign_and_push_langpacks.generate_upstream_artifacts(upstream_task_ref, locales)
- gecko_taskgraph.transforms.release_sign_and_push_langpacks.get_upstream_task_ref(job, expected_kinds)
- gecko_taskgraph.transforms.release_sign_and_push_langpacks.make_task_description(config, jobs)
- gecko_taskgraph.transforms.release_sign_and_push_langpacks.make_task_worker(config, jobs)
- gecko_taskgraph.transforms.release_sign_and_push_langpacks.resolve_keys(config, jobs)
- gecko_taskgraph.transforms.release_sign_and_push_langpacks.set_label(config, jobs)
gecko_taskgraph.transforms.release_snap_repackage module
- gecko_taskgraph.transforms.release_snap_repackage.format(config, tasks)
Apply format substitution to worker.env and worker.command.
gecko_taskgraph.transforms.release_started module
Add notifications via taskcluster-notify for release tasks
- gecko_taskgraph.transforms.release_started.add_notifications(config, jobs)
gecko_taskgraph.transforms.release_update_product_channel_version module
- gecko_taskgraph.transforms.release_update_product_channel_version.make_task_worker(config, jobs)
gecko_taskgraph.transforms.repackage module
Transform the repackage task into an actual task description.
- class gecko_taskgraph.transforms.repackage.FlatpakSchema(*, name: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25c40ced0>], branch: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25c40d0d0>])
Bases:
Schema- branch: OptionallyKeyedBy object at 0x7fb25c40d0d0>]
- name: OptionallyKeyedBy object at 0x7fb25c40ced0>]
- class gecko_taskgraph.transforms.repackage.MozharnessSchema(*, config: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25c40bd10>], config_paths: list[str] | None = None, comm_checkout: bool | None = None, run_as_root: bool | None = None, use_caches: bool | list[str] | None = None, sparse_profile: str | None = None)
Bases:
Schema- comm_checkout: bool | None
- config: OptionallyKeyedBy object at 0x7fb25c40bd10>]
- config_paths: list[str] | None
- run_as_root: bool | None
- sparse_profile: str | None
- use_caches: bool | list[str] | None
- class gecko_taskgraph.transforms.repackage.MsiSchema(*, display_name: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25c40bf90>] | None=None)
Bases:
Schema- display_name: OptionallyKeyedBy object at 0x7fb25c40bf90>] | None
- class gecko_taskgraph.transforms.repackage.MsixSchema(*, channel: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb2817b0750>] | None=None, identity_name: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25c40c810>] | None=None, publisher: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25c40ca10>] | None=None, publisher_display_name: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25c40cc50>] | None=None, vendor: str | None = None)
Bases:
Schema- channel: OptionallyKeyedBy object at 0x7fb2817b0750>] | None
- identity_name: OptionallyKeyedBy object at 0x7fb25c40c810>] | None
- publisher: OptionallyKeyedBy object at 0x7fb25c40ca10>] | None
- publisher_display_name: OptionallyKeyedBy object at 0x7fb25c40cc50>] | None
- vendor: str | None
- class gecko_taskgraph.transforms.repackage.PackagingDescriptionSchema(*, label: str | None = None, worker_type: str | None = None, worker: object | None = None, attributes: dict[str, object] | None = None, dependencies: dict[str, object] | None = None, treeherder: ~gecko_taskgraph.transforms.task.TreeherderSchema | None = None, locale: str | None = None, routes: list[str] | None = None, extra: dict[str, object] | None = None, fetches: dict[str, list[str | ~gecko_taskgraph.transforms.job.FetchArtifactSchema]] | None = None, run_on_projects: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb258656cd0>] | None = None, run_on_repo_type: list[~typing.Literal['git', 'hg']] | None = None, shipping_product: str | None = None, shipping_phase: ~typing.Literal['build', 'promote', 'push', 'ship'] | None = None, package_formats: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25c40d450>], msi: ~gecko_taskgraph.transforms.repackage.MsiSchema | None = None, msix: ~gecko_taskgraph.transforms.repackage.MsixSchema | None = None, flatpak: ~gecko_taskgraph.transforms.repackage.FlatpakSchema | None = None, mozharness: ~gecko_taskgraph.transforms.repackage.MozharnessSchema, task_from: str | None = None)
Bases:
Schema- fetches: dict[str, list[str | FetchArtifactSchema]] | None
- flatpak: FlatpakSchema | None
- label: str | None
- locale: str | None
- mozharness: MozharnessSchema
- msix: MsixSchema | None
- package_formats: OptionallyKeyedBy object at 0x7fb25c40d450>]
- routes: list[str] | None
- run_on_projects: OptionallyKeyedBy object at 0x7fb258656cd0>] | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- treeherder: TreeherderSchema | None
- worker: object | None
- worker_type: str | None
- gecko_taskgraph.transforms.repackage.copy_in_useful_magic(config, jobs)
Copy attributes from upstream task to be used for keyed configuration.
- gecko_taskgraph.transforms.repackage.handle_keyed_by(config, jobs)
Resolve fields that can be keyed by platform, etc, but not msix.* fields that can be keyed by package-format. Such fields are handled specially below.
- gecko_taskgraph.transforms.repackage.make_job_description(config, jobs)
- gecko_taskgraph.transforms.repackage.make_repackage_description(config, jobs)
- gecko_taskgraph.transforms.repackage.remove_name(config, jobs)
gecko_taskgraph.transforms.repackage_l10n module
Transform the repackage task into an actual task description.
- gecko_taskgraph.transforms.repackage_l10n.split_locales(config, jobs)
gecko_taskgraph.transforms.repackage_partner module
Transform the repackage task into an actual task description.
- class gecko_taskgraph.transforms.repackage_partner.MozharnessSchema(*, config: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25c3741d0>], config_paths: list[str] | None = None, comm_checkout: bool | None = None)
Bases:
Schema- comm_checkout: bool | None
- config: OptionallyKeyedBy object at 0x7fb25c3741d0>]
- config_paths: list[str] | None
- class gecko_taskgraph.transforms.repackage_partner.PackagingDescriptionSchema(*, label: str | None = None, routes: list[str] | None = None, extra: dict[str, object] | None = None, shipping_product: str | None = None, shipping_phase: ~typing.Literal['build', 'promote', 'push', 'ship'] | None = None, package_formats: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb281770450>], mozharness: ~gecko_taskgraph.transforms.repackage_partner.MozharnessSchema, priority: str | None = None, task_from: str | None = None, attributes: dict[str, object] | None = None, dependencies: dict[str, object] | None = None, run_on_repo_type: list[~typing.Literal['git', 'hg']] | None = None)
Bases:
Schema- label: str | None
- mozharness: MozharnessSchema
- package_formats: OptionallyKeyedBy object at 0x7fb281770450>]
- priority: str | None
- routes: list[str] | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- gecko_taskgraph.transforms.repackage_partner.copy_in_useful_magic(config, jobs)
Copy attributes from upstream task to be used for keyed configuration.
- gecko_taskgraph.transforms.repackage_partner.handle_keyed_by(config, jobs)
Resolve fields that can be keyed by platform, etc.
- gecko_taskgraph.transforms.repackage_partner.make_job_description(config, jobs)
- gecko_taskgraph.transforms.repackage_partner.make_repackage_description(config, jobs)
- gecko_taskgraph.transforms.repackage_partner.remove_name(config, jobs)
gecko_taskgraph.transforms.repackage_pkg_notarization module
- gecko_taskgraph.transforms.repackage_pkg_notarization.define_upstream_artifacts(config, jobs)
- gecko_taskgraph.transforms.repackage_pkg_notarization.treeherder(config, jobs)
gecko_taskgraph.transforms.repackage_pkg_signing module
- class gecko_taskgraph.transforms.repackage_pkg_signing.RepackagePkgSigningSchema(*, label: str | None = None, description: str | None = None, attributes: dict[str, object] | None = None, dependencies: dict[str, object] | None = None, task_from: str | None = None, treeherder: TreeherderSchema | None = None, shipping_product: str | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None = None, run_on_repo_type: list[Literal['git', 'hg']] | None = None)
Bases:
Schema- description: str | None
- label: str | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- treeherder: TreeherderSchema | None
- gecko_taskgraph.transforms.repackage_pkg_signing.make_task_description(config, tasks)
- gecko_taskgraph.transforms.repackage_pkg_signing.remove_name(config, jobs)
gecko_taskgraph.transforms.repackage_routes module
Add indexes to repackage kinds
- gecko_taskgraph.transforms.repackage_routes.add_indexes(config, jobs)
gecko_taskgraph.transforms.repackage_rpm_signing module
Transform the repackage-rpm-signing task into an actual task description.
- gecko_taskgraph.transforms.repackage_rpm_signing.make_task_description(config, jobs)
gecko_taskgraph.transforms.repackage_set_upstream_mac_kind module
Transform mac notarization tasks
- gecko_taskgraph.transforms.repackage_set_upstream_mac_kind.repackage_set_upstream_mac_kind(config, tasks)
Notarization only runs on level 3 If level < 3 then repackage the mac-signing task artifact Exception for debug builds, which will use signed build on level 3
gecko_taskgraph.transforms.repackage_signing module
Transform the repackage signing task into an actual task description.
- class gecko_taskgraph.transforms.repackage_signing.RepackageSigningDescriptionSchema(*, label: str | None = None, attributes: dict[str, object] | None = None, dependencies: dict[str, object] | None = None, task_from: str | None = None, treeherder: TreeherderSchema | None = None, shipping_product: str | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None = None, run_on_repo_type: list[Literal['git', 'hg']] | None = None)
Bases:
Schema- label: str | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- treeherder: TreeherderSchema | None
- gecko_taskgraph.transforms.repackage_signing.make_repackage_signing_description(config, jobs)
- gecko_taskgraph.transforms.repackage_signing.remove_name(config, jobs)
gecko_taskgraph.transforms.repackage_signing_partner module
Transform the repackage signing task into an actual task description.
- class gecko_taskgraph.transforms.repackage_signing_partner.RepackageSigningDescriptionSchema(*, label: str | None = None, extra: object | None = None, attributes: dict[str, object] | None = None, dependencies: dict[str, object] | None = None, shipping_product: str | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None = None, priority: str | None = None, task_from: str | None = None, run_on_repo_type: list[Literal['git', 'hg']] | None = None)
Bases:
Schema- extra: object | None
- label: str | None
- priority: str | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- gecko_taskgraph.transforms.repackage_signing_partner.make_repackage_signing_description(config, jobs)
- gecko_taskgraph.transforms.repackage_signing_partner.remove_name(config, jobs)
gecko_taskgraph.transforms.repo_update module
Transform the repo-update task into an actual task description.
- gecko_taskgraph.transforms.repo_update.resolve_keys(config, tasks)
gecko_taskgraph.transforms.reprocess_symbols module
Transform the reprocess-symbols task description template, taskcluster/kinds/reprocess-symbols/job-template.yml into an actual task description.
- gecko_taskgraph.transforms.reprocess_symbols.fill_template(config, tasks)
gecko_taskgraph.transforms.resolve_landoscript_keyed_by module
Transform the update generation task into an actual task description.
- gecko_taskgraph.transforms.resolve_landoscript_keyed_by.handle_keyed_by(config, tasks)
Resolve fields that can be keyed by platform, etc.
gecko_taskgraph.transforms.reverse_chunk_deps module
Adjust dependencies to not exceed MAX_DEPENDENCIES
- gecko_taskgraph.transforms.reverse_chunk_deps.add_dependencies(config, jobs)
- gecko_taskgraph.transforms.reverse_chunk_deps.yield_job(orig_job, deps, count)
gecko_taskgraph.transforms.run_pgo_profile module
Apply some defaults and minor modifications to the pgo jobs.
- gecko_taskgraph.transforms.run_pgo_profile.run_profile_data(config, jobs)
gecko_taskgraph.transforms.scriptworker module
Transforms for adding appropriate scopes to scriptworker tasks.
- gecko_taskgraph.transforms.scriptworker.add_balrog_scopes(config, jobs)
gecko_taskgraph.transforms.scriptworker_canary module
Build a command to run mach release push-scriptworker-canaries.
- gecko_taskgraph.transforms.scriptworker_canary.build_command(config, jobs)
gecko_taskgraph.transforms.sentry module
- gecko_taskgraph.transforms.sentry.sentry(config, tasks)
Do transforms specific to github-sync tasks.
gecko_taskgraph.transforms.signing module
Transform the signing task into an actual task description.
- class gecko_taskgraph.transforms.signing.SigningDescriptionSchema(*, upstream_artifacts: list[UpstreamArtifactSchema], attributes: dict[str, object] | None = None, label: str | None = None, treeherder: TreeherderSchema | None = None, routes: list[str] | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None = None, shipping_product: str | None = None, dependencies: dict[str, object] | None = None, extra: dict[str, object] | None = None, repacks_per_chunk: int | None = None, priority: str | None = None, task_from: str | None = None, run_on_repo_type: list[Literal['git', 'hg']] | None = None)
Bases:
Schema- label: str | None
- priority: str | None
- repacks_per_chunk: int | None
- routes: list[str] | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- treeherder: TreeherderSchema | None
- upstream_artifacts: list[UpstreamArtifactSchema]
- class gecko_taskgraph.transforms.signing.UpstreamArtifactSchema(*, task_id: str | TaskRefTypeSchema, task_type: str, paths: list[str], formats: list[str])
Bases:
Struct- formats: list[str]
- paths: list[str]
- task_id: str | TaskRefTypeSchema
- task_type: str
- gecko_taskgraph.transforms.signing.add_requirements_link(config, jobs)
- gecko_taskgraph.transforms.signing.delete_name(config, jobs)
Delete the ‘name’ key if it exists, we don’t use it.
- gecko_taskgraph.transforms.signing.get_locales_description(attributes, default)
Returns the [list] of locales for task description usage
- gecko_taskgraph.transforms.signing.make_task_description(config, jobs)
gecko_taskgraph.transforms.snap_test module
- gecko_taskgraph.transforms.snap_test.fill_template(config, tasks)
gecko_taskgraph.transforms.source_checksums_signing module
Transform the checksums signing task into an actual task description.
- class gecko_taskgraph.transforms.source_checksums_signing.ChecksumsSigningDescriptionSchema(*, label: str | None = None, treeherder: TreeherderSchema | None = None, shipping_product: str | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None = None, task_from: str | None = None, attributes: dict[str, object] | None = None, dependencies: dict[str, object] | None = None, run_on_repo_type: list[Literal['git', 'hg']] | None = None)
Bases:
Schema- label: str | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- task_from: str | None
- treeherder: TreeherderSchema | None
- gecko_taskgraph.transforms.source_checksums_signing.make_checksums_signing_description(config, jobs)
- gecko_taskgraph.transforms.source_checksums_signing.remove_name(config, jobs)
gecko_taskgraph.transforms.source_test module
Source-test jobs can run on multiple platforms. These transforms allow jobs with either platform or a list of platforms, and set the appropriate treeherder configuration and attributes for that platform.
- class gecko_taskgraph.transforms.source_test.SourceTestDescriptionSchema(*, platform: str | list[str], require_build: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25bd6cc90>] | None = None, worker_type: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25bc1be10>], worker: ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25bc1bb90>], dependencies: dict[str, ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25bc1bb10>]] | None = None, members: list[str] | None = None, fetches: dict[str, ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25bc1b3d0>]] | None = None)
Bases:
Schema- dependencies: dict[str, ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25bc1bb10>]] | None
- fetches: dict[str, ~typing.Annotated[~typing.Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25bc1b3d0>]] | None
- members: list[str] | None
- platform: str | list[str]
- require_build: OptionallyKeyedBy object at 0x7fb25bd6cc90>] | None
- worker: OptionallyKeyedBy object at 0x7fb25bc1bb90>]
- worker_type: OptionallyKeyedBy object at 0x7fb25bc1be10>]
- gecko_taskgraph.transforms.source_test.add_build_dependency(config, job)
Add build dependency to the job and installer_url to env.
- gecko_taskgraph.transforms.source_test.expand_platforms(config, jobs)
- gecko_taskgraph.transforms.source_test.handle_code_review(config, jobs)
Resolve code-review attribute and add a CODE_REVIEW environment variable when running in code-review bot mode.
- gecko_taskgraph.transforms.source_test.handle_platform(config, jobs)
Handle the ‘platform’ property, setting up treeherder context as well as try-related attributes.
- gecko_taskgraph.transforms.source_test.handle_shell(config, jobs)
Handle the ‘shell’ property.
- gecko_taskgraph.transforms.source_test.nightly_only_codereview(config, jobs)
- gecko_taskgraph.transforms.source_test.remove_optimization_on_central(config, jobs)
For pushes to mozilla-central run all source-test tasks that are enabled for code-review in order to have the code-review bot populate the DB according with the push hash.
- gecko_taskgraph.transforms.source_test.set_job_name(config, jobs)
- gecko_taskgraph.transforms.source_test.split_jsshell(config, jobs)
- gecko_taskgraph.transforms.source_test.vendor_verify_members(config, jobs)
Build the command and triggers for vendoring-verification tasks.
Tasks in vendor-verify.yml name the libraries they check in members. Neither field can be expressed in the yaml: the command has to join the list, and the triggers need each library’s moz.yaml read to find its vendor-directory.
- gecko_taskgraph.transforms.source_test.vendor_verify_triggers(member)
files-changed patterns for one vendored library.
Its moz.yaml directory, which covers the moz.yaml, its patches and any in-tree generated files, plus its vendor-directory – for some libraries (e.g. gfx/angle vendors into third_party/angle) that lives elsewhere in the tree, so the moz.yaml directory alone would miss changes to the sources.
gecko_taskgraph.transforms.spidermonkey module
- gecko_taskgraph.transforms.spidermonkey.handle_keyed_by(config, jobs)
Resolve fields that can be keyed by platform, etc.
gecko_taskgraph.transforms.split_by_locale module
This transform splits the jobs it receives into per-locale tasks. Locales are provided by the locales-file.
- class gecko_taskgraph.transforms.split_by_locale.SplitByLocaleSchema(*, locales_file: str, locale_file_platform: str | None = None, properties_with_locale: list[str] | None = None)
Bases:
Schema- locale_file_platform: str | None
- locales_file: str
- properties_with_locale: list[str] | None
- gecko_taskgraph.transforms.split_by_locale.add_command(config, jobs)
gecko_taskgraph.transforms.startup_test module
- gecko_taskgraph.transforms.startup_test.add_command(config, jobs)
- gecko_taskgraph.transforms.startup_test.job_priority(config, jobs)
Override default job priority if set in the yaml
gecko_taskgraph.transforms.task module
These transformations take a task description and turn it into a TaskCluster task definition (along with attributes, label, etc.). The input to these transformations is generic to any kind of task, but abstracts away some of the complexities of worker implementations, scopes, and treeherder annotations.
- class gecko_taskgraph.transforms.task.AndroidL10nImportConfig(from_repo_url: str, toml_info: list[TomlInfoImport])
Bases:
Schema- from_repo_url: str
- toml_info: list[TomlInfoImport]
- class gecko_taskgraph.transforms.task.AndroidL10nSyncConfig(from_branch: str, toml_info: list[TomlInfoSync])
Bases:
Schema- from_branch: str
- toml_info: list[TomlInfoSync]
- class gecko_taskgraph.transforms.task.AndroidL10nSyncTomlInfoSchema(*, toml_path: str)
Bases:
Schema- toml_path: str
- class gecko_taskgraph.transforms.task.AndroidL10nTomlInfoSchema(*, toml_path: str, dest_path: str)
Bases:
Schema- dest_path: str
- toml_path: str
- class gecko_taskgraph.transforms.task.BalrogSchema(*, balrog_action: str, product: str | None = None, platforms: list[str] | None = None, release_eta: str | None = None, channel_names: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb2586c32d0>] | None=None, require_mirrors: bool | None = None, publish_rules: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb2586c3590>] | None=None, rules_to_update: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb2586c37d0>] | None=None, archive_domain: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb2586c3a50>] | None=None, download_domain: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb2586c39d0>] | None=None, blob_suffix: str | None = None, complete_mar_filename_pattern: str | None = None, complete_mar_bouncer_product_pattern: str | None = None, update_line: object | None = None, suffixes: list[str] | None = None, background_rate: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb2586c3e50>] | None=None, force_fallback_mapping_update: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25872c150>] | None=None, pin_channels: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb25872c3d0>] | None=None, upstream_artifacts: list[_UpstreamArtifactSchema] | None = None)
Bases:
Schema- archive_domain: OptionallyKeyedBy object at 0x7fb2586c3a50>] | None
- background_rate: OptionallyKeyedBy object at 0x7fb2586c3e50>] | None
- balrog_action: str
- blob_suffix: str | None
- channel_names: OptionallyKeyedBy object at 0x7fb2586c32d0>] | None
- complete_mar_bouncer_product_pattern: str | None
- complete_mar_filename_pattern: str | None
- download_domain: OptionallyKeyedBy object at 0x7fb2586c39d0>] | None
- force_fallback_mapping_update: OptionallyKeyedBy object at 0x7fb25872c150>] | None
- pin_channels: OptionallyKeyedBy object at 0x7fb25872c3d0>] | None
- platforms: list[str] | None
- product: str | None
- publish_rules: OptionallyKeyedBy object at 0x7fb2586c3590>] | None
- release_eta: str | None
- require_mirrors: bool | None
- rules_to_update: OptionallyKeyedBy object at 0x7fb2586c37d0>] | None
- suffixes: list[str] | None
- update_line: object | None
- upstream_artifacts: list[_UpstreamArtifactSchema] | None
- class gecko_taskgraph.transforms.task.BeetmoverArtifactSchema(*, task_id: str | TaskRefTypeSchema, task_type: str, paths: list[str], locale: str)
Bases:
Struct- locale: str
- paths: list[str]
- task_id: str | TaskRefTypeSchema
- task_type: str
- class gecko_taskgraph.transforms.task.BeetmoverImportFromGcsSchema(*, max_run_time: int | None = None, gcs_sources: list[str], product: str)
Bases:
Schema- gcs_sources: list[str]
- max_run_time: int | None
- product: str
- class gecko_taskgraph.transforms.task.BeetmoverMavenArtifactSchema(*, task_id: str | TaskRefTypeSchema, task_type: str, paths: list[str], zip_extract: bool | None = None)
Bases:
Struct- paths: list[str]
- task_id: str | TaskRefTypeSchema
- task_type: str
- zip_extract: bool | None
- class gecko_taskgraph.transforms.task.BeetmoverMavenReleasePropertiesSchema(*, app_name: str, app_version: str, branch: str, build_id: str, artifact_id: str, hash_type: str, platform: str)
Bases:
Schema- app_name: str
- app_version: str
- artifact_id: str
- branch: str
- build_id: str
- hash_type: str
- platform: str
- class gecko_taskgraph.transforms.task.BeetmoverMavenSchema(*, max_run_time: int | None = None, release_properties: BeetmoverMavenReleasePropertiesSchema, upstream_artifacts: list[BeetmoverMavenArtifactSchema], artifact_map: object | None = None)
Bases:
Schema- artifact_map: object | None
- max_run_time: int | None
- release_properties: BeetmoverMavenReleasePropertiesSchema
- upstream_artifacts: list[BeetmoverMavenArtifactSchema]
- class gecko_taskgraph.transforms.task.BeetmoverPushToReleaseSchema(*, max_run_time: int | None = None, product: str)
Bases:
Schema- max_run_time: int | None
- product: str
- class gecko_taskgraph.transforms.task.BeetmoverReleasePropertiesSchema(*, app_name: str, app_version: str, branch: str, build_id: str, hash_type: str, platform: str)
Bases:
Schema- app_name: str
- app_version: str
- branch: str
- build_id: str
- hash_type: str
- platform: str
- class gecko_taskgraph.transforms.task.BeetmoverSchema(*, max_run_time: int | None = None, locale: str | None = None, release_properties: BeetmoverReleasePropertiesSchema, upstream_artifacts: list[BeetmoverArtifactSchema], artifact_map: object | None = None)
Bases:
Schema- artifact_map: object | None
- locale: str | None
- max_run_time: int | None
- release_properties: BeetmoverReleasePropertiesSchema
- upstream_artifacts: list[BeetmoverArtifactSchema]
- class gecko_taskgraph.transforms.task.BouncerAliasesSchema(*, entries: object)
Bases:
Schema- entries: object
- class gecko_taskgraph.transforms.task.BouncerLocationsSchema(*, implementation: Literal['bouncer-locations'], bouncer_products: list[str])
Bases:
Schema- bouncer_products: list[str]
- implementation: Literal['bouncer-locations']
- class gecko_taskgraph.transforms.task.BouncerSubmissionSchema(*, locales: list[str], entries: object)
Bases:
Schema- entries: object
- locales: list[str]
- class gecko_taskgraph.transforms.task.DockerArtifactSchema(*, type: Literal['file', 'directory'], path: str, name: str, expires_after: str | None = None)
Bases:
Schema- expires_after: str | None
- name: str
- path: str
- type: Literal['file', 'directory']
- class gecko_taskgraph.transforms.task.DockerCacheSchema(*, type: Literal['persistent'], name: str, mount_point: str, skip_untrusted: bool | None = None)
Bases:
Schema- mount_point: str
- name: str
- skip_untrusted: bool | None
- type: Literal['persistent']
- class gecko_taskgraph.transforms.task.DockerImageDictSchema(*, in_tree: str | None = None, indexed: str | None = None)
Bases:
Schema- in_tree: str | None
- indexed: str | None
- class gecko_taskgraph.transforms.task.DockerWorkerSchema(*, os: Literal['linux'], docker_image: str | DockerImageDictSchema, chain_of_trust: bool, taskcluster_proxy: bool, allow_ptrace: bool, loopback_video: bool, loopback_audio: bool, docker_in_docker: bool, privileged: bool, kvm: bool | None = None, volumes: list[str] | None = None, required_volumes: list[str] | None = None, caches: list[DockerCacheSchema] | None = None, artifacts: list[DockerArtifactSchema] | None = None, env: dict[str, str | TaskRefTypeSchema], command: list[str | TaskRefTypeSchema] | None = None, max_run_time: int, retry_exit_status: list[int] | None = None, purge_caches_exit_status: list[int] | None = None, skip_artifacts: bool | None = None)
Bases:
Schema- allow_ptrace: bool
- artifacts: list[DockerArtifactSchema] | None
- caches: list[DockerCacheSchema] | None
- chain_of_trust: bool
- command: list[str | TaskRefTypeSchema] | None
- docker_image: str | DockerImageDictSchema
- docker_in_docker: bool
- kvm: bool | None
- loopback_audio: bool
- loopback_video: bool
- max_run_time: int
- os: Literal['linux']
- privileged: bool
- purge_caches_exit_status: list[int] | None
- required_volumes: list[str] | None
- retry_exit_status: list[int] | None
- skip_artifacts: bool | None
- taskcluster_proxy: bool
- volumes: list[str] | None
- class gecko_taskgraph.transforms.task.EsrBumpConfig(to_branch: str, fetch_version_from: str, version_files: list[VersionFileStrict], to_revision: str = '', update_clobber_file: bool | None = None)
Bases:
Schema- fetch_version_from: str
- to_branch: str
- to_revision: str
- update_clobber_file: bool | None
- version_files: list[VersionFileStrict]
- class gecko_taskgraph.transforms.task.GenericArtifactSchema(*, type: Literal['file', 'directory'], path: str, name: str | None = None, expires_after: str | None = None)
Bases:
Schema- expires_after: str | None
- name: str | None
- path: str
- type: Literal['file', 'directory']
- class gecko_taskgraph.transforms.task.GenericMountContentSchema(*, artifact: str | None = None, task_id: str | TaskRefTypeSchema | None = None, url: str | None = None)
Bases:
Schema- artifact: str | None
- task_id: str | TaskRefTypeSchema | None
- url: str | None
- class gecko_taskgraph.transforms.task.GenericMountSchema(*, cache_name: str | None = None, content: GenericMountContentSchema | None = None, directory: str | None = None, file: str | None = None, format: Literal['rar', 'tar.bz2', 'tar.gz', 'zip', 'tar.xz'] | None = None)
Bases:
Schema- cache_name: str | None
- content: GenericMountContentSchema | None
- directory: str | None
- file: str | None
- format: Literal['rar', 'tar.bz2', 'tar.gz', 'zip', 'tar.xz'] | None
- class gecko_taskgraph.transforms.task.GenericWorkerSchema(*, os: Literal['windows', 'macosx', 'linux', 'linux-bitbar', 'linux-lambda'], command: list[str | TaskRefTypeSchema | list[str | TaskRefTypeSchema]], artifacts: list[GenericArtifactSchema] | None = None, mounts: list[GenericMountSchema] | None = None, env: dict[str, str | TaskRefTypeSchema], max_run_time: int, os_groups: list[str] | None = None, run_as_administrator: bool | None = None, chain_of_trust: bool, taskcluster_proxy: bool | None = None, hide_cmd_window: bool | None = None, retry_exit_status: list[int] | None = None, skip_artifacts: bool | None = None)
Bases:
Schema- artifacts: list[GenericArtifactSchema] | None
- chain_of_trust: bool
- command: list[str | TaskRefTypeSchema | list[str | TaskRefTypeSchema]]
- hide_cmd_window: bool | None
- max_run_time: int
- mounts: list[GenericMountSchema] | None
- os: Literal['windows', 'macosx', 'linux', 'linux-bitbar', 'linux-lambda']
- os_groups: list[str] | None
- retry_exit_status: list[int] | None
- run_as_administrator: bool | None
- skip_artifacts: bool | None
- taskcluster_proxy: bool | None
- class gecko_taskgraph.transforms.task.IndexSchema(*, product: str | None = None, job_name: str | None = None, type: Literal['generic', 'l10n', 'shippable', 'shippable-l10n', 'android-shippable', 'android-shippable-with-multi-l10n', 'shippable-with-multi-l10n'] = 'generic', rank: Literal['by-tier', 'build_date'] | int = 'by-tier')
Bases:
Schema- job_name: str | None
- product: str | None
- rank: Literal['by-tier', 'build_date'] | int
- type: Literal['generic', 'l10n', 'shippable', 'shippable-l10n', 'android-shippable', 'android-shippable-with-multi-l10n', 'shippable-with-multi-l10n']
- class gecko_taskgraph.transforms.task.IscriptArtifactSchema(*, task_id: str | TaskRefTypeSchema, task_type: str, paths: list[str], formats: list[str], single_file_globs: list[str] | None = None)
Bases:
Struct- formats: list[str]
- paths: list[str]
- single_file_globs: list[str] | None
- task_id: str | TaskRefTypeSchema
- task_type: str
- class gecko_taskgraph.transforms.task.IscriptHardenedSignConfigSchema(*, deep: bool | None = None, runtime: bool | None = None, force: bool | None = None, entitlements: str | None = None, requirements: str | None = None, globs: list[str])
Bases:
Schema- deep: bool | None
- entitlements: str | None
- force: bool | None
- globs: list[str]
- requirements: str | None
- runtime: bool | None
- class gecko_taskgraph.transforms.task.IscriptProvisioningProfileSchema(*, profile_name: str, target_path: str)
Bases:
Schema- profile_name: str
- target_path: str
- class gecko_taskgraph.transforms.task.IscriptSchema(*, signing_type: str, max_run_time: int, upstream_artifacts: list[IscriptArtifactSchema], mac_behavior: Literal['apple_notarization', 'apple_notarization_stacked', 'mac_sign_and_pkg', 'mac_sign_pkg', 'mac_sign_and_pkg_hardened', 'mac_geckodriver', 'mac_notarize_geckodriver', 'mac_single_file', 'mac_notarize_single_file'] | None = None, entitlements_url: str | None = None, requirements_plist_url: str | None = None, provisioning_profile_config: list[IscriptProvisioningProfileSchema] | None = None, hardened_sign_config: list[IscriptHardenedSignConfigSchema] | None = None)
Bases:
Schema- entitlements_url: str | None
- hardened_sign_config: list[IscriptHardenedSignConfigSchema] | None
- mac_behavior: Literal['apple_notarization', 'apple_notarization_stacked', 'mac_sign_and_pkg', 'mac_sign_pkg', 'mac_sign_and_pkg_hardened', 'mac_geckodriver', 'mac_notarize_geckodriver', 'mac_single_file', 'mac_notarize_single_file'] | None
- max_run_time: int
- provisioning_profile_config: list[IscriptProvisioningProfileSchema] | None
- requirements_plist_url: str | None
- signing_type: str
- upstream_artifacts: list[IscriptArtifactSchema]
- class gecko_taskgraph.transforms.task.L10nBumpInfo(name: str, path: str, l10n_repo_url: str, l10n_repo_target_branch: str, platform_configs: list[PlatformConfig], ignore_config: object | None = None)
Bases:
Schema- ignore_config: object | None
- l10n_repo_target_branch: str
- l10n_repo_url: str
- name: str
- path: str
- platform_configs: list[PlatformConfig]
- class gecko_taskgraph.transforms.task.L10nBumpPlatformConfigSchema(*, platforms: list[str], path: str, format: str | None = None)
Bases:
Schema- format: str | None
- path: str
- platforms: list[str]
- class gecko_taskgraph.transforms.task.LandoAction(*, android_l10n_sync: AndroidL10nSyncConfig | None = None, android_l10n_import: AndroidL10nImportConfig | None = None, l10n_bump: list[L10nBumpInfo] | None = None, tag: TagConfig | None = None, version_bump: VersionBumpConfig | None = None, esr_bump: EsrBumpConfig | None = None, main_bump: MainBumpConfig | None = None, uplift: UpliftConfig | None = None, merge_day: MergeDayConfig | None = None)
Bases:
Schema- android_l10n_import: AndroidL10nImportConfig | None
- android_l10n_sync: AndroidL10nSyncConfig | None
- esr_bump: EsrBumpConfig | None
- l10n_bump: list[L10nBumpInfo] | None
- main_bump: MainBumpConfig | None
- merge_day: MergeDayConfig | None
- uplift: UpliftConfig | None
- version_bump: VersionBumpConfig | None
- class gecko_taskgraph.transforms.task.MainBumpConfig(to_branch: str, fetch_version_from: str, version_files: list[VersionFileStrict], to_revision: str = '', replacements: list[list[str]] | None = None, regex_replacements: list[list[str]] | None = None, end_tag: str | None = None, update_clobber_file: bool | None = None)
Bases:
Schema- end_tag: str | None
- fetch_version_from: str
- regex_replacements: list[list[str]] | None
- replacements: list[list[str]] | None
- to_branch: str
- to_revision: str
- update_clobber_file: bool | None
- version_files: list[VersionFileStrict]
- class gecko_taskgraph.transforms.task.MergeDayConfig(to_branch: str, fetch_version_from: str | None = None, version_files: list[VersionFile] | None = None, replacements: list[list[str]] | None = None, regex_replacements: list[list[str]] | None = None, from_branch: str | None = None, from_revision: str | None = None, to_revision: str | None = None, merge_old_head: bool | None = None, update_clobber_file: bool | None = None, incr_major_version: bool | None = None, base_tag: str | None = None, end_tag: str | None = None)
Bases:
Schema- base_tag: str | None
- end_tag: str | None
- fetch_version_from: str | None
- from_branch: str | None
- from_revision: str | None
- incr_major_version: bool | None
- merge_old_head: bool | None
- regex_replacements: list[list[str]] | None
- replacements: list[list[str]] | None
- to_branch: str
- to_revision: str | None
- update_clobber_file: bool | None
- version_files: list[VersionFile] | None
- class gecko_taskgraph.transforms.task.PlatformConfig(platforms: list[str], path: str, format: str | None = None)
Bases:
Schema- format: str | None
- path: str
- platforms: list[str]
- class gecko_taskgraph.transforms.task.PushAddonsSchema(*, channel: Literal['listed', 'unlisted'], upstream_artifacts: list[_UpstreamArtifactSchema])
Bases:
Schema- channel: Literal['listed', 'unlisted']
- upstream_artifacts: list[_UpstreamArtifactSchema]
- class gecko_taskgraph.transforms.task.PushFlatpakSchema(*, channel: str, upstream_artifacts: list[_UpstreamArtifactSchema])
Bases:
Schema- channel: str
- upstream_artifacts: list[_UpstreamArtifactSchema]
- class gecko_taskgraph.transforms.task.PushMsixSchema(*, channel: str, publish_mode: str | None = None, upstream_artifacts: list[_UpstreamArtifactSchema])
Bases:
Schema- channel: str
- publish_mode: str | None
- upstream_artifacts: list[_UpstreamArtifactSchema]
- class gecko_taskgraph.transforms.task.ScriptworkerLandoSchema(*, lando_repo: str, actions: list[LandoAction], ignore_closed_tree: bool | None = None, dontbuild: bool | None = None, force_dry_run: bool | None = None, matrix_rooms: list[str] | None = None)
Bases:
Schema- actions: list[LandoAction]
- dontbuild: bool | None
- force_dry_run: bool | None
- ignore_closed_tree: bool | None
- lando_repo: str
- matrix_rooms: list[str] | None
- class gecko_taskgraph.transforms.task.ShipitMaybeReleaseSchema(*, phase: str)
Bases:
Schema- phase: str
- class gecko_taskgraph.transforms.task.ShipitMergedSchema(*, merge_automation_id: int)
Bases:
Schema- merge_automation_id: int
- class gecko_taskgraph.transforms.task.ShipitNightlyMetadataSchema(*, product: str, channel: str, version: str, buildid: str, locales_file: str)
Bases:
Schema- buildid: str
- channel: str
- locales_file: str
- product: str
- version: str
- class gecko_taskgraph.transforms.task.ShipitShippedSchema(*, release_name: str)
Bases:
Schema- release_name: str
- class gecko_taskgraph.transforms.task.ShipitUpdateProductChannelVersionSchema(*, product: str, channel: str, version: str)
Bases:
Schema- channel: str
- product: str
- version: str
- class gecko_taskgraph.transforms.task.TagConfig(types: list[Literal['buildN', 'release']], revision: str, hg_repo_url: str | None)
Bases:
Schema- hg_repo_url: str | None
- revision: str
- types: list[Literal['buildN', 'release']]
- class gecko_taskgraph.transforms.task.TaskDescriptionSchema(*, label: str, description: str, attributes: dict[str, object] | None=None, task_from: str | None = None, dependencies: dict[str, object] | None=None, soft_dependencies: list[str] | None = None, if_dependencies: list[str] | None = None, requires: Literal['all-completed', 'all-resolved'] | None=None, expires_after: str | None = None, deadline_after: str | None = None, expiration_policy: str | None = None, routes: list[str] | None = None, scopes: list[str] | None = None, tags: dict[str, str] | None=None, extra: dict[str, object] | None=None, treeherder: TreeherderSchema | None = None, index: IndexSchema | None = None, run_on_repo_type: list[~typing.Literal['git', 'hg']] | None=None, run_on_projects: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb258656cd0>] | None=None, run_on_hg_branches: Any, <taskgraph.util.schema.OptionallyKeyedBy object at 0x7fb258d5db90>] | None=None, run_on_git_branches: list[str] | None = None, shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None=None, shipping_product: str | None = None, always_target: bool = False, optimization: OptimizationSchema | None = None, worker_type: str | None = None, use_sccache: bool = False, worker: TaskWorkerSchema | None = None, priority: str | None = None, retries: int | None = None)
Bases:
Schema- always_target: bool
- deadline_after: str | None
- description: str
- expiration_policy: str | None
- expires_after: str | None
- if_dependencies: list[str] | None
- index: IndexSchema | None
- label: str
- optimization: OptimizationSchema | None
- priority: str | None
- requires: Literal['all-completed', 'all-resolved'] | None
- retries: int | None
- routes: list[str] | None
- run_on_git_branches: list[str] | None
- run_on_hg_branches: OptionallyKeyedBy object at 0x7fb258d5db90>] | None
- run_on_projects: OptionallyKeyedBy object at 0x7fb258656cd0>] | None
- run_on_repo_type: list[Literal['git', 'hg']] | None
- scopes: list[str] | None
- shipping_phase: Literal['build', 'promote', 'push', 'ship'] | None
- shipping_product: str | None
- soft_dependencies: list[str] | None
- task_from: str | None
- treeherder: TreeherderSchema | None
- use_sccache: bool
- worker: TaskWorkerSchema | None
- worker_type: str | None
- class gecko_taskgraph.transforms.task.TaskWorkerSchema(*, implementation: str)
Bases:
Schema- implementation: str
- class gecko_taskgraph.transforms.task.TomlInfoImport(toml_path: str, dest_path: str)
Bases:
Schema- dest_path: str
- toml_path: str
- class gecko_taskgraph.transforms.task.TreeherderSchema(*, symbol: str | None = None, kind: Literal['build', 'test', 'other'] | None = None, tier: int | None = None, platform: str | None = None)
Bases:
Schema- kind: Literal['build', 'test', 'other'] | None
- platform: str | None
- symbol: str | None
- tier: int | None
- class gecko_taskgraph.transforms.task.TreescriptAndroidL10nImportInfoSchema(*, from_repo_url: str, toml_info: list[AndroidL10nTomlInfoSchema])
Bases:
Schema- from_repo_url: str
- toml_info: list[AndroidL10nTomlInfoSchema]
- class gecko_taskgraph.transforms.task.TreescriptAndroidL10nSyncInfoSchema(*, from_repo_url: str, toml_info: list[AndroidL10nSyncTomlInfoSchema])
Bases:
Schema- from_repo_url: str
- toml_info: list[AndroidL10nSyncTomlInfoSchema]
- class gecko_taskgraph.transforms.task.TreescriptL10nBumpInfoSchema(*, name: str, path: str, version_path: str, l10n_repo_url: str | None = None, l10n_repo_target_branch: str | None = None, ignore_config: object | None = None, platform_configs: list[L10nBumpPlatformConfigSchema])
Bases:
Schema- ignore_config: object | None
- l10n_repo_target_branch: str | None
- l10n_repo_url: str | None
- name: str
- path: str
- platform_configs: list[L10nBumpPlatformConfigSchema]
- version_path: str
- class gecko_taskgraph.transforms.task.TreescriptSchema(*, tags: list[Literal['buildN', 'release'] | None], bump: bool, bump_files: list[str] | None = None, repo_param_prefix: str | None = None, dontbuild: bool | None = None, ignore_closed_tree: bool | None = None, force_dry_run: bool | None = None, push: bool | None = None, source_repo: str | None = None, ssh_user: str | None = None, l10n_bump_info: list[TreescriptL10nBumpInfoSchema] | None = None, actions: object | None = None, merge_info: object | None = None, android_l10n_import_info: TreescriptAndroidL10nImportInfoSchema | None = None, android_l10n_sync_info: TreescriptAndroidL10nSyncInfoSchema | None = None)
Bases:
Schema- actions: object | None
- android_l10n_import_info: TreescriptAndroidL10nImportInfoSchema | None
- android_l10n_sync_info: TreescriptAndroidL10nSyncInfoSchema | None
- bump: bool
- bump_files: list[str] | None
- dontbuild: bool | None
- force_dry_run: bool | None
- ignore_closed_tree: bool | None
- l10n_bump_info: list[TreescriptL10nBumpInfoSchema] | None
- merge_info: object | None
- push: bool | None
- repo_param_prefix: str | None
- source_repo: str | None
- ssh_user: str | None
- tags: list[Literal['buildN', 'release'] | None]
- class gecko_taskgraph.transforms.task.UpliftConfig(fetch_version_from: str, version_files: list[VersionFile], from_branch: str, to_branch: str, from_revision: str = '', to_revision: str = '', replacements: list[list[str]] | None = None, base_tag: str | None = None, end_tag: str | None = None, l10n_bump_info: list[L10nBumpInfo] | None = None, update_clobber_file: bool | None = None)
Bases:
Schema- base_tag: str | None
- end_tag: str | None
- fetch_version_from: str
- from_branch: str
- from_revision: str
- l10n_bump_info: list[L10nBumpInfo] | None
- replacements: list[list[str]] | None
- to_branch: str
- to_revision: str
- update_clobber_file: bool | None
- version_files: list[VersionFile]
- class gecko_taskgraph.transforms.task.VersionBumpConfig(bump_files: list[str])
Bases:
Schema- bump_files: list[str]
- class gecko_taskgraph.transforms.task.VersionFile(filename: str, version_bump: str | None = None, new_suffix: str | None = None)
Bases:
Schema- filename: str
- new_suffix: str | None
- version_bump: str | None
- class gecko_taskgraph.transforms.task.VersionFileStrict(filename: str, version_bump: str, new_suffix: str | None = None)
Bases:
Schema- filename: str
- new_suffix: str | None
- version_bump: str
- gecko_taskgraph.transforms.task.add_android_shippable_index_routes(config, task)
- gecko_taskgraph.transforms.task.add_android_shippable_multi_index_routes(config, task)
- gecko_taskgraph.transforms.task.add_geckoview_index_routes(config, task)
- gecko_taskgraph.transforms.task.add_generic_index_routes(config, task)
- gecko_taskgraph.transforms.task.add_github_checks_route(config, tasks)
Add the Github ‘checks’ route to code review tasks.
- gecko_taskgraph.transforms.task.add_index_routes(config, tasks)
- gecko_taskgraph.transforms.task.add_l10n_index_routes(config, task, force_locale=None)
- gecko_taskgraph.transforms.task.add_shippable_index_routes(config, task)
- gecko_taskgraph.transforms.task.add_shippable_l10n_index_routes(config, task, force_locale=None)
- gecko_taskgraph.transforms.task.add_shippable_multi_index_routes(config, task)
- gecko_taskgraph.transforms.task.build_balrog_payload(config, task, task_def)
- gecko_taskgraph.transforms.task.build_beetmover_maven_payload(config, task, task_def)
- gecko_taskgraph.transforms.task.build_beetmover_payload(config, task, task_def)
- gecko_taskgraph.transforms.task.build_beetmover_push_to_release_payload(config, task, task_def)
- gecko_taskgraph.transforms.task.build_bouncer_aliases_payload(config, task, task_def)
- gecko_taskgraph.transforms.task.build_bouncer_locations_payload(config, task, task_def)
- gecko_taskgraph.transforms.task.build_bouncer_submission_payload(config, task, task_def)
- gecko_taskgraph.transforms.task.build_docker_worker_payload(config, task, task_def)
- gecko_taskgraph.transforms.task.build_generic_worker_payload(config, task, task_def)
- gecko_taskgraph.transforms.task.build_import_from_gcs_to_artifact_registry_payload(config, task, task_def)
- gecko_taskgraph.transforms.task.build_iscript_payload(config, task, task_def)
- gecko_taskgraph.transforms.task.build_lando_payload(config, task, task_def)
- gecko_taskgraph.transforms.task.build_push_addons_payload(config, task, task_def)
- gecko_taskgraph.transforms.task.build_push_flatpak_payload(config, task, task_def)
- gecko_taskgraph.transforms.task.build_push_msix_payload(config, task, task_def)
- gecko_taskgraph.transforms.task.build_ship_it_maybe_release_payload(config, task, task_def)
- gecko_taskgraph.transforms.task.build_ship_it_merged_payload(config, task, task_def)
- gecko_taskgraph.transforms.task.build_ship_it_nightly_metadata_payload(_, task, task_def)
- gecko_taskgraph.transforms.task.build_ship_it_shipped_payload(config, task, task_def)
- gecko_taskgraph.transforms.task.build_ship_it_update_product_channel_version_payload(config, task, task_def)
- gecko_taskgraph.transforms.task.build_task(config, tasks)
- gecko_taskgraph.transforms.task.build_treescript_payload(config, task, task_def)
- gecko_taskgraph.transforms.task.chain_of_trust(config, tasks)
- gecko_taskgraph.transforms.task.check_caches_are_volumes(task)
Ensures that all cache paths are defined as volumes.
Caches and volumes are the only filesystem locations whose content isn’t defined by the Docker image itself. Some caches are optional depending on the job environment. We want paths that are potentially caches to have as similar behavior regardless of whether a cache is used. To help enforce this, we require that all paths used as caches to be declared as Docker volumes. This check won’t catch all offenders. But it is better than nothing.
- gecko_taskgraph.transforms.task.check_perf_task_fission_filtering(config, tasks)
- gecko_taskgraph.transforms.task.check_required_volumes(task)
Ensures that all paths that are required to be volumes are defined as volumes.
Performance of writing to files in poor in directories not marked as volumes, in docker. Ensure that paths that are often written to are marked as volumes.
- gecko_taskgraph.transforms.task.check_run_task_caches(config, tasks)
Audit for caches requiring run-task.
run-task manages caches in certain ways. If a cache managed by run-task is used by a non run-task task, it could cause problems. So we audit for that and make sure certain cache names are exclusive to run-task.
IF YOU ARE TEMPTED TO MAKE EXCLUSIONS TO THIS POLICY, YOU ARE LIKELY CONTRIBUTING TECHNICAL DEBT AND WILL HAVE TO SOLVE MANY OF THE PROBLEMS THAT RUN-TASK ALREADY SOLVES. THINK LONG AND HARD BEFORE DOING THAT.
- gecko_taskgraph.transforms.task.check_task_dependencies(config, tasks)
Ensures that tasks don’t have more than 100 dependencies.
- gecko_taskgraph.transforms.task.check_task_identifiers(config, tasks)
Ensures that all tasks have well defined identifiers:
^[a-zA-Z0-9_-]{1,38}$
- gecko_taskgraph.transforms.task.dash_to_underscore(obj)
- gecko_taskgraph.transforms.task.get_branch_git_rev(config)
- gecko_taskgraph.transforms.task.get_branch_repo(config)
- gecko_taskgraph.transforms.task.get_branch_rev(config)
- gecko_taskgraph.transforms.task.get_default_priority(graph_config, project, shipping)
- gecko_taskgraph.transforms.task.get_head_ref(config) tuple[str, str | None]
Extract the head_ref without its prefix and determine its type.
- Parameters:
config (TransformConfig) – The configuration for the kind being transformed.
- Returns:
- A tuple of (head_ref_name, ref_type) where ref_type is ‘heads’,
’tags’, or None if the type cannot be determined.
- Return type:
tuple
- gecko_taskgraph.transforms.task.get_head_ref_index(config) str
Build a URL-encoded index string for the head_ref with namespace prefix.
- Parameters:
config (TransformConfig) – The configuration for the kind being transformed.
- Returns:
- The URL-encoded index path (e.g., ‘.branch.main’ or ‘.tag.v1.0’)
with appropriate namespace prefix, or empty string if no head_ref.
- Return type:
str
- gecko_taskgraph.transforms.task.get_project_alias(config)
- gecko_taskgraph.transforms.task.get_task_source_url(config, task)
- gecko_taskgraph.transforms.task.get_treeherder_link(config) str
- gecko_taskgraph.transforms.task.get_treeherder_project(config) str
Resolve and retrieve the Treeherder project name.
- Parameters:
config (TransformConfig) – The configuration for the kind being transformed.
- Returns:
The Treeherder project identifier.
- Return type:
str
- gecko_taskgraph.transforms.task.group_name_variant(group_names, groupSymbol)
- gecko_taskgraph.transforms.task.index_builder(name)
- gecko_taskgraph.transforms.task.is_run_task(cmd: str) bool
- gecko_taskgraph.transforms.task.process_l10n_bump_info(info)
- gecko_taskgraph.transforms.task.set_defaults(config, tasks)
- gecko_taskgraph.transforms.task.set_implementation(config, tasks)
Set the worker implementation based on the worker-type alias.
- gecko_taskgraph.transforms.task.set_task_and_artifact_expiry(config, jobs)
Set the default expiry for tasks and their artifacts.
These values are read from ci/config.yml
- gecko_taskgraph.transforms.task.setup_raptor(config, tasks)
Add options that are specific to raptor jobs (identified by suite=raptor).
This variant uses a separate set of transforms for manipulating the tests at the task-level. Currently only used for setting the taskcluster proxy setting and the scopes required for perftest secrets.
- gecko_taskgraph.transforms.task.task_name_from_label(config, tasks)
- gecko_taskgraph.transforms.task.try_task_config_env(config, tasks)
Set environment variables in the task.
- gecko_taskgraph.transforms.task.try_task_config_priority(config, tasks)
Change priority based on the try_task_config.
- gecko_taskgraph.transforms.task.try_task_config_routes(config, tasks)
Set routes in the task.
- gecko_taskgraph.transforms.task.validate(config, tasks)
- gecko_taskgraph.transforms.task.validate_shipping_product(config, product)
- gecko_taskgraph.transforms.task.verify_index(config, index)
gecko_taskgraph.transforms.try_job module
- gecko_taskgraph.transforms.try_job.set_job_try_name(config, jobs)
For a task which is governed by -j in try syntax, set the job_try_name attribute based on the job name.
gecko_taskgraph.transforms.ui_test_apk module
UI-test-apk-specific transforms. Build the Slack notification payload from the task’s app-name, and build the test-lab.py invocation from the task’s flank-config / artifact-type / no-test-apk fields.
- gecko_taskgraph.transforms.ui_test_apk.build_slack_notification(config, tasks)
- gecko_taskgraph.transforms.ui_test_apk.build_test_lab_command(config, tasks)
gecko_taskgraph.transforms.update_integrity module
- gecko_taskgraph.transforms.update_integrity.add_additional_fetches_and_command(config, jobs)
Adds fetch entries for the “from” installers and partial MARs.
- gecko_taskgraph.transforms.update_integrity.add_build_target(config, jobs)
- gecko_taskgraph.transforms.update_integrity.add_to_installer(config, jobs)
Adds fetch entries for the “to” installer to fetches.
- gecko_taskgraph.transforms.update_integrity.adjust_locale_watershed(config, jobs)
Adjusts the last-watershed for locales that are newer than the last general watershed. eg: if last-watershed is 72.0 but sco didn’t ship 91.0, it will be adjusted to 91.0.
- gecko_taskgraph.transforms.update_integrity.resolve_keys(config, jobs)
- gecko_taskgraph.transforms.update_integrity.set_treeherder(config, jobs)
- gecko_taskgraph.transforms.update_integrity.skip_for_new_locales_and_platforms(config, jobs)
Don’t generate any jobs for newly added locales or platforms that don’t have from releases to test.
- gecko_taskgraph.transforms.update_integrity.skip_for_non_nightly(config, jobs)
Don’t generate any jobs unless running as a nightly. Other code in this transform depends on nightly-specific parameters being set.
gecko_taskgraph.transforms.update_test module
Transform the update-test suite to parametrize by locale, source version, machine
- final class gecko_taskgraph.transforms.update_test.ReleaseType(value)
Bases:
EnumRelease type
- beta = 1
- esr = 2
- other = 3
- release = 0
- gecko_taskgraph.transforms.update_test.get_build_platform(platform)
- gecko_taskgraph.transforms.update_test.infix_treeherder_symbol(symbol, infix)
- gecko_taskgraph.transforms.update_test.parametrize_by_locale(config, tasks)
- gecko_taskgraph.transforms.update_test.parametrize_by_source_version(config, tasks)
- gecko_taskgraph.transforms.update_test.set_task_configuration(config, tasks)
gecko_taskgraph.transforms.update_verify module
Transform the beetmover task into an actual task description.
- gecko_taskgraph.transforms.update_verify.add_command(config, tasks)
gecko_taskgraph.transforms.update_verify_config module
Transform the beetmover task into an actual task description.
- gecko_taskgraph.transforms.update_verify_config.add_command(config, tasks)
- gecko_taskgraph.transforms.update_verify_config.ensure_wrapped_singlequote(regexes)
Ensure that a regex (from INCLUDE_VERSION_REGEXES or MAR_CHANNEL_ID_OVERRIDE_REGEXES) is wrapper in single quotes.
gecko_taskgraph.transforms.upload_generated_sources module
Transform the upload-generated-files task description template, taskcluster/kinds/upload-generated-sources/kind.yml, into an actual task description.
- gecko_taskgraph.transforms.upload_generated_sources.add_task_info(config, jobs)
gecko_taskgraph.transforms.upload_symbols module
Transform the upload-symbols task description template, taskcluster/kinds/upload-symbols/job-template.yml into an actual task description.
- gecko_taskgraph.transforms.upload_symbols.check_nightlies(config, tasks)
Ensure that we upload symbols for all shippable builds, so that crash-stats can resolve any reports sent to it. Try may enable full symbols but not upload them.
Putting this check here (instead of the transforms for the build kind) lets us leverage the any not-for-build-platforms set in the update-symbols kind.
- gecko_taskgraph.transforms.upload_symbols.fill_template(config, tasks)
gecko_taskgraph.transforms.zucchini_partial_rollout module
- gecko_taskgraph.transforms.zucchini_partial_rollout.filter_legacy_partials_by_project(config, tasks)
Only generate legacy “partials” tasks on legacy release channels.
partials-zucchini is used on every other project, so on non-legacy projects we skip generating the legacy “partials” tasks entirely. This is the inverse of the filtering applied by the zucchini_transforms below.
- gecko_taskgraph.transforms.zucchini_partial_rollout.filter_partials_by_project(config, tasks)
Control the rollout of partials-zucchini across release channels.
This transform manages the gradual transition from the legacy “partials” implementation to the new “partials-zucchini” implementation. It ensures that partials-zucchini is only used on nightly builds, allowing thorough testing before the implementation rides the train to beta, release, and ESR channels.
The transform filters tasks based on their primary dependency (partials or partials-zucchini) and the current project/channel, ensuring the appropriate implementation is used for each release channel.