diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 26fff53..b2f3a03 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -11,7 +11,7 @@ jobs: runs-on: python-ci services: postgres: - image: postgres:16 + image: postgres:17 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: ci-test-only diff --git a/docs/CI.md b/docs/CI.md index 920ad1a..afab6fa 100644 --- a/docs/CI.md +++ b/docs/CI.md @@ -13,7 +13,8 @@ One Docker-backed job, selected by the runner label `python-ci`, performs: 2. Install uv 0.9.3 and Python 3.13, then `uv sync --locked --dev`. 3. Run Ruff's correctness-focused checks over `src` and `tests`. 4. Run the full unittest suite, including integration tests against a fresh - PostgreSQL 16 service named `postgres` and database `car_traker_test`. + PostgreSQL 17 service named `postgres` and database `car_traker_test`, matching + the homelab's PostgreSQL major version. 5. Build the source distribution and wheel, install that wheel in an independent environment, and verify that its SQL migrations are packaged. @@ -129,6 +130,10 @@ migration checks passed. Local execution substituted the source archive for remo checkout; Gitea HTTP(S) checkout and server-triggered execution still need verification after a runner is registered and the repository's Actions feature is enabled. +The suite was subsequently rerun against disposable PostgreSQL 17.11: all 82 tests +passed, including all database integration tests. CI now uses `postgres:17` to match +the homelab's major version. + ## Local Checks ```sh diff --git a/docs/POSTGRESQL.md b/docs/POSTGRESQL.md index 3f55f70..2ed813c 100644 --- a/docs/POSTGRESQL.md +++ b/docs/POSTGRESQL.md @@ -12,7 +12,8 @@ Laptop: raw JSONL -> Python silver importer -> Homelab VM: PostgreSQL/car_traker You do not need to install PostgreSQL on the laptop or move the repository to the homelab for this milestone. The optional local container at the end of this document is exclusively for isolated tests, not the application database. -PostgreSQL 14+ is required; PostgreSQL 16 is used for integration testing. +PostgreSQL 14+ is required; PostgreSQL 17 is used for integration testing to match +the homelab's PostgreSQL major version. No PostGIS or other extension is needed for this first map-ready dataset. ## Actions On The Homelab @@ -299,7 +300,7 @@ One local example (test password only; localhost-only port; ephemeral data): ```sh docker run --detach --rm --name car-traker-silver-test \ --env POSTGRES_PASSWORD=local-test-only --env POSTGRES_DB=car_traker_test \ - --publish 127.0.0.1:55432:5432 --tmpfs /var/lib/postgresql/data postgres:16 + --publish 127.0.0.1:55432:5432 --tmpfs /var/lib/postgresql/data postgres:17 docker exec car-traker-silver-test pg_isready -U postgres -d car_traker_test TEST_DATABASE_URL='postgresql://postgres:local-test-only@127.0.0.1:55432/car_traker_test' \ uv run python -m unittest discover -s tests -v