diff --git a/.github/workflows/core.yml b/.github/workflows/core.yml index e35ccf4..ce4cc37 100644 --- a/.github/workflows/core.yml +++ b/.github/workflows/core.yml @@ -13,6 +13,7 @@ jobs: strategy: matrix: python-version: ["3.10", "3.11", "3.12", "3.13"] + postgres-version: ["14", "17"] steps: - name: Check out code @@ -31,9 +32,9 @@ jobs: - name: Spin up DB in background run: | - docker-compose pull db - docker-compose build db - docker-compose up -d db + PG_VERSION=${{ matrix.postgres-version }} docker-compose pull db + PG_VERSION=${{ matrix.postgres-version }} docker-compose build db + PG_VERSION=${{ matrix.postgres-version }} docker-compose up -d db - name: Wait for DB to be ready run: | @@ -64,7 +65,7 @@ jobs: - name: Stop services if: always() - run: docker-compose down + run: PG_VERSION=${{ matrix.postgres-version }} docker-compose down lint-ruff: diff --git a/README.md b/README.md index 6fd725a..05788a5 100644 --- a/README.md +++ b/README.md @@ -100,5 +100,4 @@ For instructions on installing `pg_cron`, see the [pg_cron documentation](https: ## Compatibility -`django-pgcron` is compatible with Python 3.10 - 3.13, Django 5.0+, and Postgres 13 - 17. - +`django-pgcron` is compatible with Python 3.10 - 3.13, Django 5.0+, and Postgres 14 - 17. diff --git a/docker-compose.yml b/docker-compose.yml index a4be847..0231046 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,6 +5,8 @@ services: build: context: ./docker/postgres dockerfile: Dockerfile + args: + - PG_VERSION=${PG_VERSION:-17} volumes: - ./.db:/var/lib/postgresql/data environment: diff --git a/docker/postgres/Dockerfile b/docker/postgres/Dockerfile index 9acb139..9a4ea0e 100644 --- a/docker/postgres/Dockerfile +++ b/docker/postgres/Dockerfile @@ -1,4 +1,5 @@ -FROM postgres:17-alpine +ARG PG_VERSION=17 +FROM postgres:${PG_VERSION}-alpine # Install everything needed, including clang/llvm RUN apk add --no-cache \ @@ -8,7 +9,7 @@ RUN apk add --no-cache \ clang \ llvm \ musl-dev \ - postgresql17-dev \ + postgresql${PG_VERSION}-dev \ curl # Build pg_cron @@ -20,7 +21,7 @@ RUN curl -L https://github.com/citusdata/pg_cron/archive/v1.6.4.tar.gz | tar xz rm -rf pg_cron-1.6.4 # remove build tools to reduce image size -RUN apk del git make gcc clang llvm musl-dev postgresql17-dev +RUN apk del git make gcc clang llvm musl-dev postgresql${PG_VERSION}-dev COPY init-pgcron.sh /docker-entrypoint-initdb.d/ RUN chmod +x /docker-entrypoint-initdb.d/init-pgcron.sh diff --git a/pgcron/tests/test_commands.py b/pgcron/tests/test_commands.py index f09f9cf..3db842e 100644 --- a/pgcron/tests/test_commands.py +++ b/pgcron/tests/test_commands.py @@ -4,7 +4,6 @@ from django.core import management import pgcron -import pgcron._jobs from pgcron import _registry from pgcron.models import Job