Skip mass rebuilds when dist-git is ahead of the tagged build #13051
No reviewers
releng/members
releng/Owners
Labels
No labels
after freeze
automation
backlog
blocked
change-ack
change-nak
change-noreleng
changes
Closed As
Can't Fix
Closed As
Duplicate
Closed As
Fixed
Closed As
Fixed with Explanation
Closed As
Get back later
Closed As
Grooming
Closed As
Insufficient data
Closed As
Invalid
Closed As
It's all good
Closed As
taiga
Closed As
upstream
dev
docs
easyfix
epel
f26
f27
f28
f29
f30
f31
f32
f33
f34
f35
f36
f37
f38
f39
f40
f41
f42
f43
f44
fedora
groomed
high-gain
high-trouble
in-progress
in-review
investigation
legal
low-gain
low-trouble
mass rebuild
medium-gain
medium-trouble
meeting
mini-initiative
new_artifact
ops
pdc_retirement
rawhide
RCA
review
script
sidetarget
sprint-0
sprint-1
sprint-2
unfrozen
waiting on external
Backlog Status
Needs Review
Backlog Status
Ready
chore
documentation
points
01
points
02
points
03
points
05
points
08
points
13
Priority
High
Priority
Low
Priority
Medium
release-process
Sprint Status
Blocked
Sprint Status
Done
Sprint Status
In Progress
Sprint Status
Review
Sprint Status
To Do
Technical Debt
Work Item
Bug
Work Item
Epic
Work Item
Spike
Work Item
Task
Work Item
User Story
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
releng/tooling!13051
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "jnsamyak/tooling:ft-mass-tag-gating"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Avoid rebuilding packages whose rawhide HEAD has non-releng commits
beyond the latest build in desttag, so failed-gating content is not
bumped into the rebuild tag. Log skips to skipped_distgit_mismatch.txt.
Fixes: releng/tickets#13428
Signed-off-by: Samyak Jain samyak.jn11@gmail.com
Aside from a couple of notes this looks good to me, though it's a bit hard to reason about. Might be a good idea to throw an AI review bot at it?
@ -40,0 +67,4 @@if not tagged_commit:return Truetry:head = subprocess.check_output(this file already has
runmeandrunmeoutputwrappers for subprocess; perhaps those should be used for at least some of these calls?With the new changes I switched the rev-parse/ log prrobes to runmeoutput with retrie to 1. Left merge-base --is-ancestor as a direct subprocess.call exit status 1 means “not an ancestor” (a normal skip), not a failed command.
@ -40,0 +74,4 @@['git', 'rev-parse', '--verify', tagged_commit + '^{commit}'],cwd=pkgdir, text=True, stderr=subprocess.DEVNULL).strip()except (subprocess.CalledProcessError, FileNotFoundError, OSError):return FalseI think it would be good for all the
Falsereturns to log / output, so we know why we're refusing to rebuild this particular thing. That would also help catch if one of the checks turns out to be not really correct.Ok made this change each False path now prints a specific skip reason before returning.
@adamwill need to add ai-review bot here for that, I think it is not configured for this tooling repository for now
you can always invoke a review manually somehow - ai-code-review has ways to do it from the command line, and you can also just ask your favorite clanker (claude code, opencode, whatever) to do it interactively.
16b375392bto938062af36938062af36b9f175feefDid a self-review pass before merging. Caught a few things and fixed them in the follow-up commit: