diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 9dcd4c9..82fd9f9 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -29,9 +29,9 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - # Build images defined in docker-compose (backend + frontend) - - name: Build containers - run: docker compose -f docker-compose.yml build + # Build test image for backend + - name: Build test container + run: docker compose -f docker-compose.yml build nestjs-test # Start only infra services - name: Start Postgres and Redis @@ -51,7 +51,7 @@ jobs: # Run NestJS tests - name: Run NestJS tests - run: docker compose -f docker-compose.yml run --rm nestjs yarn test + run: docker compose -f docker-compose.yml run --rm nestjs-test npm test - name: Cleanup if: always() diff --git a/docker-compose.yml b/docker-compose.yml index 002e4b9..9ef2146 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,8 +1,30 @@ services: + # Servicio para tests (CI/CD) + nestjs-test: + build: + context: ./backend + dockerfile: Dockerfile + target: test + environment: + DB_HOST: postgres + DB_PORT: "5432" + DB_NAME: "${DB_NAME}" + DB_USER: "${DB_USER}" + DB_PASSWORD: "${DB_PASSWORD}" + JWT_SECRET: "${JWT_SECRET}" + REDIS_HOST: redis + REDIS_PORT: "6379" + depends_on: + - postgres + - redis + networks: + - my_network + nestjs: build: context: ./backend dockerfile: Dockerfile + target: production restart: unless-stopped ports: - "3001:3000"