Replies: 1 comment 4 replies
-
The semver spec already covers this, I think. The proposed format with the dash makes it look like a prerelease version from a semver perspective, which I think is potentially confusing. I would say that the underlying broker version would more correctly be listed as build metadata (since it's information about what is built, and not a pre-release indicator). For this reason, I think Unfortunately, docker tags don't support
to make it clearer that it's not a prerelease (or a standard semver tag, generally). |
Beta Was this translation helpful? Give feedback.
-
Currently the version number strategy uses the M.m.p from the pact_broker gem, and adds an extra number to the end to signify the release. eg. 2.106.1.1 is for gem version 2.106.1 and release 1 (releases start at 0). The release number is bumped when the pact_broker gem hasn't changed, but something related to the Docker image packaging has (eg. ruby version bump, alpine version bump, other gem dependency bump, changing or fixing something to do with the application setup etc)
When the base docker image (alpine) is upgraded, there may be breaking changes introduced (eg. at a certain alpine version, support for Docker < 20 was dropped).
The current versioning scheme does not allow us to indicate the presence of breaking changes to the underlying Docker image without the pact_broker gem itself (which as no knowledge of the Docker project) incrementing a major version.
The current tagging system does have the advantage, however, of allowing easy identification of the pact_broker version from the tag - it would be good to maintain that.
Proposal - start a new versioning scheme using that allows breaking changes to be conveyed for either the pact_broker gem OR some aspect of the underlying Docker image, while also including the pact_broker gem version.
Proposed format:
M.m-pactbroker<pact_broker_gem_version>
The
M.m
would be incremented if there were changes to either the packaging or the gem, as appropriate.The current major version is 2, so to allow the numbers to keep incrementing, I suggest we start with
3.0-pactbroker2.106.0
(or whatever gem version we're at at the time of the change).Beta Was this translation helpful? Give feedback.
All reactions