Skip to content

Drop python 2 support #296

Drop python 2 support

Drop python 2 support #296

Workflow file for this run

---
name: CI
"on":
pull_request:
push:
branches:
- master
jobs:
run-tests:
name: Run Tests
runs-on: ubuntu-20.04
strategy:
matrix:
database_engine:
- sqlite
- postgresql
- mysql
env:
- python: "3.8"
django: "3.2"
tox-env: "py38-dj32"
- python: "3.8"
django: "4.0"
tox-env: "py38-dj40"
- python: "3.9"
django: "3.2"
tox-env: "py39-dj32"
- python: "3.9"
django: "4.0"
tox-env: "py39-dj40"
- python: "3.10"
django: "3.2"
tox-env: "py310-dj32"
- python: "3.10"
django: "4.0"
tox-env: "py310-dj40"
- python: "3.10"
django: "4.1"
tox-env: "py310-dj41"
- python: "3.11"
django: "4.1"
tox-env: "py311-dj41"
- python: "3.11"
django: "4.2"
tox-env: "py311-dj42"
# - python: "3.12"
# django: "4.1"
# tox-env: "py312-dj41"
# - python: "3.12"
# django: "4.2"
# tox-env: "py312-dj42"
services:
postgres:
image: postgres
env:
POSTGRES_PASSWORD: password
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
mysql:
image: mysql:5.7
env:
MYSQL_ALLOW_EMPTY_PASSWORD: yes
ports:
- 3306
options: >-
--health-cmd="mysqladmin ping"
--health-interval=10s
--health-timeout=5s
--health-retries=3
steps:
- name: Check out the codebase.
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.env.python }}
- name: Install dependencies
run: |
apt-get update
apt-get install --assume-yes python-dev postgresql-client default-mysql-client
- name: Setup Postgres database
run: |
psql -U postgres -h postgres -c "CREATE ROLE django_random_queryset LOGIN SUPERUSER PASSWORD 'password'"
psql -U postgres -h postgres -c "CREATE DATABASE django_random_queryset OWNER django_random_queryset"
env:
PGPASSWORD: password
- name: Setup MySQL database
run: |
mysql -u root -h mysql -e "create user django_random_queryset"
mysql -u root -h mysql -e "grant all on *.* to django_random_queryset"
mysql -h mysql -e "create database django_random_queryset"
- name: Install Tox
run: pip install tox
- name: Run Tox
run: tox -e ${{ matrix.env.tox-env }}
env:
DJANGO: ${{ matrix.env.django }}
POSTGRES_HOST: postgres
MYSQL_HOST: mysql
TEST_DATABASE_ENGINE: ${{ matrix.database_engine }}