Skip to content

Version 2.1.0

Version 2.1.0 #179

Workflow file for this run

name: Tests
# Test Tagulous on:
# all supported Django and Python versions
# against sqlite, postgresql and mysql
on:
push:
pull_request:
jobs:
test-sqlite:
name: py-${{ matrix.python }} dj-${{ matrix.django }}
runs-on: ubuntu-latest
strategy:
matrix:
include:
# Django LTS on latest supported Python
- python: "3.10"
django: "3.2"
- python: "3.12"
django: "4.2"
# Django supported latest on supported Python
- python: "3.12"
django: "5.0"
- python: "3.12"
django: "5.1"
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r tests/requirements/django-${{ matrix.django }}.txt
- name: Test
run: |
pytest
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
name: ${{ matrix.python }}-${{ matrix.django }}
test-postgres:
name: py-${{ matrix.python }} dj-${{ matrix.django }} PostgreSQL
runs-on: ubuntu-latest
strategy:
matrix:
include:
# Latest Django LTS and release on latest supported Python
- python: "3.12"
django: "4.2"
- python: "3.12"
django: "5.1"
services:
postgres:
image: postgres:latest
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
POSTGRES_PASSWORD: postgres
ports:
- 5432:5432
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r tests/requirements/django-${{ matrix.django }}.txt
pip install psycopg2-binary
- name: Test
run: |
pytest
env:
DATABASE_ENGINE: postgresql
DATABASE_HOST: localhost
DATABASE_USER: postgres
DATABASE_PASSWORD: postgres
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
name: ${{ matrix.python }}-${{ matrix.django }}-postgres
test-mysql:
name: py-${{ matrix.python }} dj-${{ matrix.django }} MySQL
runs-on: ubuntu-latest
strategy:
matrix:
include:
# Latest Django LTS and release on latest supported Python
- python: "3.12"
django: "4.2"
- python: "3.12"
django: "5.1"
services:
mysql:
image: mysql:latest
env:
MYSQL_ALLOW_EMPTY_PASSWORD: yes
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r tests/requirements/django-${{ matrix.django }}.txt
pip install mysqlclient
- name: Test
run: |
pytest
env:
DATABASE_ENGINE: mysql
DATABASE_HOST: 127.0.0.1
DATABASE_PORT: 3306
DATABASE_USER: root
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
name: ${{ matrix.python }}-${{ matrix.django }}-mysql