services: vibe-app: image: vibe-app-integration build: context: .. dockerfile: Dockerfile ports: - "${VIBE_PORT:-3000}:${VIBE_PORT:-3000}" security_opt: - apparmor:unconfined environment: - PORT=${VIBE_PORT:-3000} # No container healthcheck: healthchecks run via `docker exec`, which hits the # same LXC/AppArmor runc bug (opencontainers/runc#5007) as image builds and # always fails here. integration_test.bb polls the server until it's ready. # The suite is baked into the image (Dockerfile) rather than bind-mounted: bind mounts # resolve on the Docker host, so they break when run from inside a CI job container. integration-test: image: vibe-integration-test build: context: . security_opt: - apparmor:unconfined depends_on: vibe-app: condition: service_started entrypoint: ["bb", "/integration_test.bb", "http://vibe-app:${VIBE_PORT:-3000}"]