Dashboard › craft › Distillation
d4417ffe-8358-427d-9f2b-b72db90eee10["lore_tm_v1_mhax5Odgbgo_j26OXnWQCTb9cdXx214IUq0LbGELmD8","lore_tm_v1_TVnt1HLR5XX8NmGqU5Y6c7cKkZHo0kt3_f7I4UfVs6c","lore_tm_v1_rUtmJOUXMTkFC_F8nf3Hb8xIz5JitHP8jvEKdkh1QBk","lore_tm_v1_ImfaxfFHCi7jqfcvkTo_GXZa8u94Gpb4eJhtIF0FUbY","lore_tm_v1_yTnGox3_vmKfrfzxbQctQHJV2-R8M7QREaYM2DbK5Cg","lore_tm_v1_Le0rK7TqOrAyNFMDu5qatV48P1GmrGJyC03hO-smjt0","lore_tm_v1_qYQZSbh73MR-GRn62fYpeSaSyQlHqITVGizkDK_wiJ4","lore_tm_v1_PyunrpZmIAvsmZ9EL-FFLeBjSLocn_SzXGfmkgmpCgM","lore_tm_v1__2OyN-czZfUXQ2yblKFiakOClIOMzGvGCEghpKjH4Qk","lore_tm_v1_aM166Zk7gDkyifIMcCebSzATHxfl83_GvYFbAyz4jg4","lore_tm_v1_UGfS-pfkREQyJlZs1SdU6i5EHvqXz1H2zbMuWuOd58U","lore_tm_v1_6P47jjmH7yNktxWjnNsZjRuZDMkpUsycL545_CAT8qQ","lore_tm_v1_MKFXmONkWx7rWaNDE4UQbh3Y4HT1wvrGhgPSNKvJUoQ","lore_tm_v1_Y4qkJNzTXeE85_pSa9hr1y6W0-F6pbkWTi71M77J5bU","lore_tm_v1_kPLLy3AN0JckH3gPTS5ZWcM_wE7ZZjK-UVIjlA5ncmA","lore_tm_v1_Nk2yKBHpx8DhSSv6FuP2Y0Xw5fmaJ49b7CpDi06s4QA","lore_tm_v1_oGH7AJF4HZE5KdSU0f4H96kl_1smHIEHIOEPr4_YaFo","lore_tm_v1_zSNwhqy9EB6RinTCcLEazCIvOl2B62CvG861X65Bwe4","lore_tm_v1_JCla2U_EGRHZBqH-_gUdPO3tt-xL6Bap7kChH8lGVsg","lore_tm_v1_N97nXTcvhKKig1xto2f3sy8yseVkbi2-nTHqgbM_h7o","lore_tm_v1_xuncZJ1cMDffjUBvjbzrD_usrWbjy_5o0Daw_SKEFtk","lore_tm_v1_Q1MJpyye6FTzdKr8jAunaWGKD1j6m_8Bk8NZuidDw3s","lore_tm_v1_ARi5pn_ZUuViqR0riEYqpP-tBKXSN7TPtu4wJrD-WlI","lore_tm_v1_PuGtp8bV916c68PoVbKVRkyuaYRGtAGVwuk3Nk-5JLU","lore_tm_v1_VgVMY1s64VKCl8MP4e1zzlMiyW90GBjMVEjg9nm7P-s","lore_tm_v1_94YeiMogGOVBNWRRR1aJ5q5YDKfh6xAJgS4kv23LNyc","lore_tm_v1_TeVMxuM--uZGwKQsIkqTykbducznvIppnVAwIuNwp-M","lore_tm_v1_WLObGpfqm8K4RBdXl4zCLB9bFrfKDPQlzkUMjfI6i-g","lore_tm_v1_hcvMQz9beYZLa7ka5NOTIJs-GH1qowkC2tNd0yM0T4I"]
Date: Aug 29, 2026
craft-workspace-action-propagation, src/commands/publish.ts:626-681 uses config.releaseBranchPrefix || DEFAULT_RELEASE_BRANCH_NAME; when argv.rev is supplied it calls getRevisionBranchName(git, rev), sets checkoutTarget = branchName || rev, and checks it out. Without --rev, it checks out ${branchPrefix}/${newVersion} and on failure calls findReleaseBranches() to produce detailed ConfigurationError diagnostics listing exact/fuzzy release branches or no remote branches. It resolves the final revision with git.revparse('HEAD') before CI/artifact checks.getRevisionBranchName at src/commands/publish.ts:634 and its export at line 933; related tests are imported at src/commands/__tests__/publish.test.ts:6 and defined around lines 213, 219, and 235.getRevisionBranchName(git, revision) in Craft src/commands/publish.ts:933-945 runs git.raw('name-rev', '--name-only', '--no-undefined', revision).trim(). If it throws, it returns '', with comment that a CI-approved SHA can be checked out detached without a named ref.yarn test regenerates the Publish parser first and add workflow coverage that compact discovery uses the pinned Craft image while legacy routing remains independent of it.publish-workspace-acceptance/package.json, src/modules/details-from-context.js, and src/modules/__tests__/publish-workflow.js.yarn test now runs parser generation first, preventing stale generated output.publish-workspace-acceptance, focused command yarn generate && vitest run src/modules/__tests__/details-from-context.js src/modules/__tests__/publish-location.js src/modules/__tests__/release-revision.js src/modules/__tests__/publish-workflow.js passed: parser generated via node scripts/generate-publish-issue-title-parser.js; 4 test files and 30 tests passed in 616ms. eslint src .github --ignore-pattern '!.github' also passed in 0.92s..github/workflows/publish.yml, docs/publish-issue-format.md, package.json, src/modules/__tests__/publish-workflow.js, src/modules/details-from-context.js, src/modules/post-workflow-details.js, src/publish/inputs.js, and yarn.lock; untracked pnpm-lock.yaml, scripts/, src/modules/__tests__/publish-location.js, src/modules/__tests__/release-revision.js, src/modules/publish-issue-title.js, src/modules/publish-issue-title.peggy, src/modules/publish-location.js, src/modules/release-revision.js, src/publish/resolve-location.js, and src/publish/resolve-release-revision.js. Tracked diff stat: 8 files, 145 insertions, 65 deletions.src/modules/post-workflow-details.js and src/publish/inputs.js, which it planned to exclude from a commit; it would inspect untracked modules and Craft SHA-fallback tests before full validation.src/commands/__tests__/publish.test.ts verify publish-state filename parity for /github/workspace/__repo__/packages/cli and workspace cli; preserve resolved GitHub configuration {owner: 'release-owner', repo: 'release-repo'} when controller state identity is undefined; reject malformed CRAFT_PUBLISH_STATE_GITHUB_REPO='getsentry/toolkit/extra'; getRevisionBranchName(git, 'abc123') returns release/1.2.3 when git.raw resolves and calls name-rev --name-only --no-undefined abc123; and returns '' when git.raw rejects, allowing a detached CI-approved revision.src/publish/resolve-release-revision.js imports @actions/core and getReleaseRevision from ../modules/release-revision; resolveReleaseRevision() parses process.env.PUBLISH_ARGS || "" for {repo}, then sets GitHub Actions output revision from getReleaseRevision({issueBody: process.env.PUBLISH_ISSUE_BODY || "", repo}).action.yml, docs/src/content/docs/targets/github.md, src/__tests__/action.test.ts, src/__tests__/config.test.ts, src/commands/__tests__/publish.test.ts, src/commands/publish.ts, src/config.ts, src/index.ts, and src/schemas/project_config.ts; untracked src/commands/workspace.ts and src/commands/workspace_cmds/. Diff stat: 9 files, 370 insertions, 97 deletions.pnpm-lock.yaml.yarn test ran yarn generate && vitest run; all 8 files and 43 tests passed in 1.45s. ESLint passed in 1.14s. Prettier reported all supported matched files formatted but then failed on src/modules/publish-issue-title.peggy because no parser could be inferred for .peggy._abortError at src/commands/publish.ts:482, _abortError at line 499, _statusError at line 515, _diffError at line 521, and _abortError at line 527 are defined but never used under @typescript-eslint/no-unused-vars._err at src/utils/git.ts:241 and line 249 is defined but never used under @typescript-eslint/no-unused-vars.vitest run passed: 61 files, 1,152 tests passed, 1 skipped (1,153 total), duration 28.43s. Test/runtime output included expected mocked GitHub-release cleanup scenarios, Vite SSR warnings that assignments to imported checkExecutableIsPresent in src/targets/__tests__/symbolCollector.test.ts:58 and :68 will throw, remote-ref fallback debug logs, and “Entry docs → 404 was not found.”lint completed with 0 errors and 7 warnings, all @typescript-eslint/no-unused-vars: five in src/commands/publish.ts and two in src/utils/git.ts. Formatting passed. Build completed with SENTRY_AUTH_TOKEN absent, so source-map upload was skipped.astro build passed. It generated static output in docs/dist/, built 29 pages, created the Pagefind search index and sitemap-index.xml; build completed in 3.50s.craft:2.31.0 image deployment gate; no files would be changed.craft:2.31.0 deployment prerequisite before committing or updating linked PRs.