Keep testing helpers out of production builds - #139
Open
lucarlig wants to merge 4 commits into
Open
Conversation
dawid-nowak
previously approved these changes
Sep 8, 2026
Signed-off-by: lucarlig <luca.carlig@ibm.com>
…0.3.2 Signed-off-by: lucarlig <luca.carlig@ibm.com>
Signed-off-by: lucarlig <luca.carlig@ibm.com>
lucarlig
force-pushed
the
user/luca/production-without-tools
branch
from
September 8, 2026 14:02
f4e8811 to
7f1961c
Compare
Signed-off-by: lucarlig <luca.carlig@ibm.com>
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.
Production builds include the plugin factories and health endpoint while excluding the unauthenticated token, JWKS and user-config helpers behind
with_tools. Docker builds, image publishing and the CI conformance binary use the same production feature selection.Conformance keeps the crates.io release installation through
cargo binstall cf-integration@0.3.2 --no-confirm, matching the version in contextforge-org/contextforge-dev-tools#14. This requires merging that PR and publishing version 0.3.2 before running conformance CI. The harness owns JWT signing, loopback JWKS and Redis fixture publication. Official conformance and Inspector install and run Node/npm inside Docker; the workflow no longer installs Node on the host.The branch includes main's PR-head artifact fix: the producer, artifact name and consumer checkout use the same head SHA. Compose uses the token issuer's JWKS URL without mounting signing keys into dataplane containers. Documentation covers production builds, testing-only helpers and the versioned release installation.
E2E validation at
7f1961cwith a harness binary built from PR #14 at957eeb1(version 0.3.2):make docker-prod. Eight live boundary checks pass: health GET/HEAD, health POST rejection, four absent helper routes, and unauthenticated MCP rejection. The authenticated standalone probe also passes.make conformancecompletes all 84 scenarios: 44 passed, 40 expected failures, zero unexpected failures/passes, skips or unknowns. Dataplane and harness baselines are unchanged.7f1961cbinary from CI run34235710851and built the Linux x86-64 image throughci prepare-image. Local E2E against that image passes the same boundary checks, probe and 84 conformance outcomes; load completed 27 requests with zero failures. All 311 individual check identifiers, names and statuses match the ARM64 release image.node,npmandnpxtraps were not invoked; no host npm cache was created.Temporary validation containers, networks and volumes were removed. All original user containers remain running.
Follow-up
5a1dc13restores release installation and updates its documentation; runtime code is unchanged. Actionlint, mdBook build/tests, rendered installation instructions and all commit hooks (formatting, Clippy, deny, nextest and build) pass.