fix: support nested/chained annotated tags (e.g., gradle/actions@v4) #5986
+158
−5
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
When using actions with nested annotated tags (where a tag points to
another tag instead of a commit), act fails with:
Unable to resolve v4: unsupported object type
This affects actions like:
gradle/actions@v4borales/actions-yarn@v4pr-mpt/actions-commit-hash@v2These use a chained tag structure:
vX(tag) →vX.x.x(tag) → commitSolution
Add recursive tag resolution to handle nested annotated tags:
resolveTagToCommit(): Recursively dereferences tag chains until reaching a commitresolveRefToCommit(): Wrapper that tries standard resolution first, falls back to nested tag handlingTesting
gradle/actions@v4Fixes #5862
Fixes #1600
Related: #1545