Handle tags containing "@" character in buildSLSAProvenancePredicate
#1863
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.
When using some monorepo-related tools (like changesets), the produced tags have a special format that includes
@
character.For example, a
foo
package on a monorepo will produce Git tags looking likefoo@1.0.0
if using changesets.When used in combination with
actions/attest-build-provenance
, the action was not properly re-crafting the tag inbuildSLSAProvenancePredicate
because it was always splitting the workflow ref by@
and taking the second element.This result in this error on CI:
This PR slightly update the logic there, and rather take "everything located after the first '@'". This shouldn't introduce any breaking change, while giving support for custom tags.
I've added the corresponding test case, it passes, however I couldn't successfully run the full test suite (neither on
main
). Looking forward for CI outcome. For the test, I tried to minimize the diff and had to introduce a small helpermockIssuer
, let me know if it's fine for you.Thanks in advance for the review 🙏.