Skip to content

ci(catbox): enable goss/web smoke tests at container-build time#694

Open
funkypenguin wants to merge 1 commit into
mainfrom
ci/catbox-enable-goss-tests
Open

ci(catbox): enable goss/web smoke tests at container-build time#694
funkypenguin wants to merge 1 commit into
mainfrom
ci/catbox-enable-goss-tests

Conversation

@funkypenguin
Copy link
Copy Markdown
Contributor

Paired with elfhosted/containers-private#19 that adds the /config mkdir to the Dockerfile and brings goss.yaml up to date. Both need to land before the next catbox release.

Why

0.65.0 catbox shipped with an unbalanced `{{if}}/{{end}}` in backfill.html, which crashed startup with `template: backfill.html:167: unexpected EOF`. `go build` + tests passed, the image was published, the binary panicked the moment a tenant tried to run it.

With `tests.enabled=false` on catbox, the container build pipeline had nothing checking the binary even starts.

Change

Flip `tests.enabled` to true so the dgoss smoke test runs against the just-built image. The actual check (process + /health + /ui/settings) lives in the goss.yaml in containers-private.

Test plan

  • containers-private sister PR merged in lock-step
  • First catbox release with both PRs in place: dgoss step in action-image-build.yaml runs and passes

catbox's metadata.json had tests.enabled=false, which meant the
build pipeline shipped images without verifying the binary even
starts. That gap let 0.65.0 land with an unbalanced
{{if}}/{{end}} in backfill.html — go build + tests passed, the
image was published, and the binary panicked the moment a
tenant tried to run it ("template: backfill.html:167:
unexpected EOF").

Flipping to enabled=true exercises the goss.yaml smoke test in
the private repo (process: catbox running + GET /health 200 +
GET /ui/settings 200). The Dockerfile change to create /config
owned by the elfie user lives in the private repo PR alongside.

Closes the gap for the startup-class failures; in-Go template
parse regressions are also now caught by TestTemplatesParse in
the catbox repo (PR 315).
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.

1 participant