feat(cli): refresh the memory scaffold pin to 0.5 and compile it in CI#106
Open
powersemmi wants to merge 1 commit into
Open
feat(cli): refresh the memory scaffold pin to 0.5 and compile it in CI#106powersemmi wants to merge 1 commit into
powersemmi wants to merge 1 commit into
Conversation
`ruststream new --broker memory` scaffolded a project pinning `ruststream = "0.3"`, so a fresh project off the 0.5 CLI started two minor versions behind. Bump the embedded pin to "0.5". The scaffold templates were never compiled (issue #97): a `template.replace` on strings, so an API drift or an invalid feature only surfaced in a user's first `cargo build`. Add a compile-check that renders the memory template and runs a nested `cargo build` against this workspace (the pinned `ruststream = "0.5"` is patched to the local path, since it is not on crates.io mid-release). Memory is the only broker core owns; nats/nats-js move out under #97. The build is heavy, so it is opt-in like the trybuild UI test: the stable CI job sets `RUN_SCAFFOLD_BUILD=1`; the 1.85 job, coverage, and a local `cargo test` leave it unset and the test skips itself.
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.
Description
Closes the in-core, verifiable slice of #98 and lands the first step of #97 Phase 1 ("templates are never compiled") for the one broker the core owns.
memoryscaffold pin.ruststream new --broker memoryemitted a project pinningruststream = "0.3", so a project scaffolded off the 0.5 CLI started two minor versions behind. Bumped to"0.5". The template source already uses current 0.5 API (the publishingconfirmhandler omits theContextparameter, which works since publishing defs are generic over state), so only the pin was stale.template.replaceover strings, so API drift or an invalid feature only surfaced in a user's firstcargo build. Added amemory_scaffold_compilestest that renders the template and runs a nestedcargo buildagainst this workspace. The pinnedruststream = "0.5"is not on crates.io mid-release, so the generated manifest is patched to the workspace path - the test exercises the template's real feature list and code, sourced locally.RUN_SCAFFOLD_BUILD=1, mirroringRUN_UI_TESTS: the stable CI job sets it; the 1.85 job, coverage, and a localcargo testleave it unset and the test skips itself.Scope: only
memory(core-owned, compile-verified here).nats/nats-jskeep their0.3pins - they are coupled to the unreleasedruststream-nats0.5 and, per #97, move out to the broker repo where they can be CI-compiled against the real client. The Redis templates (#98) are authored inruststream-fredunder the same system.Type of change
Checklist
just checkpasses)-D warnings)just test, and the gated build withRUN_SCAFFOLD_BUILD=1)Related
ruststream-fred)memorytemplate