Files
PacketStation/deploy/compose.ci.yaml
T

59 lines
1.6 KiB
YAML
Raw Normal View History

# Overlay for CI and local end-to-end runs. Builds the image from this checkout
# instead of pulling it, and reads throwaway secrets made by ci/make-secrets.sh.
#
# deploy/ci/make-secrets.sh
# docker compose -p packetstation-ci --env-file deploy/ci/ci.env \
# -f deploy/compose.yaml -f deploy/compose.ci.yaml up -d --build --wait
# docker compose -p packetstation-ci -f deploy/compose.yaml -f deploy/compose.ci.yaml down -v
#
# Never combine this overlay with compose.proxy.yaml.
x-build: &build
context: ..
dockerfile: Dockerfile
args:
PS_BUILD: ci
services:
migrate:
build: *build
image: ${IMAGE:-packetstation:ci}
pull_policy: build
app:
build: *build
image: ${IMAGE:-packetstation:ci}
pull_policy: build
worker:
build: *build
image: ${IMAGE:-packetstation:ci}
pull_policy: build
# Phase 1: Samba AD DC (PSTEST.LOCAL) so LDAP sign-in runs over real TLS in CI.
# Built from deploy/samba/. Its generated CA becomes LDAP_CA_BUNDLE.
# samba-dc:
# build:
# context: ./samba
# hostname: dc1
# networks:
# backend:
# aliases: [dc1.pstest.local]
# healthcheck:
# test: ["CMD", "/usr/local/bin/healthcheck.sh"]
# interval: 10s
# retries: 30
# Phase 1: Playwright runner. Joins backend and drives the app at http://app:8000.
# playwright:
# image: mcr.microsoft.com/playwright:<pinned version>
# working_dir: /work/tests/e2e
# volumes:
# - ../tests/e2e:/work/tests/e2e
# networks:
# backend: {}
# depends_on:
# app:
# condition: service_healthy
# profiles: ["e2e"]