Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Annotated tag driven versioning of testflinger CLI builds onto stable channel #154

Open
mz2 opened this issue Oct 28, 2023 · 0 comments
Open

Comments

@mz2
Copy link
Collaborator

mz2 commented Oct 28, 2023

The build pipeline introduced in #151 makes testflinger CLI builds available on edge channel on main branch commits.

To follow this up with some further maturing of the build practices of the project, it would be helpful to make stable versions of testflinger available, with predictable version strings in use, specifically by following semantic versioning practices. For instance:

  • A major version change used to communicate breaking changes, with the expectation that the CLI tool used against a testflinger server should match with the version string.
  • A major version would correspond to a channel for the snap (and for the charms).
  • Minor versions would communicate new features, API endpoints etc non-breaking changes.
  • Patch versions would be used for bug fixes.

Version incrementing could be implemented a number of ways, including setuptools-scm as used in canonical/checkbox (hopefully a lot simpler than in checkbox where about 99% of the complexity is for the complex build matrix and essentially templating of the snapcraft.yml) or poetry-dynamic-versioning if you wanted to be more hipster about it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant