-
Notifications
You must be signed in to change notification settings - Fork 748
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
Versioning of the specification for tool makers #104
Comments
Any update for this? |
Discussion updateWe discussed this again yesterday at the specification meeting, see the full notes here. The spirit of the Compose specification is for tools to offer support based on features rather than specific versions of the specification. As such, we've made the commitment to not remove fields over time. This means that we don't need a rigid versioning system like semver. I proposed that we publish the specification periodically with a tag that is a date (e.g.: 2021-04-09). The intention is that this version is never exposed to users but allows tool builders to pin to the specification at some point in time. Libraries like compose-go can then pin to the dated specification and use semver or a versioning scheme that works for them. Versioning proposalI think it best to keep this process relatively light. When someone would like to create a release, they should create a PR stating modifying the CHANGELOG.md to add a release with the date of the PR's creation (of the form yyyy-mm-dd), the changes since the last release, and the digest of the commit that the release will be from. The maintainers can then LGTM the PR if they are happy with it. Once a majority of maintainers have LGTM'd the PR, it can be merged and a tag on the specified commit pushed. The tag can trigger the publishing of the schema (and other specification documentation) to the release page of this repo. @AkihiroSuda @thaJeztah WDYT? |
SGTM, thanks |
This was approved in the maintainer meeting last night. I'll write up the process early next week and put up the first PR :) |
What is the problem you're trying to solve
While we have removed the user facing version field from the Compose specification, tool makers need some kind of specification versioning so that they can implement their tool against a stable target.
@thaJeztah raised this from the Docker CLI point of view 🤗
Describe the solution you'd like
We need to be clear that this is not the same as the old versions of Compose and will not be exposed to the user. It is just something that gives fixed points that tool builders can target. As discussed in the community meeting, this could even be tags based on a date rather than something like semver.
The text was updated successfully, but these errors were encountered: