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

Add SemVer compatibility badge #7554

Merged
merged 2 commits into from
Jun 21, 2018
Merged

Add SemVer compatibility badge #7554

merged 2 commits into from
Jun 21, 2018

Conversation

greysteil
Copy link
Contributor

First of all, thanks for webpack!

Would you be up for adding a badge that shows how SemVer compliant / bug free new releases are? I was looking through the data we gather at Dependabot and realised we could put one together, so threw together the below:

SemVer

If you click through then there's a description of how it's calculated - basically it takes all of the relevant updates Dependabot has done for projects that use webpack and checks what percentage of the time specs pass on the upgrade PR.

The score is slightly lower than 100% because some projects have flaky specs, but I'm working on filtering them out from the data, too :octocat:.

@jsf-clabot
Copy link

jsf-clabot commented Jun 18, 2018

CLA assistant check
All committers have signed the CLA.

@webpack-bot
Copy link
Contributor

For maintainers only:

  • This need to be documented (issue in webpack/webpack.js.org will be filed when merged)

@sokra sokra closed this Jun 19, 2018
@sokra sokra reopened this Jun 19, 2018
@webpack-bot
Copy link
Contributor

Thank you for your pull request! The most important CI builds succeeded, we’ll review the pull request soon.

@sokra
Copy link
Member

sokra commented Jun 20, 2018

@greysteil Could you also create a Stability badge which summarizes all patch or minor upgrades to the latest version?

Example: if 4.12.5 is the lastest version it would disable the success rate of all 4.x.x -> 4.12.5 updates. i. e. 4.0.0 -> 4.12.5 + 4.11.2 -> 4.12.5 + 4.12.4 -> 4.12.5. The success rate will be high if the lastest version didn't introduce bugs and is safely upgrade-able from 4.x.x. It will be low if the lastest version intruduced bugs.

I could image multiple badges showing the lastest version and the last minor version.

Bad Case:

After fix:

@greysteil
Copy link
Contributor Author

greysteil commented Jun 20, 2018

Oh, interesting. I really like that. Perhaps makes sense for me to change the badges to:

SemVer
SemVer

with the former being for all our SemVer data and the later being just SemVer compatible updates to a given version (with the option to pass latest and have it automatically convert to the latest version).

I think "stability" is a clearer description of what's being measured here than "compatibility", and using the badge to the latest version fixes the problem of bad releases staying in the score. Thanks for the suggestion!

I'll put something together now.

@greysteil
Copy link
Contributor Author

greysteil commented Jun 20, 2018

OK, I've renamed the badge everywhere (way clearer now) and added the option to pass a target version (which can be latest), in which can you get:

@webpack-bot
Copy link
Contributor

@sokra Thanks for your update.

I labeled the Pull Request so reviewers will review it again.

@montogeek Please review the new changes.

@sokra
Copy link
Member

sokra commented Jun 21, 2018

Great thanks I'll use this one.

Here are a few more suggestions:

  • On the details page (when clicking the badge) show a percentage per source-version.
  • Add a last-minor option for target-version to show the last minor version (in this case 4.11.2). When the lastest version is "broken" it could be useful to know if the last minor was fine. (Maybe last-patch and last-major too for consistency but I probably won't use that)

@sokra sokra merged commit 4de3ce0 into webpack:master Jun 21, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants