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

Switch tox to using package dependencies #140

Merged
merged 7 commits into from
Dec 24, 2022
Merged

Conversation

digitaldogsbody
Copy link
Member

@digitaldogsbody digitaldogsbody commented Dec 11, 2022

Allowing tox to build the sdist means it deals with installing the dependencies in each environment. Combined this with manually specifying that the dev extras should be installed in the linter environment.

This should mean we no longer need to keep tox.ini up to date when our requirements change and so removes both workload/remembering and potential issues caused by differing versions when developing and testing (such as the Pydantic deep_copy issue) 🎉

Closes #98

@digitaldogsbody
Copy link
Member Author

Ugh. And of course it runs fine locally and falls over on Github :(

Back to the drawing board...

@digitaldogsbody
Copy link
Member Author

The problem was that Github Actions recently switched to Ubuntu 22.04 (actions/runner-images#6399), which has a newer version of libffi - this shouldn't normally be an issue as Python would get rebuilt when that library was updated, but our Python toolchain was cached in the action, meaning the Python it was using was compiled against the older version and hence throwing an error.

Changing the cache key by appending -u22 on the end was enough to force the rebuild / fix the problem.

@digitaldogsbody digitaldogsbody merged commit de3e556 into main Dec 24, 2022
@digitaldogsbody digitaldogsbody deleted the 98-tox-setup branch December 24, 2022 17:31
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.

Make tox use the requirements from setup.py
2 participants