ci: run UI + API tests against the built runtime container#19
Merged
Conversation
Drops the redundant rebuild + `node packages/api/dist/server.js` spawn
in the `ui-tests` and `api-tests` jobs. They now download the
`build-${run_id}` artefact, `docker load image.tar`, and start the same
image the publish step would push - so Dockerfile-specific regressions
(base image swap, missing env var, wrong WORKDIR, port binding) get
caught before release-please cuts a tag instead of only by `pdt-prod`.
`test-pdt` gets a new `image-tar-path` input that drives the
load + run + healthcheck flow; the legacy node-spawn path is kept for
direct callers. Container logs are captured on failure.
Coverage summary
|
✅ CodeQL Security Scan🎉 No security alerts found. |
✅ Dependency-Track scan (site@pr-19)🎉 No findings. Gate: fails on critical or worse. Components (135 total)
Full component list
📎 Full HTML report: see the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ui-testsandapi-testsCI jobs to download thebuild-${run_id}artefact,docker load image.tar, and run Playwright + Bruno against the same runtime container the publish step would push.pnpm run buildrerun and thenode packages/api/dist/server.jsspawn in those two jobs.test-pdtcomposite action grows animage-tar-pathinput that drives the load + run + healthcheck flow. The legacy node-spawn path is kept for direct callers. Container logs are uploaded as an artefact on failure for easier debugging.Why
Today Dockerfile-specific regressions (base image swap, missing env var, wrong WORKDIR, port binding, file ownership) only surface in
pdt-prodafter release-please has already cut the tag. Running PR tests against the actual image closes that gap with no extra build cost - the image tar already exists from thebuildjob.Test plan
ui-testsruns Playwrightlocalproject against the container on:8090api-testsruns Brunolocalenv against the container on:8090sbom-scanstill loads the same image tar without conflictcontainer.logis uploaded as an artefact