Skip to content

Durability net: CI must exercise the built ForgeBox/CommandBox install→serve journey #3201

Description

@bpamiri

Problem

The ForgeBox/CommandBox install path (box install wheels-base-templatebox server start) was published but broken end to end, and the breakage went undetected for weeks because nothing in CI exercises the built packages the way a CommandBox user installs them. ForgeBox publishing is stable-only and asynchronous, so a packaging regression only surfaces in production long after the offending commit lands.

The path-repair campaign fixed the underlying defects:

These are all easy to silently re-break: a placeholder reintroduced into a config override, a db/ exclude added back, a prepare script re-pointed at the demo app.

The durability net

Add a CI leg that builds the base + core packages from the tree (tools/build/scripts/prepare-base.sh + prepare-core.sh), installs them into a CommandBox container the way box install lands them, boots, and asserts the install→serve journey:

  • server starts with no manual edits
  • GET / is 200
  • /wheels/info is 200 in development
  • clean URLs work
  • db/ ships
  • tools/ci/smoke-env.sh passes its reload-gate / no-trace probes in production

Gated on tools/build/**, cli/lucli/templates/app/**, tools/ci/smoke-env.sh, and the workflow file itself.

Acceptance

  • A regression in any of the four campaign fixes turns this leg red on the offending PR (verified locally: the unfixed develop artifact exits 1 with "Invalid slug detected" and the connectivity probe fails; the keystone-composed tree passes all six smoke-env.sh probes plus the dev journey).

Refs #3173, #3174, #3176, #3177.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions