Skip to content

fix(ci): use CUE raw multi-line strings in release generator#25228

Merged
pront merged 1 commit intomasterfrom
prepare-v-0-55-0-website
Apr 20, 2026
Merged

fix(ci): use CUE raw multi-line strings in release generator#25228
pront merged 1 commit intomasterfrom
prepare-v-0-55-0-website

Conversation

@pront
Copy link
Copy Markdown
Member

@pront pront commented Apr 20, 2026

Summary

scripts/generate-release-cue.rb embeds each changelog fragment's description into a CUE """...""" multi-line string. Backslashes inside that string are still interpreted as escape sequences, so any fragment containing e.g. a shell line-continuation (\<newline>) produces an unknown escape sequence error in cue export. That in turn makes the next cargo vdev release prepare run fail, because the generator parses prior release cue files at startup.

This PR switches the generated description blocks to CUE raw multi-line strings (#"""..."""#) so backslashes are literal and fragments can contain arbitrary shell snippets, regex examples, Windows paths, etc. without bespoke escaping.

Vector configuration

N/A — release tooling only.

How did you test this PR?

  • Reproduced the original failure on master against changelog.d/graphql_to_grpc_api.breaking.md (which contains grpcurl -plaintext \ line continuations).
  • Applied the fix, deleted the pre-existing website/cue/reference/releases/0.55.0.cue, and reran bundle exec ./scripts/generate-release-cue.rb --new-version 0.55.0 --no-interactive. The script completes without any unknown escape sequence: output.
  • Ran cue export on the regenerated 0.55.0.cue. Previously this failed with unexpected token at '' (empty output from cue); now it returns valid JSON.
  • Parsed the JSON and confirmed the backslash-newline line continuations are preserved literally in the resulting description field.

Change Type

  • Bug fix
  • New feature
  • Dependencies
  • Non-functional (chore, refactoring, docs)
  • Performance

Is this a breaking change?

  • Yes
  • No

Does this PR include user facing changes?

  • Yes. Please add a changelog fragment based on our guidelines.
  • No. A maintainer will apply the no-changelog label to this PR.

References

N/A

🤖 Generated with Claude Code

@pront pront requested a review from a team as a code owner April 20, 2026 21:03
@github-actions
Copy link
Copy Markdown
Contributor

Your preview site for the vector.dev will be ready in a few minutes, please allow time for it to build.

Heres your preview link:
vector.dev preview

@pront pront added domain: releasing Anything related to releasing Vector no-changelog Changes in this PR do not need user-facing explanations in the release changelog labels Apr 20, 2026
chatgpt-codex-connector[bot]

This comment was marked as outdated.

@pront pront force-pushed the prepare-v-0-55-0-website branch from f1d3efe to a199445 Compare April 20, 2026 21:10
@github-actions github-actions Bot removed the domain: releasing Anything related to releasing Vector label Apr 20, 2026
Fragment descriptions are embedded into CUE via `"""..."""`, where
backslashes are still interpreted as escape sequences. A fragment
containing e.g. a shell line continuation (`\<newline>`) produces
invalid CUE and breaks `cue export`, which is then used by the next
`cargo vdev release prepare` invocation.

Switch to raw multi-line strings (`#"""..."""#`) so backslashes are
literal and no escaping is needed on the description content.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

Your preview site for the vector.dev will be ready in a few minutes, please allow time for it to build.

Heres your preview link:
vector.dev preview

@pront pront force-pushed the prepare-v-0-55-0-website branch from a199445 to 4746bdb Compare April 20, 2026 21:10
@pront pront merged commit 3ca3e61 into master Apr 20, 2026
79 checks passed
@pront pront deleted the prepare-v-0-55-0-website branch April 20, 2026 21:11
@github-actions github-actions Bot locked and limited conversation to collaborators Apr 20, 2026
@pront pront restored the prepare-v-0-55-0-website branch April 20, 2026 21:11
@pront pront deleted the prepare-v-0-55-0-website branch April 20, 2026 21:15
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

no-changelog Changes in this PR do not need user-facing explanations in the release changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants