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
Document how to upgrade pip requirements files #1155
Conversation
@vitorbaptista Do you know if the above wiki page is still valid? If yes, can we get it moved into the Sphinx docs? |
@seanh It's not :/ Just tested it and it failed first because CKAN wasn't installed on my virtualenv (added a If we do install the dev-requirements.txt, everything will be fine, but then
I don't think we should do 1, as there're dependencies that really don't belong in production servers. As for 2, we might (probably?) have problems with sub-dependencies. It's easy to keep pep8 on dev-requirements when it's updated, but how can I know that a new package was installed/removed because pep8's dependencies changed? As we have no tool support, I think the best we can do is to go with 2, and hope that jazzband/pip-tools#10 gets solved soon enough, as they're fixing this exact problem (or solve it ourselves). @domoritz Thoughts? |
I guess, we should remove the "run the tests" step and say "test CKAN extensively" :-). |
I had an idea. You could install
Then recreate a new virtualenv, and do everything again with this changed Complex, but it was the best I could think of. Do you know a better option? |
This sounds exactly like what we would want to do, imho. We talked about this earlier and said we should to it early in a new release to make sure that everything works with the new requirements. It is cumbersome but probably the best we can do. |
Cool, I'll go ahead and write it down in the docs, then. Hopefully it won't take long until pip-tools stabilize and we're able to use it. |
@domoritz @seanh Done. I've also went ahead and upgraded the dependencies following these steps. I'll file a pull request as soon as the tests pass. Not sure if Whoever merges, please, delete this page https://github.com/okfn/ckan/wiki/How-to-Upgrade-Requirements (or create a link there to their new place) |
@amercader @domoritz @seanh Maybe it makes more sense to add it to the testing page? |
Hmm, I think this is fine in |
Cool, so it's ready to be merged 👍 |
Contributing does seem wrong though. Leave this assigned to me, and I may move it before merging. I'm off keyboard for at least another week though :( |
OK. I'm starting to feel some aching on my wrists as well. Already moved to |
Hey @vitorbaptista , this is excellent documentation. I've moved it into its own file. The way One minor thing:
Also maybe add a sentence under the Steps to upgrade title saying these steps will upgrade every dependency to the latest version that works with CKAN. It may be worth having a procedure for when you just want to upgrade one dependency too, but that can wait. |
@seanh Thanks! I've added an explanation that you're supposed to limit the dependency's version in Without tool support, there's no way to upgrade a single dependency, while guaranteeing that we remove any indirect dependency that's not needed anymore :/ |
@vitorbaptista Do you know what the process should be if I just want to add a new dependency, and not upgrade other ones? I guess I could add foo==1.0.0 to both |
@seanh We should never edit It's needed to guarantee that we get not only the direct dependency, but When following this process, we might have problems to avoid upgrading |
Copy https://github.com/okfn/ckan/wiki/How-to-Upgrade-Requirements to a new page in the docs.