Skip to content

Merge pull request #160 from twang817/fix_148 #156

Merge pull request #160 from twang817/fix_148

Merge pull request #160 from twang817/fix_148 #156

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:
# 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"
services:
postgres:
image: postgres:10.8
ports:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
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:
# 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"
services:
mysql:
image: mysql:5.7
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