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

WIP: Improve versioning #369

Merged
merged 30 commits into from
Oct 25, 2018
Merged

WIP: Improve versioning #369

merged 30 commits into from
Oct 25, 2018

Conversation

fgreinacher
Copy link
Contributor

@fgreinacher fgreinacher commented Oct 14, 2018

The goal of this PR us to decouple versioning from the CI system.

It uses Nerdbank.GitVersioning to automatically generate a version number by combining a base version set in a config file with the number if commits since the last change to the base version file.

That makes version numbers predictable and reproducible.

I’ll also provide a document that describes how a release would work if we decide to follow this path.

Happy to get feedback on this!

@fgreinacher fgreinacher changed the title WIP: GitInfo WIP: Improve versioning Oct 17, 2018
@fgreinacher
Copy link
Contributor Author

Microsoft published some new guidance on library versioning at https://docs.microsoft.com/en-us/dotnet/standard/library-guidance/versioning. This confirms what @ericnewton76 proposed in #343:

✔️ CONSIDER only including a major version in the AssemblyVersion.

So I'll gladly change my opinion here and adapt the config so that AssemblyVersion is MAJOR.0.0.0.

@fgreinacher
Copy link
Contributor Author

fgreinacher commented Oct 18, 2018

@jpreese @rkoeninger @ericnewton76 I'd consider this ready for review now.

(Sorry for the super-messy history, I'll clean it up before merging 🤣 )

@ericnewton76
Copy link
Contributor

ericnewton76 commented Oct 24, 2018

Looks great. This will go a long ways towards better package handling and less issues with inclusion of additional libraries that might base themselves on System.IO.Abstractions and inclusion into your application product that uses System.IO.Abstractions.

I was always hoping Microsoft would officially make the interfaces part of the BCL but maybe sometime in the future... The Net Foundation did adopt NUnit, so maybe SIOA will get some attention at some point.

@rkoeninger
Copy link
Contributor

LGTM

@fgreinacher fgreinacher merged commit f05c7fd into TestableIO:master Oct 25, 2018
@fgreinacher
Copy link
Contributor Author

OK, here we go - let's see how this goes :)

@fgreinacher fgreinacher deleted the gitinfo branch October 25, 2018 17:03
fgreinacher added a commit that referenced this pull request Nov 27, 2018
With the new versioning strategy introduced in #369 our `AssemblyVersion` consists of only the 
major version. With the current base version of 2.2 this will be produce 2.0.0.0. This number is 
less than the currently released 2.1.0.256 which will pretty sure cause downstream problems.

This change bumps the base version to 3.0 so that we get 3.0.0.0.
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

Successfully merging this pull request may close these issues.

3 participants