diff --git a/integration-test/docker-compose.yml b/integration-test/docker-compose.yml index 325fe3a..ae11fe4 100644 --- a/integration-test/docker-compose.yml +++ b/integration-test/docker-compose.yml @@ -14,12 +14,14 @@ services: # 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: babashka/babashka:latest + image: vibe-integration-test + build: + context: . security_opt: - apparmor:unconfined - volumes: - - ./integration_test.bb:/integration_test.bb:ro depends_on: vibe-app: condition: service_started diff --git a/script/integration-test b/script/integration-test index 7d2adc4..ca14e3d 100755 --- a/script/integration-test +++ b/script/integration-test @@ -52,12 +52,13 @@ trap 'exit 143' TERM # Build the app image with buildx directly instead of through compose: compose delegates # builds to bake, which fails on the CI runner with "failed to find target default". The -# image name matches `image:` in docker-compose.yml, so `run` below finds it and never +# image names match `image:` in docker-compose.yml, so `run` below finds them and never # builds. DEPS_ALIASES must match build.args in docker-compose.coverage.yml. docker buildx build --load \ --build-arg "DEPS_ALIASES=run${COVERAGE:+:cov}" \ -t vibe-app-integration \ -f "$root/Dockerfile" "$root" +docker buildx build --load -t vibe-integration-test "$root/integration-test" # `run` returns the test container's own exit code; `up --abort-on-container-exit` can leak # the app's SIGTERM exit (143) during teardown instead.