From 42cb569714a6b21977b1ebb1fc6a46133da8a310 Mon Sep 17 00:00:00 2001 From: Guglielmo Celata Date: Tue, 9 Apr 2024 11:27:38 +0200 Subject: [PATCH] django lint and test workflow renamed push --- .github/workflows/django.yml | 52 ------------------ .github/workflows/push.yml | 104 +++++++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+), 52 deletions(-) delete mode 100644 .github/workflows/django.yml create mode 100644 .github/workflows/push.yml diff --git a/.github/workflows/django.yml b/.github/workflows/django.yml deleted file mode 100644 index 49ddf64..0000000 --- a/.github/workflows/django.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: on push lint and test - -on: - push: - branches: [ "main" ] - pull_request: - branches: [ "main" ] - -jobs: - lint-check: - runs-on: ubuntu-latest - strategy: - max-parallel: 3 - matrix: - python-version: ['3.10', 3.11, 3.12] - - steps: - - uses: actions/checkout@main - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@main - with: - python-version: ${{ matrix.python-version }} - - name: Lint with flake8 - run: | - pip install flake8 - # stop the build if there are Python syntax errors or undefined names - flake8 demoproject --exclude demoproject/static --exclude demoproject/migrations,demoproject/tests --count --ignore=D100,D104,D105,D106,D107 --max-line-length=120 --show-source --statistics - # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide - flake8 --exclude demoproject/static --exclude demoproject/migrations,demoproject/tests --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - - - build-and-test: - runs-on: ubuntu-latest - strategy: - max-parallel: 4 - matrix: - python-version: ['3.10', 3.11, 3.12] - - steps: - - uses: actions/checkout@main - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@main - with: - python-version: ${{ matrix.python-version }} - - name: Install dependencies from pyproject.toml - run: | - python -m pip install --upgrade pip - pip install poetry - poetry install - - name: Test with Django's test framework - run: poetry run demoproject/manage.py test - diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml new file mode 100644 index 0000000..1a81868 --- /dev/null +++ b/.github/workflows/push.yml @@ -0,0 +1,104 @@ +name: on push lint and test + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + lint-check: + runs-on: ubuntu-latest + strategy: + max-parallel: 5 + matrix: + python-version: [3.8, 3.9, '3.10', 3.11, 3.12] + + steps: + - uses: actions/checkout@main + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@main + with: + python-version: ${{ matrix.python-version }} + - name: Lint with flake8 + run: | + pip install flake8 + # stop the build if there are Python syntax errors or undefined names + flake8 demoproject --exclude demoproject/static --exclude demoproject/migrations,demoproject/tests --count --ignore=D100,D104,D105,D106,D107 --max-line-length=120 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 --exclude demoproject/static --exclude demoproject/migrations,demoproject/tests --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + + + dj5: + needs: lint-check + runs-on: ubuntu-latest + strategy: + max-parallel: 4 + matrix: + python-version: ['3.10', 3.11, 3.12] + + steps: + - uses: actions/checkout@main + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@main + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies from pyproject.toml + run: | + python -m pip install --upgrade pip + pip install poetry + poetry install + - name: Test with Django 5 + run: | + rm -rf demoproject/staticfiles/* + poetry run demoproject/manage.py test + + dj4: + needs: lint-check + runs-on: ubuntu-latest + strategy: + max-parallel: 4 + matrix: + python-version: [3.9, '3.10', 3.11, 3.12] + + steps: + - uses: actions/checkout@main + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@main + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies from pyproject.toml + run: | + python -m pip install --upgrade pip + pip install poetry + poetry install + - name: Test with Django 4.2 + run: | + rm -rf demoproject/staticfiles/* + poetry add django==4.2 --dev + poetry run demoproject/manage.py test + + dj32: + needs: lint-check + runs-on: ubuntu-latest + strategy: + max-parallel: 4 + matrix: + python-version: [3.9, '3.10', 3.11, 3.12] + + steps: + - uses: actions/checkout@main + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@main + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies from pyproject.toml + run: | + python -m pip install --upgrade pip + pip install poetry + poetry install + - name: Test with Django 3.2 + run: | + rm -rf demoproject/staticfiles/* + poetry add django==3.2 --dev + poetry run demoproject/manage.py test