posit-dev / posit-dev/images-shared

Reevaluate how matrix versions are loaded

Open
#315 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

cvp:0 docker docker/tools priority/low python tdp:2 tech debt
Dominant language
Python
Stars
2
Forks
0
Avg merge
4d 13h
Merged PRs (30d)
22

Description

I accidentally created an incongruity in how development versions and matrix versions are loaded despite them both being "special" version types.

Development versions are loaded during the instantiation of the Bakery configuration and utilize the BakerySettings.dev_versions field to decide whether the versions should be loaded. They are appended directly into their parent Image.versions field when loaded.

Matrix versions are instead loaded during image target generation. This was originally an intentional design decision since any Image object was intended to only define one of versions or matrix and will generate an error if both are defined.

While things work as is, it would make more sense if both of these special version types followed identical workflows.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing how BakerySettings.dev_versions is applied during Bakery configuration instantiation, how Image.versions is populated, and where matrix versions are loaded during image target generation. Done means both special version types follow the same loading workflow while retaining the existing validation around versions and matrix.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.