Skip to content

fix: bound changelog entries and synchronize release image tags - #3

Merged
SSmallMonster merged 2 commits into
mainfrom
fix/changelog-entry-limits
Oct 26, 2026
Merged

SSmallMonster merged 2 commits into
mainfrom
fix/changelog-entry-limits

Conversation

@SSmallMonster

@SSmallMonster SSmallMonster commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

Release preparation could produce overly long notes and update Chart versions while leaving the default application image on an older release. This change bounds the generated prose and lets repositories synchronize explicit YAML version fields with the release version.

  • Limit each change (summary plus impact) and upgrade action to 30 English words or 60 CJK units. Allow one wording correction within the existing timeout while preserving sources, categories, review flags and action counts; unresolved overlength output fails before publication.
  • Add opt-in output.versionFiles, with a file path and dotted field names. Only existing string fields are updated; comments, other component versions and the rest of the YAML values are preserved. Reject missing fields, malformed YAML, shared anchors and unsafe or colliding paths before inference.
  • Include version files in generated-file hashes and validate each configured field against the release version. Existing releases without this configuration remain supported.
  • A rerun can add the new version file to an existing release PR while keeping its source range and PR identity. Existing edits in a newly adopted file are rejected instead of overwritten; removing or renaming generated outputs still requires refreshing the range.

Validation:

  • TypeScript checks, all 55 TypeScript tests, all 7 Python tests, build and CLI help passed locally.
  • Tests cover stable/prerelease tags, unrelated image versions, comment preservation, existing-PR reruns, invalid inputs and rejection of stale tags even when their file hash is updated.
  • Applied the updater to the actual Operator release/v1.1 Chart and values: v1.1.2-alpha1 produces ghcr.io/hwameistor/operator:v1.1.2-alpha1; all other parsed values remain identical.
  • The existing Copilot preview in examples/changelog-operator-v1.1.2-alpha1.md covers the unchanged editorial behavior. No new Copilot inference or product release was run for the image-tag update.

Consumers opting into version files must upgrade their generation and validation action pins together, including validation on the target release branch.

Signed-off-by: SSmallMonster <mingming.zhou@daocloud.io>
Signed-off-by: SSmallMonster <mingming.zhou@daocloud.io>
@SSmallMonster SSmallMonster changed the title fix: limit changelog entries and upgrade actions fix: bound changelog entries and synchronize release image tags Oct 26, 2026
@SSmallMonster
SSmallMonster merged commit 46155d0 into main Oct 26, 2026
1 check passed
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