Closed Bug 1846855 Opened 2 years ago Closed 2 years ago

mach taskgraph test-action-callback fails due to hardcoded source dir path

Categories

(Firefox Build System :: Task Configuration, defect)

defect

Tracking

(firefox118 fixed)

RESOLVED FIXED
118 Branch
Tracking Status
firefox118 --- fixed

People

(Reporter: rjl, Assigned: rjl)

Details

Attachments

(1 file)

Attempted to run:
./mach taskgraph test-action-callback --input /tmp/action.json --task-group-id <decision id> -p ~/Downloads/parameters.yml --root comm/taskcluster/ci release-promotion

It mostly runs, except towards the end it fails:

0:19.35 writing artifact file `label-to-taskid.json`
Traceback (most recent call last):
  File "/home/rob/moz/m-b/taskcluster/gecko_taskgraph/main.py", line 747, in test_action_callback
    return gecko_taskgraph.actions.trigger_action_callback(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rob/moz/m-b/taskcluster/gecko_taskgraph/actions/registry.py", line 356, in trigger_action_callback
    cb(Parameters(**parameters), graph_config, input, task_group_id, task_id)
  File "/home/rob/moz/m-b/taskcluster/gecko_taskgraph/actions/release_promotion.py", line 427, in release_promotion_action
    taskgraph_decision({"root": graph_config.root_dir}, parameters=parameters)
  File "/home/rob/moz/m-b/taskcluster/gecko_taskgraph/decision.py", line 282, in taskgraph_decision
    shutil.copy2(run_task_file_path, ARTIFACTS_DIR)
  File "/usr/lib/python3.11/shutil.py", line 436, in copy2
    copyfile(src, dst, follow_symlinks=follow_symlinks)
  File "/usr/lib/python3.11/shutil.py", line 256, in copyfile
    with open(src, 'rb') as fsrc:
         ^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/builds/worker/checkouts/gecko/taskcluster/scripts/run-task'

That path does not exist on my development machine, so obviously will fail.

There's a hardcoded path at:
https://searchfox.org/mozilla-central/rev/2bf90dc51ce7e8274ce208fbb9d68b3ff535185e/taskcluster/gecko_taskgraph/decision.py#278

Should be easily replaced with GECKO for the actual checkout root.

Normally the taskgraph_decision code is not run outside of CI, but when using
mach test-action-callback locally it is used. The hardcoded path is problematic
when doing so.

Assignee: nobody → rob
Status: NEW → ASSIGNED
Pushed by thunderbird@calypsoblue.org: https://hg.mozilla.org/integration/autoland/rev/38cb294e6cb0 Replace hardcoded source path with GECKO for testing action callbacks. r=taskgraph-reviewers,bhearsum
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 118 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: