Răsfoiți Sursa

Refs #35734 -- Added entry to scheduled tests workflow to test newer PostgreSQL versions.

nessita 6 luni în urmă
părinte
comite
92f860e3f4

+ 4 - 0
.github/workflows/data/test_postgres.py.tpl

@@ -1,3 +1,4 @@
+import os
 from test_sqlite import *  # NOQA
 
 DATABASES = {
@@ -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",

+ 44 - 0
.github/workflows/schedule_tests.yml

@@ -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