diff --git a/.circleci/config.yml b/.circleci/config.yml index 1bba7c98a..1d00acdbb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -17,7 +17,7 @@ common-steps: command: | virtualenv .venv source .venv/bin/activate - pip install --require-hashes -r test-requirements.txt + pip install --require-hashes -r requirements/test-requirements.txt make test - &install_packaging_dependencies @@ -69,7 +69,7 @@ jobs: command: | virtualenv .venv source .venv/bin/activate - pip install --require-hashes -r test-requirements.txt + pip install --require-hashes -r requirements/test-requirements.txt make lint - run: name: Check Python dependencies for CVEs diff --git a/MANIFEST.in b/MANIFEST.in index ad64433d6..4322c8cb2 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -2,8 +2,8 @@ include LICENSE include README.md include securedrop_export/VERSION include changelog.md -include build-requirements.txt -include requirements.txt +include requirements/build-requirements.txt +include requirements/requirements.txt include securedrop_export/*.py include setup.py include files/send-to-usb.desktop diff --git a/Makefile b/Makefile index 338e22a92..91be0943e 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ safety: ## Runs `safety check` to check python dependencies for vulnerabilities .PHONY: update-pip-requirements update-pip-requirements: ## Updates all Python requirements files via pip-compile. - pip-compile --generate-hashes --output-file test-requirements.txt test-requirements.in + pip-compile --generate-hashes --output-file requirements/test-requirements.txt requirements/test-requirements.in .PHONY: check check: lint semgrep test ## Run linter and tests diff --git a/build-requirements.txt b/requirements/build-requirements.txt similarity index 100% rename from build-requirements.txt rename to requirements/build-requirements.txt diff --git a/requirements.txt b/requirements/requirements.txt similarity index 100% rename from requirements.txt rename to requirements/requirements.txt diff --git a/test-requirements.in b/requirements/test-requirements.in similarity index 100% rename from test-requirements.in rename to requirements/test-requirements.in diff --git a/test-requirements.txt b/requirements/test-requirements.txt similarity index 95% rename from test-requirements.txt rename to requirements/test-requirements.txt index 9a1709c3a..86f75e2a7 100644 --- a/test-requirements.txt +++ b/requirements/test-requirements.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile # To update, run: # -# pip-compile --generate-hashes --output-file=test-requirements.txt test-requirements.in +# pip-compile --generate-hashes --output-file=requirements/test-requirements.txt requirements/test-requirements.in # attrs==20.3.0 \ --hash=sha256:31b2eced602aa8423c2aea9c76a724617ed67cf9513173fd3a4f03e3a929c7e6 \ @@ -84,7 +84,7 @@ coverage==5.5 \ flake8==3.9.1 \ --hash=sha256:1aa8990be1e689d96c745c5682b687ea49f2e05a443aff1f8251092b0014e378 \ --hash=sha256:3b9f848952dddccf635be78098ca75010f073bfe14d2c6bda867154bea728d2a - # via -r test-requirements.in + # via -r requirements/test-requirements.in idna==2.10 \ --hash=sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6 \ --hash=sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0 @@ -93,7 +93,7 @@ importlib-metadata==4.0.1 \ --hash=sha256:8c501196e49fb9df5df43833bdb1e4328f64847763ec8a50703148b73784d581 \ --hash=sha256:d7eb1dea6d6a6086f8be21784cc9e3bcfa55872b52309bc5fad53a8ea444465d # via - # -r test-requirements.in + # -r requirements/test-requirements.in # flake8 # jsonschema # pep517 @@ -120,7 +120,7 @@ packaging==20.9 \ pathlib2==2.3.5 \ --hash=sha256:0ec8205a157c80d7acc301c0b18fbd5d44fe655968f5d947b6ecef5290fc35db \ --hash=sha256:6cd9a47b597b37cc57de1c05e56fb1a1c9cc9fab04fe78c29acd090418529868 - # via -r test-requirements.in + # via -r requirements/test-requirements.in pep517==0.10.0 \ --hash=sha256:ac59f3f6b9726a49e15a649474539442cf76e0697e39df4869d25e68e880931b \ --hash=sha256:eba39d201ef937584ad3343df3581069085bacc95454c80188291d5b3ac7a249 @@ -128,7 +128,7 @@ pep517==0.10.0 \ pip-tools==6.1.0 \ --hash=sha256:197e3f8839095ccec3ad1ef410e0804c07d9f17dff1c340fb417ca2b63feacc9 \ --hash=sha256:400bf77e29cca48c31abc210042932bb52dcc138ef4ea4d52c5db429aa8ae6ee - # via -r test-requirements.in + # via -r requirements/test-requirements.in pluggy==0.13.1 \ --hash=sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0 \ --hash=sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d @@ -137,7 +137,7 @@ py==1.10.0 \ --hash=sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3 \ --hash=sha256:3b80836aa6d1feeaa108e046da6423ab8f6ceda6468545ae8d02d9d58d18818a # via - # -r test-requirements.in + # -r requirements/test-requirements.in # pytest pycodestyle==2.7.0 \ --hash=sha256:514f76d918fcc0b55c6680472f0a37970994e07bbb80725808c17089be302068 \ @@ -157,16 +157,16 @@ pyrsistent==0.17.3 \ pytest-cov==2.11.1 \ --hash=sha256:359952d9d39b9f822d9d29324483e7ba04a3a17dd7d05aa6beb7ea01e359e5f7 \ --hash=sha256:bdb9fdb0b85a7cc825269a4c56b48ccaa5c7e365054b6038772c32ddcdc969da - # via -r test-requirements.in + # via -r requirements/test-requirements.in pytest-mock==3.6.0 \ --hash=sha256:952139a535b5b48ac0bb2f90b5dd36b67c7e1ba92601f3a8012678c4bd7f0bcc \ --hash=sha256:f7c3d42d6287f4e45846c8231c31902b6fa2bea98735af413a43da4cf5b727f1 - # via -r test-requirements.in + # via -r requirements/test-requirements.in pytest==6.2.3 \ --hash=sha256:671238a46e4df0f3498d1c3270e5deb9b32d25134c99b7d75370a68cfbe9b634 \ --hash=sha256:6ad9c7bdf517a808242b998ac20063c41532a570d088d77eec1ee12b0b5574bc # via - # -r test-requirements.in + # -r requirements/test-requirements.in # pytest-cov # pytest-mock requests==2.25.1 \ @@ -214,7 +214,7 @@ semgrep==0.49.0 \ --hash=sha256:99b2bae87afc824a232063c91524fda2039699733f34ba28fc963f2b76228f1a \ --hash=sha256:cca38e34824bdf17aeae6e7a8fc3ce0ac441fec51b207783a469fff9994eb08b \ --hash=sha256:e49c84f452809af7895a09f06ce48bd86fdbb7b09482fef99f528da2afb71b46 - # via -r test-requirements.in + # via -r requirements/test-requirements.in six==1.15.0 \ --hash=sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259 \ --hash=sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced @@ -236,7 +236,7 @@ typing-extensions==3.7.4.3 \ --hash=sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c \ --hash=sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f # via - # -r test-requirements.in + # -r requirements/test-requirements.in # importlib-metadata urllib3==1.26.4 \ --hash=sha256:2f4da4594db7e1e110a944bb1b551fdf4e6c136ad42e4234131391e21eb5b0df \ @@ -246,7 +246,7 @@ zipp==3.4.1 \ --hash=sha256:3607921face881ba3e026887d8150cca609d517579abe052ac81fc5aeffdbd76 \ --hash=sha256:51cb66cc54621609dd593d1787f286ee42a5c0adbb4b29abea5a63edc3e03098 # via - # -r test-requirements.in + # -r requirements/test-requirements.in # importlib-metadata # pep517