Skip to content

2026 11 10 tjr commandeered task - #462

Merged
tomrittervg merged 3 commits into
masterfrom
2026-11-10-tjr-commandeered-task-id
Nov 10, 2026
Merged

tomrittervg merged 3 commits into
masterfrom
2026-11-10-tjr-commandeered-task-id

Conversation

@tomrittervg

Copy link
Copy Markdown
Collaborator

No description provided.

Every Phabricator Conduit call built its own echo | arc call-conduit command and
repeated the JSON decoding and error handling. Do that in _call_conduit, with
_search_one and _edit_revision for the common cases, and a ConduitError that keeps
Phabricator's error message for abandon to check.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The test fails when TASK_ID is already set, and nested retries in ownership checks can trigger 100 identity requests and stall vendoring for over 93 minutes.

2 open issues
What changed in this PR

This PR updates vendoring job cleanup to preserve bugs and revisions taken over by another author, and records the Taskcluster task that created each job.

Changes:

  • Detect commandeered revisions and leave their bugs open when newer updates supersede them.
  • Consolidate Phabricator Conduit calls into shared helpers.
  • Add job task IDs, a database migration, and regression coverage.
File Description
tests/​functionality_utilities.py Update Conduit mocks and add identity responses.
tests/​functionality_all_platforms.py Cover superseding a job with a commandeered revision.
tests/​database.py Test task ID persistence, absence, and migration.
tasktypes/​vendoring.py Preserve commandeered revisions and their open bugs.
components/​dbmodels.py Expose task IDs on job objects.
components/​db.py Add schema version 17 and store job task IDs.
components/​bugzilla.py Add a comment explaining why a superseded bug remains open.
apis/​phabricator.py Refactor Conduit helpers and detect revision ownership changes.

Review effort: Balanced

Comment thread tests/database.py Resolved
Comment thread apis/phabricator.py Resolved
…ixes #384

When a newer version of a library comes in, Updatebot closes the previous bug as a
duplicate of the new one and abandons its revisions. If someone has taken over one
of those revisions, they're working on it, so leave the bug open and say why.
Add a task_id column to the jobs table (database version 17), so a job can be traced
back to the Updatebot run that created it, even if it never got a bug.
@tomrittervg
tomrittervg force-pushed the 2026-11-10-tjr-commandeered-task-id branch from b7726b3 to d93c0ee Compare November 10, 2026 20:16
@tomrittervg
tomrittervg requested a balanced review from Copilot November 10, 2026 21:50

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No active review issues block approval of the vendoring workflow and job task-ID updates.

No open issues 🎉

2 resolved since last review

Review effort: Balanced

@tomrittervg
tomrittervg merged commit d80e872 into master Nov 10, 2026
12 checks passed
@tomrittervg
tomrittervg deleted the 2026-11-10-tjr-commandeered-task-id branch November 10, 2026 22:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants