sky-uk / csp-tech-radar

The Sky Plc Content Supply Platforms department technology radar.
Creative Commons Attribution Share Alike 4.0 International
6 stars 4 forks source link

Add Semantic Versioning to Adopt in Techniques #6

Closed pburls closed 6 years ago

pburls commented 6 years ago

Correctly versioning software that makes sense to everyone using it isn't easy. Using a mature versioning scheme like Semantic Versioning helps you version your software service APIs in a way that allows consumers of your service to easily understand the severity of the changes in the new version.

oliverlockwood commented 6 years ago

@pburls something that may or may not be relevant right here, but which I'd suggest you should give consideration to: in Discovery, as per a section of our CI/CD policy

it MUST be possible to map directly from the version info that an app exposes at runtime, to the VCS.

When using semantic versioning, the most logical way we have found to achieve this without having additional version-bumping commits (which are an anti-pattern!) is to use Git tags to mark each release as it happens.

pburls commented 6 years ago

@oliverlockwood makes sense. I think I might extend the radar item's blurb to include that "a corresponding git tag should be applied to the commit in the VCS that the artifact was built from". Does that make sense?

pburls commented 6 years ago

@lesterpais I agree with some of the points made. It all seems like the normal pain that is felt from any type of versioning scheme. If you pretend like SemVer is going to save you from ever having to deal with a breaking change — you're going to be disappointed.

What I think is important is having a common scheme that is well know by not just us but our API consumers too and move away from subjective version.