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

Pin major version of all dependencies #89

Merged
merged 3 commits into from Jul 8, 2020

Conversation

pkolbus
Copy link
Contributor

@pkolbus pkolbus commented Jul 4, 2020

Under Semantic Versioning (common for Python packages), breaking API changes can occur in a major version update. This has happened with isort 5 and could happen with any other package that flake8-isort uses.

This PR is a workaround for issue #88 to unbreak flake8-isort users.

.travis.yml Outdated Show resolved Hide resolved
@gforcada
Copy link
Owner

gforcada commented Jul 6, 2020

Thanks for the issue and PR and even the comments to make things even better!

I'm using pip-tools both at work and for other personal projects, so I would be happy to move towards that direction here as well.

I will try to take some time within this week to move towards a pip-tools solution and get a release, if someone updates this PR or creates a new one, please be my guests, family time (with two kids) and work don't give much free time 😅

@gforcada
Copy link
Owner

gforcada commented Jul 6, 2020

Oh, but thanks @pkolbus for taking a stab at fixing it! 🙇 let's make it even better with what others have also commented! 👍

Under Semantic Versioning (common for Python packages), breaking API
changes can occur in a major version update. This has happened with
isort 5 and could happen with any other package that flake8-isort uses.
@pkolbus
Copy link
Contributor Author

pkolbus commented Jul 6, 2020

@gforcada, thanks for your perspective.

The most urgent part of this PR is the setup.py part, so I'll take out the .travis.yml to help get a new release done quickly and remove the need for users to apply a workaround.

I'm happy to help out with the pip-tools approach, but a bit skittish about making a more complex change when Travis CI isn't getting far enough to actually exercise it -- so I think getting Travis passing again comes next. I'll see about getting PRs for both.

@pkolbus pkolbus force-pushed the issue-88-pin-dependencies branch from 5da7513 to b1f831c Compare July 6, 2020 22:19
setup.py Show resolved Hide resolved
@pkolbus pkolbus mentioned this pull request Jul 6, 2020
Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
setup.py Outdated Show resolved Hide resolved
@gforcada
Copy link
Owner

gforcada commented Jul 8, 2020

And 3.0.1 is released! 🎉

@gforcada
Copy link
Owner

gforcada commented Jul 8, 2020

Thanks for everyone that help pushing the fix! 🙇

pkolbus added a commit to pkolbus/flake8-isort that referenced this pull request Jul 12, 2020
In .travis.yml, the versions of coveralls and pytest-cov were
unconstrained, creating a risk of failure in Travis CI builds if an
incompatible version of pytest-cov or coveralls is released.

As suggested in gforcada#89, use pip-tools to address this risk. The
dependencies for coverage testing are in requirements-cov.in. The
frozen set of packages is in requirements-cov.txt, compiled for
python 2.7.

This is only for coverage testing, since pip-tools doesn't handle
relative paths and a minimal environment can help detect undeclared
dependencies.
@pkolbus pkolbus deleted the issue-88-pin-dependencies branch July 12, 2020 15:20
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.

None yet

3 participants