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

Breaking API change detector during NuGet publishing (OSOE-597) #220

Closed
Piedone opened this issue Mar 26, 2023 · 2 comments · Fixed by #264
Closed

Breaking API change detector during NuGet publishing (OSOE-597) #220

Piedone opened this issue Mar 26, 2023 · 2 comments · Fixed by #264
Assignees
Labels
enhancement New feature or request

Comments

@Piedone
Copy link
Member

Piedone commented Mar 26, 2023

In the publish-nuget action, let's add a feature to detect breaking changes compared to the previous released version, and fail the build if the version number doesn't reflect the breaking change.

  • The package validator feature can be used for this.
  • Following Semantic Versioning, only major version increases (e.g. v2.0.0 after v1.2.3) may contain breaking changes. The build should thus fail if the version increase is minor or patch, but a breaking change is detected.
  • The baseline version to compare against should be the previous latest released (i.e. not alpha/beta or other prerelease) version of the same lineage. E.g. if v1.2.3 is released it should be compared against v1.2.2 (or any v1.2.x that exists, or if no such exists then v1.x.x), v1.3.0 should be compared against the previous v1.x.x.
  • If the major version changes, then no validation should be done since breaking changes are allowed.
  • Prerelease versions shouldn't be checked.

Jira issue

@Piedone Piedone added the enhancement New feature or request label Mar 26, 2023
@github-actions github-actions bot changed the title Breaking API change detector during NuGet publishing Breaking API change detector during NuGet publishing (OSOE-597) Mar 26, 2023
@0liver
Copy link
Contributor

0liver commented Mar 27, 2023

If we're going to set all this up, it might make sense to inform us developers of breaking changes already during development.

So, let's also check pre-release versions and add a warning to inform about the necessity to use a new major version for the release. Much like the spell checker generates a panel with information about its execution.

@Piedone
Copy link
Member Author

Piedone commented Mar 27, 2023

I worked on this already and didn't do this deliberately: #45 (comment)

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

Successfully merging a pull request may close this issue.

3 participants