Remove support for Python 3.7 #25
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: [push, pull_request] | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "pypy-3.8", "pypy-3.9", "pypy-3.10"] | |
| experimental: [false] | |
| django: ["3.0", "3.1.5", "3.2.9", "4.0", "4.1", "4.2", "5.0.2", "5.1", "5.2.5"] | |
| exclude: | |
| - python-version: "3.12" # Django uses the distutils module under the hood, which is removed in Python 3.12 | |
| django: "3.0" | |
| - python-version: "3.12" # Django uses the distutils module under the hood, which is removed in Python 3.12 | |
| django: "3.1.5" | |
| - python-version: "3.8" # Django 5.0 support Python 3.10+ | |
| django: "5.0.2" | |
| - python-version: "3.9" | |
| django: "5.0.2" | |
| - python-version: "pypy-3.8" | |
| django: "5.0.2" | |
| - python-version: "pypy-3.9" | |
| django: "5.0.2" | |
| - python-version: "3.8" # Django 5.1 support Python 3.10+ | |
| django: "5.1" | |
| - python-version: "3.9" | |
| django: "5.1" | |
| - python-version: "pypy-3.8" | |
| django: "5.1" | |
| - python-version: "pypy-3.9" | |
| django: "5.1" | |
| - python-version: "3.8" # Django 5.2 support Python 3.10+ | |
| django: "5.2.5" | |
| - python-version: "3.9" | |
| django: "5.2.5" | |
| - python-version: "pypy-3.8" | |
| django: "5.2.5" | |
| - python-version: "pypy-3.9" | |
| django: "5.2.5" | |
| env: | |
| DJANGO: ${{ matrix.django }} | |
| continue-on-error: ${{ matrix.experimental }} | |
| # Use Redis service on localhost to run tests | |
| services: | |
| redis: | |
| image: redis | |
| # Set health checks to wait until redis has started | |
| options: >- | |
| --health-cmd "redis-cli ping" | |
| --health-interval 10s | |
| --health-timeout 5s | |
| --health-retries 5 | |
| ports: | |
| # Maps port 6379 on service container to the host | |
| - 6379:6379 | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install Dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install --upgrade redis | |
| pip install -q flake8 | |
| - name: Install Django ${{ matrix.django }} | |
| run: | | |
| pip install -q Django==$DJANGO | |
| - name: Run tests | |
| run: | | |
| python runtests.py --use-redis | |
| - name: Flake8 static code analysis | |
| run: | | |
| flake8 throttle |