Skip to content

feat(changelog): Preview PRs in every release workspace they land in - #942

Merged
BYK merged 1 commit into
masterfrom
feat/changelog-preview-workspaces
Oct 28, 2026
Merged

BYK merged 1 commit into
masterfrom
feat/changelog-preview-workspaces

Conversation

@sentry-junior

@sentry-junior sentry-junior Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Closes #941.

The changelog preview workflow didn't work in repos that define release workspaces. craft changelog --pr N failed because no workspace was selected, and the workflow hid the error, so every PR showed "No changelog entries" with no bump. Even with a workspace selected, the current PR was always added to the preview without the workspace path rules, so a server-only PR showed up as a bump in a client's changelog.

What changes

  • If the config defines workspaces and none is selected, craft changelog --pr N previews the PR in each workspace, starting from that workspace's latest tag. It keeps only the workspaces whose changelog would list the PR. The JSON output gets a workspaces array (name, bumpType, versioningPolicy). changelog holds the PR's own entry once, since the entry text is the same in every workspace.
  • With a workspace selected, the PR's changed files (from the GitHub API, including the old path of renamed files) go through the same rules as the release changelog: owned paths, includePaths, unownedPaths. A PR outside the workspace is left out and doesn't bump the version. To support this, the path matching in getChangesSince moved into getWorkspaceChangeFilter() so both callers share it.
  • The workflow still posts one comment or one commit status. It lists each workspace the PR lands in with its bump (CalVer workspaces show CalVer), and the status description reads e.g. clients/python: Minor, clients/rust: Patch. When a PR lands in no workspace, the preview says so, and title enforcement is skipped as it is for skip-changelog. Repos without workspaces get the same output as before.

I ran the built binary against the three-workspace config in getsentry/objectstore#737:

Callers that pin craft-version need a release with this change. The default latest picks it up.

via @BYK.

--

View Junior Session [Sentry]

Co-Authored-By: Burak Yigit Kaya <126780+BYK@users.noreply.github.com>
@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-10-28 12:43 UTC

@BYK
BYK merged commit ef9e8e0 into master Oct 28, 2026
30 checks passed
@BYK
BYK deleted the feat/changelog-preview-workspaces branch October 28, 2026 12:42

This branch was successfully deployed

1 active deployment
false — c54819a7 Deployed Oct 28, 2026 by sentry-junior[bot] via Build #3244
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.

Support release workspaces in the changelog preview workflow

1 participant