Files
tubestation/taskcluster/test/params/mc-cron-system-symbols.yml
Andrew Halberstadt 2f338261f4 Bug 1884364 - Create a new 'files_changed' parameter, r=taskgraph-reviewers,releng-reviewers,jcristau
We use hg.m.o's `json-automationrelevance` endpoint for a variety of reasons
such as getting the files changed for optimization purposes, or finding the
base revision for diff purposes. But this endpoint is slow and puts undue load
on hg.mozilla.org if queried too often.

The helper function that fetches this is memoized, so in theory we should only
ever make this request once per graph generation. However, there are still cases
where we request this unnecessarily:

1. When running `./mach taskgraph` locally, we first fetch
`json-automationrelevance` and then fall back to fetching it locally if the
revision wasn't found. I believe the reason for this is to be able to generate
identical graphs as produced by CI.

2. When specifying multiple parameters (so graphs are generated in parallel),
the memoize won't cache across processes, so we make the request once per
parameter set.

3. Any other time we generate tasks outside the context of a Decision task (e.g
`./mach try`), as there are transforms that call this function.

By turning `files_changed` into a parameter, we can ensure that this value gets
"frozen" by the Decision task and it will never need to be recomputed. E.g, you
could use `-p task-id=<decision id>` and you'd still get the `files_changed`
value that Decision task computed. This means, that for all non-Decision use
cases we can rely on local VCS to give us our changed files.

This should greatly cut back on the number of queries being made to `hg.m.o`.

Differential Revision: https://phabricator.services.mozilla.com/D204127
2024-03-19 14:13:54 +00:00

53 lines
1.3 KiB
YAML

app_version: 122.0a1
backstop: true
base_ref: default
base_repository: https://hg.mozilla.org/mozilla-unified
base_rev: 27366586a33a4d0f53cd466bbca28d1edfacf09c
build_date: 1700591478
build_number: 1
do_not_optimize: []
enable_always_target:
- docker-image
existing_tasks: {}
files_changed:
- dom/html/HTMLDetailsElement.cpp
- gfx/thebes/gfxUserFontSet.cpp
filters:
- target_tasks_method
head_ref: 7bc9f9c659dd5c04c341cef4f898cb08574d9cdd
head_repository: https://hg.mozilla.org/mozilla-central
head_rev: 7bc9f9c659dd5c04c341cef4f898cb08574d9cdd
head_tag: ''
hg_branch: default
level: '3'
message: ''
moz_build_date: '20231121183118'
next_version: null
optimize_strategies: null
optimize_target_tasks: true
owner: user@example.com
phabricator_diff: null
project: mozilla-central
pushdate: 1700591478
pushlog_id: '41357'
release_enable_emefree: false
release_enable_partner_attribution: false
release_enable_partner_repack: false
release_eta: ''
release_history: {}
release_partner_build_number: 1
release_partner_config: {}
release_partners: []
release_product: null
release_type: nightly
repository_type: hg
required_signoffs: []
signoff_urls: {}
target_tasks_method: system_symbols
tasks_for: cron
test_manifest_loader: default
try_mode: null
try_options: null
try_task_config: {}
version: 122.0a1