-
Notifications
You must be signed in to change notification settings - Fork 37
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
Remove tox #488
Comments
We also use tox for some other tasks, such as building the docs, since similarly to a makefile, tox allows subcommands to do different things. We can solve this by moving to something like The issue with being able to run tests for multiple versions locally is indeed a bit more annoying to solve, however as @PerchunPak mentioned, it's not all that necessary. That said, there is actually a way to handle local testing too, here's how:
Sure, this is much more annoying than tox, but the fact that it's still doable at all is nice, and considering there's usually no need to actually do this, it might be sufficient. (See more about this in poetry docs)
How is tox used in the release proecss? All I see is |
I think it's expected behavior and the reason, why poetry by default do not create venvs in project folder.
Yes, I meant exactly this part. It can be easily replaced by CI in automatic release system.
Just, I asked before in Discord "why do we still need tox?" and the answer was "for testing releases". |
Automatically creating releases from the pipeline would alleviate the need for a local release.sh script. |
If we googled "why to use tox", there will be a list of reasons. But those are useless in present days, mostly because of CI and poetry existence.
This is what poetry already does! It installs own venv for every project and ensures that all requirements (like python version or packages versions) were met.
Tox complicates setup system. Instead of just having
poetry install && pytest
, we need to use a bunch of workarounds and tools. Liketox-poetry
, poetry inside our dependencies (see this discussion) etc.This had lost its actuality when Python 2 was deprecated. Python is too backwards compatible, so there is no need to run tests on dev machine. Instead, CI exists, which pretty rarely fails by this reason.
There also were ~10 more reasons, why to use tox, but the answer on all of those was just "use CI/poetry, it covers such case much better".
Although, tox is still used in releasing process, to ensure that exact release works. We can just replace it with automatic releases, as it's done in mcproto.
The text was updated successfully, but these errors were encountered: