Dashboard › craft › Distillation
160ba9c7-b11c-422e-9843-b4c393e152a6["lore_tm_v1_csEeMPdS78Y7a_tinZcna5oHr1VImPUznWcdvlR0srg","lore_tm_v1_HH4-K-mNkhyShv7QJVRYdGWyyCBQSpciU5G_Lc_D1TQ","lore_tm_v1_8LLdHVmqsXAWczoEfaaYIuRmgBEmc4OxYJwkZg84ht0","lore_tm_v1_m2lzEFWJvybLqMAnAUtveGEIXLcs08g_bdW0GyxIhQg","lore_tm_v1_xg9zihHcn3tLwstAc3hDxb7TxGbtR0BILCpKyXn1ets","lore_tm_v1_dPSqjzqhDxRHszapU3NRW8AhiQznTkQtKBBLmbNOMd4","lore_tm_v1_kkGTzHsnCwBOO1uqeZmK2dUeMU473n6KAPRidbpFTGA","lore_tm_v1_1mNEaln7BybKDYQIcCYnla_Ec3toELNDXkkQpvydNRw","lore_tm_v1_2xgfcr_g6KxneXSUEySXq8YwtujpQ_ODpwWLmOY3qqw"]
Date: Aug 27, 2026
docs/publish-issue-format.md defines publish issues as release requests: title identifies the release, body supplies merge target and selected targets; titles must start publish: and should not be manually edited unless still valid.publish: getsentry/<repository><optional-path>@<version> and workspace publish: getsentry/<repository><optional-path> [workspace: <json-string>] @<version>; examples include publish: getsentry/sentry@21.3.1, publish: getsentry/toolkit/cli@1.2.3, publish: getsentry/toolkit/cli [workspace: "cli/v2"] @1.2.3, and publish: getsentry/toolkit [workspace: "cli [preview] \"next\""] @1.2.3.getsentry/ is optional when parsing existing publish issues. Repository names permit ASCII letters, digits, ., _, and -; optional paths begin /, permit letters/digits/_/.///-, and may not include a .. segment; versions permit letters, digits, _, ., +, and -.<json-string> must be one valid double-quoted JSON string decoding to a nonempty workspace name and cannot contain Unicode categories Cc, Cf, Zl, or Zp; JSON escaping makes brackets, quotes, and printable characters unambiguous.@; workspace titles require one space between closing ] and @.Requested by: @<actor>, optional Merge target: <branch-or-(default)>, quick links for changes and check runs, approval guidance to add accepted, and a ### Targets checklist. (default) selects the target repository default branch; explicit merge-target branch names permit letters, digits, _, ., /, and -.- [x] <target-id> entries under ### Targets; Craft preserves checked items when refreshing existing requests. After failed releases, the controller updates checkboxes from its secure Craft publish-state file, skips checked targets on retry unless manually unchecked, and users can uncheck targets to retry. accepted starts publishing and dry-run selects dry-run mode.gh issue list defaults to open issues and supports alias gh issue ls; filters include --app, --assignee, --author, --label, --limit (default 30), --mention, --milestone, --search, --state (open|closed|all, default open), --type, and cross-repository selection via -R, --repo [HOST/]OWNER/REPO.gh issue list supports JSON fields including assignees, author, body, comments, createdAt, labels, number, state, title, updatedAt, and url; it also supports --jq and Go-template --template output, --web, and advanced search syntax on supported GitHub hosts.24 projectPath-related matches in craft-workspace-action-propagation: src/schemas/project_config.ts declares optional projectPath; src/config.ts shallow-merges GitHub owner/repo/projectPath, allowing workspace projectPath override while inheriting owner/repo; src/commands/__tests__/publish.test.ts uses projectPath: 'packages/cli'; src/__tests__/config.test.ts covers projectPath: 'cli' inheritance and no-top-level-GitHub detection; and src/targets/pypi.ts uses a local pyprojectPath for pyproject.toml version updates.1 projectPath changelog match: CHANGELOG.md:1574 contains feat: Add projectPath config option to GitHub (#220).Switched to branch "${branchName}".97 branch-related matches in craft-workspace-action-propagation. In src/commands/prepare.ts, createReleaseBranch() defaults to DEFAULT_RELEASE_BRANCH_NAME, creates ${branchPrefix}/${newVersion}, checks it out with git.checkoutBranch(branchName, rev), logs Created a new release branch: "${branchName}" and Switched to branch "${branchName}", then returns it.src/commands/prepare.ts pushes release branches through pushReleaseBranch(git, branchName, remoteName, !argv.noPush): it logs Pushing the release branch "${branchName}"..., uses git.push(remoteName, branchName, ['--set-upstream']), or logs Not pushing the release branch. and provides $ git push -u ${remoteName} "${branchName}". It outputs branch through setGitHubActionsOutput('branch', branchName), generates GitHub changelog/diff URLs based on ${branchName}, and logs successful push.src/commands/publish.ts supports source revision git SHA or tag when not publishing release-branch head, --no-merge to avoid merging, and an option not to remove the release branch after merging. It resolves/checks out either a supplied revision/release branch or ${branchPrefix}/${newVersion}, reports missing release branches and available remote branches, and contains merge-conflict recovery instructions to merge the release branch into target, resolve conflicts, and delete it with git push ${argv.remote} --delete ${branchName}.src/commands/publish.ts does not merge the release branch when argv.noMerge, no release branch is involved, earlier publish state exists, or only specific targets were published; it reports that after all targets are published, the user should run the supplied merge command. It stores publish state using getPublishStatePath(), keyed by owner/repo and active workspace, warns about legacy cwd publish-state files, and reads/writes JSON state via safeFs.writeFileSync.src/config.ts documents default release-branch prefix and whether a release branch should be merged after publishing; it notes release branches may contain compiled artifacts needed by the action while clean main/master does not, so merging back could overwrite the clean branch.src/targets/sentryPypi.ts creates branch name craft-release-${revision}, uses it as refs/heads/${branchName}, and sets pull-request head to branchName; src/targets/cloudflare.ts distinguishes its selector from Craftβs Git release branch.publish-workspace-acceptance/package.json describes private package publish version 0.0.1, βApproval-based publishing system for Sentry,β repository git@github.com:getsentry/publish.git, Apache-2.0 license, and author Sentry Open Source <oss@sentry.io>.publish-workspace-acceptance/package.json pins Volta node 24.0.0 and yarn 1.22.22, resolves undici to ^6.23.0, provides scripts test: vitest run, test:watch: vitest, lint: eslint src .github --ignore-pattern '!.github', and prettier: prettier --write src.publish-workspace-acceptance/package.json dependencies are @actions/core ^2.0.0, @actions/github ^7.0.0, and @sentry/node ^10.0.0; dev dependencies are eslint ^8.9.0, eslint-config-prettier ^8.3.0, eslint-plugin-yml ^0.13.0, prettier ^2.2.1, and vitest ^4.1.0.No files found.