From 17be266a00de7ebef1e5a9f01143d0aad552b487 Mon Sep 17 00:00:00 2001 From: J-E Castagnede Date: Thu, 26 Jan 2023 15:26:34 +0100 Subject: [PATCH] check dependency graph in CI --- .githooks/pre-commit | 2 +- .github/workflows/lint.yml | 21 ++++++++++++++++++++- requirements.txt | 1 + 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/.githooks/pre-commit b/.githooks/pre-commit index d02ed4cb11..950d51bd16 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -8,7 +8,7 @@ function dockercompose { echo "Check dependency graph and fix requirements" -dockercompose run -T --user root --rm web bash -c "pip-compile -q && pip-compile requirements-dev.in" +dockercompose run -T --rm web bash -c "pip-compile -q && pip-compile requirements-dev.in" diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 42066f44d8..150c692dcf 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -8,7 +8,7 @@ env: jobs: flake8: - name: Check code styling + name: Checking code & dependencies runs-on: ubuntu-18.04 steps: @@ -29,6 +29,25 @@ jobs: pip3 install --upgrade pip wheel setuptools pip3 install -r requirements-dev.txt -U + - name: Check dependency graph + run: | + pip-compile + pip-compile requirements-dev.in + + - name: Verify dependency graph is ok + uses: tj-actions/verify-changed-files@v13 + id: verify-changed-files + with: + files: | + requirements.txt + requirements-dev.txt + + - name: Validating graph + if: steps.verify-changed-files.outputs.files_changed == 'true' + run: | + echo "Dependency file(s) changed: ${{ steps.verify-changed-files.outputs.changed_files }}" + core.setFailed('Please add your new dependencies in setup.py and/or requirements-dev.in then run pip-compile to add them in requirements.') + - name: Flake8 run: | flake8 geotrek diff --git a/requirements.txt b/requirements.txt index 322fb0d7ea..d339fdcc98 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,6 +8,7 @@ amqp==5.1.1 # via kombu appy==1.0.11 # via django-appypod +django-geostore asgiref==3.4.1 # via django async-timeout==4.0.2