From 25ac290df45f4e139a70973f1013d2b5aa182ccc Mon Sep 17 00:00:00 2001 From: Alan Orth Date: Mon, 29 May 2023 22:58:01 +0300 Subject: [PATCH] .github: update Python actions We don't need to use `python setup.py install` anymore. We can use poetry directly in CI. See: https://github.com/actions/setup-python/blob/main/docs/advanced-usage.md --- .github/workflows/python-app.yml | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index c7ac2bf..9067597 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -16,36 +16,30 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up Python 3.11 - uses: actions/setup-python@v4 + - name: Install poetry + run: pipx install poetry + - uses: actions/setup-python@v4 with: python-version: '3.11' - cache: 'pip' - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install flake8 pytest - if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - if [ -f requirements-dev.txt ]; then pip install -r requirements-dev.txt; fi + cache: 'poetry' + - run: poetry install - name: Lint with flake8 run: | # stop the build if there are Python syntax errors or undefined names - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + poetry run flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + poetry run flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - name: Test with pytest - run: | - pytest + run: poetry run pytest - name: Test CLI run: | - python setup.py install # Basic test - csv-metadata-quality -i data/test.csv -o /tmp/test.csv + poetry run csv-metadata-quality -i data/test.csv -o /tmp/test.csv # Test with unsafe fixes - csv-metadata-quality -i data/test.csv -o /tmp/test.csv -u + poetry run csv-metadata-quality -i data/test.csv -o /tmp/test.csv -u # Test with experimental checks - csv-metadata-quality -i data/test.csv -o /tmp/test.csv -e + poetry run csv-metadata-quality -i data/test.csv -o /tmp/test.csv -e # Test with AGROVOC validation - csv-metadata-quality -i data/test.csv -o /tmp/test.csv --agrovoc-fields dcterms.subject + poetry run csv-metadata-quality -i data/test.csv -o /tmp/test.csv --agrovoc-fields dcterms.subject # Test with AGROVOC validation (and dropping invalid) - csv-metadata-quality -i data/test.csv -o /tmp/test.csv --agrovoc-fields dcterms.subject -d + poetry run csv-metadata-quality -i data/test.csv -o /tmp/test.csv --agrovoc-fields dcterms.subject -d