test: add docker compose profile to execute tests

On this profile a new image is built that can handle tests locally.
This commit is contained in:
João Paulo Dubas 2024-10-07 11:48:26 +00:00
parent 0ae8bf53a2
commit 556c8770da
Signed by: joao.dubas
SSH Key Fingerprint: SHA256:V1mixgOGRc/YMhGx/DNkOSmJxgA2vHNrDZEk3wt/kOA

View File

@ -19,6 +19,7 @@ services:
context: .
args:
BUILD_MIX_ENV: dev
pull_policy: never
hostname: &app_host ex_trainer
depends_on:
- db
@ -53,6 +54,39 @@ services:
scale: 3
entrypoint: ./priv/docker/service/docker-entrypoint.sh
command: local-cookie
test:
image: 'joaodubas/ex_trainer:test'
build:
target: builder
context: .
args:
BUILD_MIX_ENV: test
pull_policy: never
profiles:
- test
hostname: ex_trainer_test
depends_on:
- db
init: true
volumes:
- './mix.exs:/opt/app/mix.exs:ro'
- './mix.lock:/opt/app/mix.lock:ro'
- './students.csv:/opt/app/students.csv:ro'
- './config:/opt/app/config'
- './cover:/opt/app/cover'
- './lib:/opt/app/lib'
- './priv:/opt/app/priv'
- './report:/opt/app/report'
- './test:/opt/app/test'
environment:
POSTGRES_HOST: *db_host
POSTGRES_USER: *db_user
POSTGRES_PASS: *db_pass
POSTGRES_NAME: wabanex_test
working_dir: /opt/app
restart: never
entrypoint: mix test
command: --trace --cover --slowest 10
volumes:
db_data: {}