Dashboard › craft › Distillation
a37080fb-f3f0-485c-b0f3-a29c28d1be31["lore_tm_v1_vLcnk2MJO18dVON6tB9zxlNemotb9L5FRsdvWjDBwQU","lore_tm_v1_VuyPRsmdhGaMn4RYRXREOVJgjX5B3HZHo8HvGZloDL8","lore_tm_v1_Jje3GKTqkEbYOSTPvh-HFXutUFOH7GopGEGtZONeK_4","lore_tm_v1_T0175BCx4RUIhYF3Ra_QtCoi1hwvhCWXhvp7SuH8zhU","lore_tm_v1_aDw0AKuITJRd5Kzs3v4Ii4ayOVoTGzoqmN70LCgqNu8","lore_tm_v1_bLqcASMN66tqicD-F3A5isXnIee_v2jrA004bk3f2u0","lore_tm_v1_RoIfO84Cv1UdSOjLZT_irn8cvCclkyiyUlI52bmLpRk","lore_tm_v1_Kmh5KPrVqSKabf0ODWea86eJsoaDNl_ck-y6YoGLJ3E","lore_tm_v1_-A7P6NBijFdBXCt76-XvR6xOj3HB4mQkLlQG-whBWPQ"]
Date: Aug 29, 2026
/home/byk/Code/getsentry/publish-workspace-acceptance/src/publish/resolve-release-revision.js, /home/byk/Code/getsentry/publish-workspace-acceptance/src/publish/resolve-location.js, /home/byk/Code/getsentry/publish-workspace-acceptance/src/modules/release-revision.js, /home/byk/Code/getsentry/publish-workspace-acceptance/src/modules/publish-location.js, /home/byk/Code/getsentry/publish-workspace-acceptance/src/modules/__tests__/release-revision.js, and /home/byk/Code/getsentry/publish-workspace-acceptance/src/modules/__tests__/publish-location.js./home/byk/Code/getsentry/publish-workspace-acceptance/src/modules/publish-issue-title.peggy: PublishIssueTitle accepts publish: , optional getsentry/, a Repository, optional slash-prefixed Path, optional legacy [workspace: <JsonString>], @, and Version, followed by end-of-input. It returns { repo, path: path || "", version, ...(workspace ? { workspace } : {}) }.publish-issue-title.peggy: Repository and each PathSegment allow [A-Za-z0-9_.-]+; Path joins one or more /<segment> values; Version allows [A-Za-z0-9_.+-]+; LegacyWorkspace parses [workspace: + JsonString + ] ; JsonString retains its quoted source text and permits non-control non-quote/non-backslash characters or a backslash followed by any non-control character, delegating authoritative malformed-escape validation to JSON.parse./home/byk/Code/getsentry/publish-workspace-acceptance/src/modules/publish-issue-title.js: it is Peggy 5.1.0 CommonJS output, marked /* eslint-disable */, generated from the grammar with equivalent tokens/rules and parser return shape./home/byk/Code/getsentry/publish-workspace-acceptance/scripts/generate-publish-issue-title-parser.js: reads src/modules/publish-issue-title.peggy, generates CommonJS source via peggy.generate() with grammarSource: "publish-issue-title.peggy" and output: "source", formats with Prettier using filepath: outputPath, and writes src/modules/publish-issue-title.js. With --check, it compares the current generated parser and throws The generated publish issue title parser is stale. Run \yarn generate`.` if different./home/byk/Code/getsentry/publish-workspace-acceptance/src/modules/release-revision.js: getReleaseRevision({ issueBody, repo }) matches CHECK_RUNS_LINK, requiring a multiline line exactly formatted as - [View check runs](https://github.com/getsentry/<repo>/commit/<revision>/checks/?) with optional CR before line end; repository names allow [A-Za-z0-9_.-]+ and revisions must be 40 lowercase hex characters [0-9a-f]{40}. It throws Expected a View check runs link for getsentry/${repo} in the publish issue body. when no match/groups exist or the linked repo differs from repo./home/byk/Code/getsentry/publish-workspace-acceptance/src/modules/publish-location.js: needsWorkspaceDiscovery({ path, workspace }) is true only when workspace is falsy and path exactly matches ./[A-Za-z0-9_.-]+. resolvePublishLocation({ path, workspace, workspaceNames }) returns { path, workspace } for explicit workspace only if path === ".", otherwise throws A publish workspace must use the repository root path.; when discovery is unnecessary it returns { path }; when discovery applies it validates every workspace name, then converts a matching single-segment ./<workspaceName> to { path: ".", workspace: <workspaceName> }, otherwise returns { path }.isWorkspaceName(name) in src/modules/publish-location.js accepts only strings other than "__proto__" matching /^[A-Za-z0-9_.-]+$/; invalid discovered lists cause Craft workspace discovery returned an invalid workspace list./home/byk/Code/getsentry/publish-workspace-acceptance/src/publish/resolve-release-revision.js: resolveReleaseRevision() parses process.env.PUBLISH_ARGS || "", obtains repo, calls getReleaseRevision({ issueBody: process.env.PUBLISH_ISSUE_BODY || "", repo }), and sets GitHub Actions output "revision" via @actions/core core.setOutput()./home/byk/Code/getsentry/publish-workspace-acceptance/src/publish/resolve-location.js: resolveLocation() parses process.env.PUBLISH_ARGS || ""; it parses process.env.CRAFT_WORKSPACE_NAMES || "" only when needsWorkspaceDiscovery(input) is true, otherwise uses []; requires workspaceNames to be an array or throws Craft workspace discovery returned an invalid workspace list.; then sets GitHub Actions output "result" to resolvePublishLocation({ path: input.path, workspace: input.workspace, workspaceNames })./home/byk/Code/getsentry/publish-workspace-acceptance/src/modules/__tests__/release-revision.js: REVISION is "7e5ca7ed5581552de066e2a8bc295b8306be38ac"; tests verify extraction for getsentry/toolkit from both LF and CRLF issue bodies, and rejection—with the expected getsentry/toolkit diagnostic—of a check-runs link for getsentry/other, a missing link, and an uppercase 40-character revision.