Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/data/test_postgres.py.tpl
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import os
from test_sqlite import * # NOQA

DATABASES = {
Expand All @@ -8,6 +9,9 @@ DATABASES = {
"PASSWORD": "postgres",
"HOST": "localhost",
"PORT": 5432,
"OPTIONS": {
"server_side_binding": os.getenv("SERVER_SIDE_BINDING") == "1",
},
},
"other": {
"ENGINE": "django.db.backends.postgresql",
Expand Down
44 changes: 44 additions & 0 deletions .github/workflows/schedule_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -195,3 +195,47 @@ jobs:
working-directory: ./tests/
run: |
python -Wall runtests.py --verbosity 2 --noinput --selenium=chrome --headless --settings=test_postgres --parallel 2

postgresql:
strategy:
fail-fast: false
matrix:
version: [16, 17rc1]
server_side_bindings: [0, 1]
runs-on: ubuntu-latest
name: Newer PostgreSQL Versions
env:
SERVER_SIDE_BINDING: ${{ matrix.server_side_bindings }}
services:
postgres:
image: postgres:${{ matrix.version }}-alpine
env:
POSTGRES_DB: django
POSTGRES_USER: user
POSTGRES_PASSWORD: postgres
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip'
cache-dependency-path: 'tests/requirements/py3.txt'
- name: Install libmemcached-dev for pylibmc
run: sudo apt-get install libmemcached-dev
- name: Install and upgrade packaging tools
run: python -m pip install --upgrade pip setuptools wheel
- run: python -m pip install -r tests/requirements/py3.txt -r tests/requirements/postgres.txt -e .
- name: Create PostgreSQL settings file
run: mv ./.github/workflows/data/test_postgres.py.tpl ./tests/test_postgres.py
- name: Run tests
working-directory: ./tests/
run: python -Wall runtests.py --settings=test_postgres --verbosity=2