Skip to content
This repository has been archived by the owner on Aug 7, 2023. It is now read-only.

Packages needing specs #11

Closed
42 of 53 tasks
Arcanemagus opened this issue Jan 14, 2016 · 11 comments
Closed
42 of 53 tasks

Packages needing specs #11

Arcanemagus opened this issue Jan 14, 2016 · 11 comments

Comments

@Arcanemagus
Copy link
Member

Arcanemagus commented Jan 14, 2016

Every package should have specs written for it to verify it is working properly, and that things don't break with dependency updates, not to mention the fact that this will cut down the greenkeeper PR's by far as it will know whether a dependency actually needs work when it updates, instead of having to submit a PR for every update 😉

For an extremely basic "we know it's somewhat working" example of specs, check out linter-erb, for a more complete example that checks far more of the actual functionality of the linter, try checking out linter-eslint.

If you have any questions or want some help speak up and we'll do what we can to help out!

Linter plugins needing specs:

Package has since been deleted, archived, implemented elsewhere, or deprecated in some other way:

@AsaAyers
Copy link
Member

Why do you think every dependency needs to be updated on every package as soon as an update is available? There's a common phrase "If it aint broke, don't fix it".

Security updates are very important, but do those even apply to any of the packages you're talking about? So I guess you might like to get bug fixes, but do you really care about fixes for bugs your users aren't encountering? Feature updates don't matter unless you're writing new code to take advantage of the feature. I just can't find a solid reason why these kinds of packages have to have updates as soon as they become available.

@AsaAyers
Copy link
Member

The reason you're talking about needing specs is that you recognize that the updates introduce risk, but I just can't find any reward that balances it.

@steelbrain
Copy link
Contributor

If it aint broke, don't fix it

@AsaAyers That is exactly what we intend to do. If we add specs in every package, greenkeeper would know which packages broke with specs and only PR to them and ignore the other ones that have passing specs on the newly released version.

@AsaAyers
Copy link
Member

Maybe I just don't get what greenkeeper does. Does it just check the range of what your package says it works with to verify it really works in that range?

@steelbrain
Copy link
Contributor

@AsaAyers Yep! It checks if the package is in range, if specs pass with the new version. It stays silent, but if it releases a version that is not covered by your semver or breaks your specs, it does a PR

@AsaAyers
Copy link
Member

👍 ok, sounds good to me. Users will be getting the updates either way, greenkeeper is just making sure it doesn't break. I like the sound of that.

@Arcanemagus
Copy link
Member Author

Yep, that's the whole idea behind greenkeeper 😉

It only speaks up when something is broken (bad dependency update within your allowed range), something is new (version out of your range), or it has no idea what is going on (no specs).

@lucasdf
Copy link
Member

lucasdf commented Aug 9, 2017

I have reviewed the list and the following entries can be updated:

Specs implemented

These packages have specs now so they can be marked as completed:

No CI configured

These packages have specs but there is no CI configured:

Not on the list and no tests

These packages are not in the list but they exist and do not have specs:

Deleted packages

These packages have been deleted, so they should be removed from the list:

@Arcanemagus
Copy link
Member Author

Thanks @lucasdf for that! I've updated the list, although I left linter-lsc and linter-pycodestyle unchecked for now as they don't have active CI checking that it is actually working.

@Arcanemagus
Copy link
Member Author

Added a project to track the remaining packages:
https://github.com/orgs/AtomLinter/projects/5

@Arcanemagus
Copy link
Member Author

I'm going to close this issue as it was only meant as a status tracker, which is handled much better in the organization project.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants