ci: publish postgres service port — job containers use host network
This commit is contained in:
parent
9ff394c75f
commit
6807d41aa4
1 changed files with 7 additions and 2 deletions
|
|
@ -12,12 +12,17 @@ jobs:
|
|||
# CI stand-in for bin/test's ephemeral Postgres: the nix container runs
|
||||
# as root and initdb refuses to run as root, so the DB lives in a
|
||||
# service container instead and the suite connects via TEST_DATABASE_URL.
|
||||
# The runner puts job containers on the host network while services sit
|
||||
# on the per-workflow bridge, so the `postgres` hostname doesn't resolve
|
||||
# from the job — the service publishes 5432 and the suite dials loopback.
|
||||
postgres:
|
||||
image: postgres:17-alpine
|
||||
env:
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_HOST_AUTH_METHOD: trust
|
||||
POSTGRES_DB: asxpio_test
|
||||
ports:
|
||||
- 5432:5432
|
||||
steps:
|
||||
- name: Prepare container for actions
|
||||
run: |
|
||||
|
|
@ -30,7 +35,7 @@ jobs:
|
|||
- name: Wait for Postgres
|
||||
run: |
|
||||
for i in $(seq 1 30); do
|
||||
nix develop -c pg_isready -h postgres -U postgres && exit 0
|
||||
nix develop -c pg_isready -h 127.0.0.1 -U postgres && exit 0
|
||||
sleep 2
|
||||
done
|
||||
echo "Postgres service never became ready" >&2
|
||||
|
|
@ -38,5 +43,5 @@ jobs:
|
|||
|
||||
- name: Run test suite
|
||||
env:
|
||||
TEST_DATABASE_URL: postgres://postgres@postgres:5432/asxpio_test
|
||||
TEST_DATABASE_URL: postgres://postgres@127.0.0.1:5432/asxpio_test
|
||||
run: nix develop -c bundle exec rake test
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue