Skip to content

fix(controller): detect AllTargetsFiles deletion (BUG-013) - #292

Merged
sbalabanov merged 1 commit into
mainfrom
sbalabanov/bug-013
Aug 27, 2026
Merged

fix(controller): detect AllTargetsFiles deletion (BUG-013)#292
sbalabanov merged 1 commit into
mainfrom
sbalabanov/bug-013

Conversation

@sbalabanov

@sbalabanov sbalabanov commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Summary

Fix BUG-013 by detecting when a configured AllTargetsFiles path is added or deleted between revisions.

Previously, Tango compared only files present in each revision, so deleting a global trigger file could be missed. For example, if .bazelrc is configured as an AllTargetsFiles entry and is removed in a new revision, every target must be invalidated because the repository-wide build configuration changed.

The fix records configured paths even when absent and compares the complete old and new path/hash sets symmetrically.

Test Plan

  • Unit tests cover added, deleted, missing-side, and unchanged configured files.

Issues

T3-BUG-013

Summary:
BUG-013 preserves the complete configured AllTargetsFiles state across revisions so additions and deletions trigger global invalidation.

Intent:
- Detect configured global-trigger files appearing or disappearing.
- Compare the full configured key and hash state symmetrically.

Changes:
- Represent configured paths absent from a revision with an explicit empty hash value.
- Compare both AllTargetsFileHashes maps as complete sets.
- Cover addition, deletion, missing-side, and matching-state behavior.

---

<sub>Generated by the 🪄 pr-create skill in devexp-agent-marketplace</sub>
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@sbalabanov
sbalabanov marked this pull request as ready for review August 26, 2026 18:32
@sbalabanov
sbalabanov requested review from a team as code owners August 26, 2026 18:32
@sbalabanov
sbalabanov marked this pull request as draft August 26, 2026 19:17

@sbalabanov sbalabanov left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Simplify PR description, add use case example of the bug it is fixing

@sbalabanov

Copy link
Copy Markdown
Contributor Author

Simplified the PR description and added a concrete .bazelrc deletion example showing why removal of an AllTargetsFiles trigger must invalidate every target. Current HEAD: 7c7c5c4e74f43f7fb2cb538f7fb212f8597f6c51.

[addressed by agent]

@sbalabanov
sbalabanov marked this pull request as ready for review August 27, 2026 21:23

@xytan0056 xytan0056 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.

good catch

@sbalabanov
sbalabanov merged commit 5a7e78c into main Aug 27, 2026
23 of 24 checks passed
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.

4 participants