Skip to content

feat(github): Add releaseName option to title releases with the prefixed tag - #933

Closed
sentry-junior[bot] wants to merge 1 commit into
masterfrom
feat/github-release-name
Closed

sentry-junior[bot] wants to merge 1 commit into
masterfrom
feat/github-release-name

Conversation

@sentry-junior

@sentry-junior sentry-junior Bot commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Adds a releaseName option to the github target so repos that release several products without release workspaces can title GitHub releases with the prefixed tag instead of the bare changelog heading.

Our example: objectstore

getsentry/objectstore releases its Python and Rust clients separately from one repo, with one .craft.yml per client and no workspaces:

# clients/python/.craft.yml
targets:
  - name: github
    tagPrefix: py-client@
# clients/rust/.craft.yml
targets:
  - name: github
    tagPrefix: rs-client@

Before: the tags are distinct, but both releases take their title from the changelog heading, ## 0.3.0. So the releases page shows two releases both titled 0.3.0:

Tag Release title
py-client@0.3.0 0.3.0
rs-client@0.3.0 0.3.0

#926 already fixes this, but only inside release workspaces. It left non-workspace configs alone on purpose, so single-product repos with tagPrefix: v don't suddenly get v1.2.3 titles.

After: each config opts in with one line:

targets:
  - name: github
    tagPrefix: py-client@
    releaseName: tag
Tag Release title
py-client@0.3.0 py-client@0.3.0
rs-client@0.3.0 rs-client@0.3.0

Behavior

  • releaseName: changelog titles the release with the changelog heading as-is.
  • releaseName: tag uses the same rule feat(github): Prefix release titles with the workspace tag prefix #926 added for workspaces: if the heading starts with the bare version, that version is replaced with the prefixed tag. Any text after the version is kept, and headings that don't start with the version are used as-is.
  • Default: tag in a release workspace and changelog otherwise. Nothing changes for existing configs. Workspaces can now opt out with releaseName: changelog.
  • Any other value fails with a ConfigurationError.

getReleaseName() in src/targets/github.ts now checks this option instead of only checking whether a workspace is active. The GitHub target docs cover the option in the table and in the monorepo section.

via @lcian.

--

View Junior Session [Sentry]

…xed tag

Co-Authored-By: Lorenzo Cian <17258265+lcian@users.noreply.github.com>
@github-actions

github-actions Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-10-27 18:25 UTC

@lcian
lcian marked this pull request as ready for review October 27, 2026 13:15
@lcian
lcian requested review from BYK and MathurAditya724 October 27, 2026 13:15

@BYK BYK left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adds a releaseName option to the github target so repos that release several products without release workspaces can title GitHub releases with the prefixed tag instead of the bare changelog heading.

Our goal should be to move those products/projects to workspaces and fix whatever is holding them back.

@BYK BYK closed this Oct 27, 2026

This branch was successfully deployed

1 active deployment
false — 47ca0e72 Deployed Oct 27, 2026 by sentry-junior[bot] via Build #3219
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.

2 participants