From f9b10f9eda1b636b29cbba6add34cd9e6f7463d8 Mon Sep 17 00:00:00 2001 From: Jakub Stasiak Date: Thu, 27 Jul 2023 02:34:21 +0200 Subject: [PATCH] Pin dev dependency versions (#225) This will let us avoid mistakes with some of our dependencies transparently updating and breaking our CI. --- .github/workflows/ci.yml | 2 +- MANIFEST.in | 1 + requirements-dev.in | 14 ++++++++++++++ requirements-dev.txt | 23 ++++++++++++++++++----- 4 files changed, 34 insertions(+), 6 deletions(-) create mode 100644 requirements-dev.in diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index aa60e78..57df427 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | - pip install --upgrade -r requirements.txt -r requirements-dev.txt + pip install --upgrade -r requirements-dev.txt pip install . - name: Run tests run: | diff --git a/MANIFEST.in b/MANIFEST.in index e58eddb..78c6184 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,5 +1,6 @@ include *.py include *.toml +include requirements-dev.in include *.txt include CHANGES include COPYING diff --git a/requirements-dev.in b/requirements-dev.in new file mode 100644 index 0000000..dbe389d --- /dev/null +++ b/requirements-dev.in @@ -0,0 +1,14 @@ +# Our direct dependencies used in development/CI. +# +# We generate requirements-dev.txt from this file by running +# +# pip install -r requirements-dev.in && pip freeze > requirements-dev.txt +# +# and then modifying the file manually to restrict black and mypy to CPython + +pytest +pytest-cov>=2.5.1 +mypy;implementation_name=="cpython" +black;implementation_name=="cpython" +check-manifest +typing_extensions>=3.7.4;python_version<"3.9" diff --git a/requirements-dev.txt b/requirements-dev.txt index f6ac27d..7e6b598 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,5 +1,18 @@ -pytest -pytest-cov>=2.5.1 -mypy;implementation_name=="cpython" -black;implementation_name=="cpython" -check-manifest +black==23.3.0;implementation_name=="cpython" +build==0.10.0 +check-manifest==0.49 +click==8.1.3 +coverage==7.2.7 +exceptiongroup==1.1.1 +iniconfig==2.0.0 +mypy==1.4.1;implementation_name=="cpython" +mypy-extensions==1.0.0 +packaging==23.1 +pathspec==0.11.1 +platformdirs==3.8.0 +pluggy==1.2.0 +pyproject_hooks==1.0.0 +pytest==7.4.0 +pytest-cov==4.1.0 +tomli==2.0.1 +typing_extensions==4.7.0