test against PostgreSQL 17 to match homelab
Some checks failed
CI / Lint, PostgreSQL tests, and package (push) Has been cancelled

This commit is contained in:
Antoine Vandeplanque 2026-09-09 11:04:43 +02:00
parent 849ea0358b
commit 2ec749d94d
3 changed files with 10 additions and 4 deletions

View File

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

View File

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

View File

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