feat: support commit SHA placeholders in branch labels - #5191
Conversation
6d73607 to
cdd5e93
Compare
There was a problem hiding this comment.
🔵 Needs a closer look
It changes core version calculation pathways (including mainline traversal) by threading commit context broadly, so a final human review should validate the behavioral impact despite strong test coverage.
Review details
- Files reviewed: 30/30 changed files
- Comments generated: 1
- Review effort level: Lite
cdd5e93 to
71ab5a9
Compare
71ab5a9 to
02a7efa
Compare
asbjornu
left a comment
There was a problem hiding this comment.
LGTM, just got a few questions and comments.
There was a problem hiding this comment.
🔵 Needs a closer look
It makes broad, cross-cutting changes in core version-calculation paths (strategies + recursive mainline traversal), and should receive final human sign-off despite strong test coverage updates.
Review details
- Files reviewed: 30/30 changed files
- Comments generated: 0 new
- Review effort level: Lite
02a7efa to
0df22f8
Compare
|
Thanks! Updated the wording and regenerated the schema. Both tests now deserialize into |
|
|
Thank you @arturcic for your contribution! |



Description
Branch labels such as
label: 'ci.{ShortSha}'currently fail with an unknown-placeholder error. Add{Sha}and{ShortSha}using the commit being versioned, so these templates participate in version calculation undercalculation.branches.<branch>.label.Pass the calculation commit through version-search strategies and recursive mainline traversal. Reuse the existing seven-character short-SHA operation. Named regex captures retain precedence, including empty captures, and existing formatting, fallbacks, sanitization, and missing-placeholder errors remain unchanged.
Update the configuration reference and generated v7 schema. The same templates work through explicit v6 compatibility mode and configuration migration.
Related Issue
Resolves #3035
Motivation and Context
Allow commit hashes in calculated prerelease labels while preserving existing regex-based configurations. The new built-ins are limited to
ShaandShortSha; prerelease numbering continues to follow the selected deployment mode.How Has This Been Tested?
Local validation on macOS with .NET 10:
Checklist