-
Notifications
You must be signed in to change notification settings - Fork 248
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
Better use of the docker cache #219
Conversation
Removed an annoying warning
Still needed to compile the rle module in the compile image which required some tests and wizardry.
Maintaining the |
Shouldn't we still lock to minor version since patch versions are usually bug/security fixes? |
I don't understand. Since it's not really important to the change we can discuss it on keybase. |
I'm sorry when I said this I thought you were talking about the change to |
So the way I feel about the requirements.txt files is as follows: We won't change our install documentation. Meaning people will still install using I'm on the fence on this but I think having exact versions defined would be slightly better. What do you think? |
I'm okay with exact version numbers. I just find it a bit odd that setup.py doesn't have version restrictions. Take this scenario for example: I want to implement a feature for PyRDP. This features requires to use a feature in a dependency. Said feature is new in the latest version. If I implement said feature, it will work on my machine, and CI will pass. However, the docker build will be broken, because it has an old version of the dependency. This would mean that the developper of the feature would need to make sure to test separately on Docker everytime a new feature using a dependency is introduced, which seems like an unnecessary overhead. Before the requirements.txt file, this would have been less of a problem, because both the source and dockerfile would use the latest versions of the dependencies, but now they will act differently. I think if we're going to lock requirements.txt, we should lock setup.py too (at least to minor versions). Does it make sense? |
I'm not against it. But it's a time-consuming thing to do if we want to do it right. Let's go through the list. I can do a "best effort" quick first pass and see what it looks like. |
This is worth reading: https://packaging.python.org/discussions/install-requires-vs-requirements/ Under
Under "Requirements file":
|
Aimed to be able to run from distro-packaged alternatives back to 2018 (Debian, Ubuntu 18.04 LTS). Not tested so I might be off but we will adjust if we get bug reports. Twisted and service-identity run on CalVer and have multi-year deprecation policies. I think it's better not to bound them too much.
Looks good. PyOpenSSL also uses Calendar Versionning (https://calver.org/#twisted)
|
Just adjusted PyOpenSSL as well. |
docker: Code is added in the runtime image now to avoid costly rebuilds
Still needed to compile the
rle
module in the compile image which required some tests and wizardry.slim image change coming soon but I wanted to see it in GitHub actions first. 👀
Fixes #217