posit-dev / posit-dev/images-shared
Add metadata/patch stripping to matrix version tag renderings
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2
- Forks
- 0
- Avg merge
- 4d 13h
- Merged PRs (30d)
- 22
Description
I think we should specify the example without the build number.
version: "2026.05.1"
Originally posted by @bschwedler in https://github.com/posit-dev/images-workbench/pull/94#discussion_r3226900436
Regular image versions can use the {{ Version |stripMetadata }} template pattern to create a tag with the version metadata stripped off. Since matrix versions typically have compound version names (ex. R4.6.0-python3.13.13), we cannot apply the same template pattern to them and expect a clean result.
To implement this functionality, we would need to alter at least one of:
- How dependency names are passed into the compounded version name
- Use regex to trim patches/metadata off of versions in a compounded string
- Fundamentally change tag pattern structure for matrix versions so we could use a pattern like
{{ '-' | join(component_versions | stripMetadata) }}
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the matrix version tag rendering and how dependency names are passed into compound version names. Compare the existing stripMetadata template behavior for regular image versions with matrix versions, then evaluate the three approaches listed in the issue. Done means matrix tags strip patches or metadata cleanly while preserving the intended component versions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100