From 556c8770dab9e08c47e3fc7f7f355a2c78c014de Mon Sep 17 00:00:00 2001 From: Joao P Dubas Date: Mon, 7 Oct 2024 11:48:26 +0000 Subject: [PATCH] test: add docker compose profile to execute tests On this profile a new image is built that can handle tests locally. --- docker-compose.yml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 21b55ec..2ca1931 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -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: {}