Skip to content

Build the image from the checkout being installed - #222

Merged
rbardaji merged 1 commit into
mainfrom
fix/221-build-from-checkout
Aug 4, 2026
Merged

Build the image from the checkout being installed#222
rbardaji merged 1 commit into
mainfrom
fix/221-build-from-checkout

Conversation

@rbardaji

@rbardaji rbardaji commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Closes #221.

The installer starts the stack with docker compose up -d, which builds an image only when none exists. On any machine that has run an Endpoint before, the container is recreated from the image built the first time and the current checkout is never compiled in.

The install reports success while running old code. It stays invisible until something depends on a change — a route added since answers 404, and the UI served is the one built then — and .env, regenerated on every run, is current, so the mismatch reads as a configuration problem rather than a stale build. This cost a full debugging session on an Endpoint that was running an image two weeks old.

Started with --build now, which is what the installer already does for the CKAN stack. Unchanged sources come from the layer cache, so the cost after the first run is small, and the step says the first build takes a few minutes.

Verified

  • A rebuild of an Endpoint whose image predated a new API route: before, /openapi.json did not contain the route and the container kept serving the older UI; after --build, the route is present and answers.
  • 18 installer tests, one new, asserting every compose up for the Endpoint carries --build.
  • black --check . clean.

The stack was started with 'compose up -d', which builds only when no image
exists. On a machine that had run an Endpoint before, the container came back
from the image built the first time and the checkout was never compiled in:
the install reported success while running old code, a route added since
answered 404, and the UI served was the one built weeks earlier. Meanwhile
.env, rendered on every run, was current — so the mismatch read as a
configuration problem.

Started with --build now, as the CKAN stack already was. Unchanged sources
come from the layer cache.
@rbardaji
rbardaji merged commit 12a990b into main Aug 4, 2026
1 check passed
@rbardaji
rbardaji deleted the fix/221-build-from-checkout branch August 4, 2026 10:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Re-running the installer keeps the previously built image, so updates never take effect

1 participant