-
Notifications
You must be signed in to change notification settings - Fork 41
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 mac reqs and update pillow #1268
Conversation
Using I'm all for If there's consensus, we should probably make the same change in |
I also agree wtih @rmol here, we use the pinned lock files so that we can choose to upgrade the dependencies selectively. I would prefer to keep that same way so that we can manage the dependencies better. |
There is consensus here, as discussed in standup today, to do something similar to freedomofpress/securedrop-proxy#88 where we use the latest security and code linters and no longer unnecessarily specify out-of-date dev-only versions in the |
@rmol see how please let me know if there is something you see wrong with how this is done in the proxy UpdateI think I found the problem in the proxy repo, so I opened an issue there (this is a bug): freedomofpress/securedrop-proxy#153 |
7e36a34
to
0c9bd66
Compare
Note: freedomofpress/securedrop-builder#248 allows us to support multi-line pip-tools comments |
I may be changing my mind about using the blanket It looks like this PR is currently still upgrading more than Pillow, including prod requirements like
While keeping the Mac requirement removal, of course. |
@rmol if you're around today, let's talk plz. I've been using Lines 123 to 126 in 8e6ece0
--upgrade anywhere, so not sure if i'm missing something. make update-pip-requirements does update both dev and prod dependencies (it also runs pip-compile --verbose --rebuild --generate-hashes --annotate --output-file "requirements/requirements.txt" "requirements/requirements.in" ). if you're suggesting that we no longer use make update-pip-requirements then let's talk about this. also let's discuss freedomofpress/securedrop-proxy#153 if you and others are up for that and some documentation around how we plan to simplify our dev dependency story?
|
I definitely could learn a lot from both you and kushal so would love to have another team discussion! |
Signed-off-by: Allie Crevier <allie@freedom.press>
7ee4242
to
0296e56
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. Just had one clarifying nit in the README change.
README.md
Outdated
## Updating dependencies | ||
|
||
We have several dependency files: `dev-requirements.txt` (Linux), `dev-mac-requirements.txt` (macOS) and `requirements.txt` point to python software foundation hashes, and `build-requirements.txt` points to our builds of the wheels from our own pip mirror (https://pypi.securedrop.org/). Whenever a dependency in `build-requirements.txt` changes, our team needs to manually review the code in the dependency diff with a focus on spotting vulnerabilities. | ||
We have several dependency files: `dev-requirements.txt` (Linux) and `requirements.txt` point to python software foundation hashes, and `build-requirements.txt` points to our builds of the wheels from our own pip mirror (https://pypi.securedrop.org/). Whenever a dependency in `build-requirements.txt` changes, our team needs to manually review the code in the dependency diff with a focus on spotting vulnerabilities. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The (Linux)
after dev-requirements.txt
can be removed now.
Signed-off-by: Allie Crevier <allie@freedom.press>
…-mac-pip-requirements" In #1335 we restored a "dev-mac-requirements.txt" for development on macOS. We did not, however, restore the "update-mac-pip-requirements" Make target removed in #1268, meaning that: 1. these dependencies could not be updated automatically; but 2. running "make update-dev-only-dependencies" on a Mac would pollute "dev-requirements.txt" with macOS-specific dependencies. Here we: 1. factor out "dev-mac-requirements.in" from with the macOS-specific dependencies conditionally specified in "dev-requirements.in"; and 2. restore an "update-dev-only-dependencies" Make target that can updates these based on the current "dev-requirements.txt".
…-mac-pip-requirements" In #1335 we restored a "dev-mac-requirements.txt" for development on macOS. We did not, however, restore the "update-mac-pip-requirements" Make target removed in #1268, meaning that: 1. these dependencies could not be updated automatically; but 2. running "make update-dev-only-dependencies" on a Mac would pollute "dev-requirements.txt" with macOS-specific dependencies. Here we: 1. factor out "dev-mac-requirements.in" from with the macOS-specific dependencies conditionally specified in "dev-requirements.in"; and 2. restore an "update-dev-only-dependencies" Make target that can updates these based on the current "dev-requirements.txt".
…-mac-pip-requirements" In #1335 we restored a "dev-mac-requirements.txt" for development on macOS. We did not, however, restore the "update-mac-pip-requirements" Make target removed in #1268, meaning that: 1. these dependencies could not be updated automatically; but 2. running "make update-dev-only-dependencies" on a Mac would pollute "dev-requirements.txt" with macOS-specific dependencies. Here we: 1. factor out "dev-mac-requirements.in" from with the macOS-specific dependencies conditionally specified in "dev-requirements.in"; and 2. restore an "update-dev-only-dependencies" Make target that updates these based on the current "dev-requirements.txt".
…-mac-pip-requirements" In #1335 we restored a "dev-mac-requirements.txt" for development on macOS. We did not, however, restore the "update-mac-pip-requirements" Make target removed in #1268, meaning that: 1. these dependencies could not be updated automatically; but 2. running "make update-dev-only-dependencies" on a Mac would pollute "dev-requirements.txt" with macOS-specific dependencies. Here we: 1. factor out "dev-mac-requirements.in" with the macOS-specific dependencies conditionally specified in "dev-requirements.in"; and 2. restore an "update-mac-pip-requirements" Make target that updates these based on the current "dev-requirements.txt".
Description
Follow up PR will address the same issue addressed here: freedomofpress/securedrop-proxy#88:
.in
file, do not require a specific version unless there's reason to use a specific version. Doing so will help alleviate tedium when updating dependencies in the future. If you need to specify a version, lean towards using>=
.make update-pip-requirements
will now usepip-complie --upgrade
for dev dependenciesTest Plan
Checklist
If these changes modify code paths involving cryptography, the opening of files in VMs or network (via the RPC service) traffic, Qubes testing in the staging environment is required. For fine tuning of the graphical user interface, testing in any environment in Qubes is required. Please check as applicable:
If these changes add or remove files other than client code, the AppArmor profile may need to be updated. Please check as applicable:
If these changes modify the database schema, you should include a database migration. Please check as applicable:
main
and confirmed that the migration applies cleanlymain
and would like the reviewer to do so