-
Type: Story
-
Status: To Do (View Workflow)
-
Priority: Medium
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: ci-system
-
Labels:None
-
Story Points:0
Writeup a proposal for normalizing and establishing conventions for resource naming.
We have inconsistencies across most revision control and artifact servers.
Tagnames:
- golang repository tags are prefixed with vee (v.1.2.3):
- Tag name is used verbatim when referencing packages.
- non-golang repos omit vee (1.2.3)
Docker:
- Some artifacts labels contain prefix voltha-*.
- Others do not.
- Some artifacts have label for release tag name (1.2.3)
- Others do not
Branches & Tags
- To avoid creating versioning problems at release time some repos:
-
- Branch then tag (voltha-2.12, 1.2.3)
- Tag then branch (1.2.3, voltha-2.12)
- This may contribute to some of the naming inconsistency above.
- Tags also have an added problem that VERSION file string can conflict/overwrite established tagging within a repository.
One option may be to introduce new prefixes for tagging:
- Both would contain more than a simple version string:
- release branch name
- release tag name
- others (- ? -)
Then for each repository and resource:
- gerrit / github branches, tags, releases.
- docker artifacts
- pypi artifacts
- etc
Iterate and consistently tag & label artifacts.
For release iterate and create at a minimum release-{branch,tag}-name.
- Plenty of scripting changes will need to support this.
- Individual repositories and releases have evolved over time.
- Iterate over each individually:
- determine which JJB scripts are involved
- determine output and inconsistencies
- Update scripts and refactor to produce good answers.
- Create unit tests to lock down the behavior.