No github actions, ele dá erro ao se conectar com o banco de dados na realização dos testes
=== RUN TestListaTodosOsAlunosHanlder
2025/12/10 15:28:26 /home/runner/work/pipelines-e-testes-automatizados-com-github-actions/pipelines-e-testes-automatizados-com-github-actions/database/db.go:23
[error] failed to initialize database, got error failed to connect to host=*** user=*** database=***: dial error (dial tcp [::1]:***: connect: connection refused)
2025/12/10 15:28:26 Erro ao conectar com banco de dados
--- FAIL: TestListaTodosOsAlunosHanlder (0.00s)
panic: Erro ao conectar com banco de dados [recovered]
panic: Erro ao conectar com banco de dados
Meu arquivo de workflow:
This workflow will build a golang project
For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go
name: Integração Contínua
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.22'
- name: Inicia banco
run: docker compose up -d postgres
- name: Lint
uses: golangci/golangci-lint-action@v6
with:
version: v1.59
args: controllers/ database/ models/ routes/
- name: Test
run: DB_HOST=${{ secrets.DB_HOST }} DB_PASSWORD=${{ secrets.DB_PASSWORD }} DB_USER=${{ secrets.DB_USER }} DB_NAME=${{ secrets.DB_NAME }} DB_PORT=${{ secrets.DB_PORT }} go test -v main_test.go
O docker-compose.yml:
services:
postgres:
image: "postgres"
environment:
- POSTGRES_USER=root
- POSTGRES_PASSWORD=root
- POSTGRES_DB=root
ports:
- 5432:5432
volumes:
- ./postgres-data:/var/lib/postgresql/data
app:
image: golang:1.22
command:
- go
- run
- main.go
volumes:
- ./:/app
working_dir: /app
ports:
- 8080:8080
depends_on:
- postgres
environment:
- DB_HOST=postgres
- DB_USER=root
- DB_PASSWORD=root
- DB_NAME=root
- DB_PORT=5432