feat(ci): add PostgreSQL service for integration tests
Integration Tests / integration-test (push) Failing after 1s
Integration Tests / integration-test (push) Failing after 1s
This commit is contained in:
@@ -12,6 +12,21 @@ jobs:
|
|||||||
integration-test:
|
integration-test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: postgres:13
|
||||||
|
env:
|
||||||
|
POSTGRES_DB: broker_test
|
||||||
|
POSTGRES_USER: user
|
||||||
|
POSTGRES_PASSWORD: password
|
||||||
|
ports:
|
||||||
|
- 5433:5432
|
||||||
|
options: >-
|
||||||
|
--health-cmd="pg_isready -U user"
|
||||||
|
--health-interval=5s
|
||||||
|
--health-timeout=5s
|
||||||
|
--health-retries=10
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
@@ -22,13 +37,5 @@ jobs:
|
|||||||
go-version: '1.25'
|
go-version: '1.25'
|
||||||
cache: true
|
cache: true
|
||||||
|
|
||||||
- name: Set up Python
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
with:
|
|
||||||
python-version: '3.12'
|
|
||||||
|
|
||||||
- name: Install podman-compose
|
|
||||||
run: pip install podman-compose
|
|
||||||
|
|
||||||
- name: Run all tests
|
- name: Run all tests
|
||||||
run: make test-all
|
run: make test-ci
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
.PHONY: all build clean test test-all test-integration-go test-unit-go test-connection schema-install broker-start broker-stop install deps docker-up docker-down docker-build release help
|
.PHONY: all build clean test test-all test-ci test-integration-go test-unit-go test-connection schema-install broker-start broker-stop install deps docker-up docker-down docker-build release help
|
||||||
|
|
||||||
# Build variables
|
# Build variables
|
||||||
BINARY_NAME=pgsql-broker
|
BINARY_NAME=pgsql-broker
|
||||||
@@ -63,7 +63,9 @@ test-local-unit: deps ## Run local unit tests
|
|||||||
@echo "Running local unit tests..."
|
@echo "Running local unit tests..."
|
||||||
@$(GO) test -v -race -cover $(shell $(GO) list ./... | grep -v /tests/integration)
|
@$(GO) test -v -race -cover $(shell $(GO) list ./... | grep -v /tests/integration)
|
||||||
|
|
||||||
test-all: test-teardown test-setup test-connection schema-install broker-start test-local-unit test-integration-go broker-stop test-teardown ## Run all unit and integration tests
|
test-all: test-teardown test-setup test-connection schema-install broker-start test-local-unit test-integration-go broker-stop test-teardown ## Run all unit and integration tests (starts its own Postgres via docker-compose)
|
||||||
|
|
||||||
|
test-ci: test-connection schema-install broker-start test-local-unit test-integration-go broker-stop ## Run all unit and integration tests against an externally-provided Postgres (CI services: block)
|
||||||
|
|
||||||
test-connection: deps ## Test database connection with retry
|
test-connection: deps ## Test database connection with retry
|
||||||
@echo "Testing database connection..."
|
@echo "Testing database connection..."
|
||||||
|
|||||||
Reference in New Issue
Block a user