Dashboard › craft › Distillation
1eb6cba8-42f8-41ac-8d69-4a67edc5ec05["lore_tm_v1_MC7k6qB0HHLHKzTGElCZ42ZJGlAj9ym8RRtfsuSdLkw","lore_tm_v1_WRjgJpnXu9vnO3H6rus2lpBMzk16E0vnu0RAIQ3aOtc","lore_tm_v1_046NADP5l9Qi0knLgQaSVivXiI4qjCzoP6WrBDUWtb4","lore_tm_v1_d8NucOboCmya00Fladp78umeD5wzjP913nWAiBAiLqM","lore_tm_v1_YGIR-rVsdR8w-QzbRK6ZltZ9sEcgGzuGCJQWn4nwF3k","lore_tm_v1_NmHliRwcXHVHcj8wt0NeSAf-WCIaWQVvtnZ_MM5bIcQ","lore_tm_v1_tqofu2pDCoYp-s3WlSxltsEW3Wcj0i84ei1u5AUZTh8","lore_tm_v1_c0eyG0IpMXM94NCjdDN0C5y_43xCQhxRq-TO8LQiEf8","lore_tm_v1_hQdxTw0U0CQq_DI9UtN7bYuMd10qPwluDZJh5npCCdk","lore_tm_v1__4jvQ0nnXnS6oOwxZ1ofhgbfSOR2qm7Gt61WArYKNNY","lore_tm_v1_pOAvrbgBKCRrNa3Q7sCbc2EmH5Vd0wF7W3pz-KOxVVQ","lore_tm_v1_lYxLHImLqX_rtTFgaoiMebq07M9LBATzAiBuUlEP9cI","lore_tm_v1_YGAeeEo9JTb4eld0IL36x3_yCZcNABSk7_Jfh10Rzqk","lore_tm_v1_Ql3VuErLk4cURRWh2dD5sypioZmshJbAj2sVLzfa8-4"]
Date: Aug 29, 2026
/home/byk/Code/getsentry/publish-workspace-acceptance: commit 33de3f1 (feat: accept workspace publish requests) changed .github/workflows/publish.yml, src/modules/details-from-context.js, src/modules/update-issue.js, and related tests (377 insertions, 40 deletions); commit b658ffa (fix: validate publish workspace JSON) changed .github/workflows/cocoapods-keepalive.yml, README.md, docs/publish-issue-format.md, src/modules/details-from-context.js, and its tests (112 insertions, 2 deletions). Base ancestry output was 0.b658ffa changed .github/workflows/cocoapods-keepalive.yml workflow display name from "CocoaPods Token Keep-Alive" to CocoaPods Token Keep-Alive.vitest run in /home/byk/Code/getsentry/craft-workspace-action-propagation for @sentry/craft@2.31.0-dev.0: 61 test files passed; 1,152 tests passed, 1 skipped (1,153 total); duration 34.74s. Vite/esbuild emitted two SSR warnings in src/targets/__tests__/symbolCollector.test.ts (lines 58 and 68) that assigning to imported checkExecutableIsPresent will throw.v1.0.0; cleanup failure; skipping creation when tag 1.0.0 already has a published release; createRelease HTTP 422 with deletion of leftover draft release ID 789; preserving a live release after error; floating-tag update failure requiring possible manual update; release-body truncation from 180,000 and 125,001 characters to GitHubβs 125,000-character limit; refusing to delete nondraft v1.0.0; dry-run release deletion; and remote-ref/branch-list fetch failures falling back to cached refs.yarn check:generated && vitest run in /home/byk/Code/getsentry/publish-workspace-acceptance: node scripts/generate-publish-issue-title-parser.js --check passed; Vitest v4.1.0 reported 8 test files and 45 tests passing; total command duration 2.84s./home/byk/Code/getsentry/craft-workspace-action-propagation include modified 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, src/commands/workspace_cmds/list.ts, and src/commands/workspace_cmds/__tests__/list.test.ts.action.yml +8/β10; docs/src/content/docs/targets/github.md +32/β4; src/__tests__/action.test.ts +115/β10; src/__tests__/config.test.ts +92/β38; src/commands/__tests__/publish.test.ts +27/β0; src/commands/publish.ts +15/β3; src/config.ts +35/β13; src/index.ts +2/β0; src/schemas/project_config.ts +44/β19./home/byk/Code/getsentry/publish-workspace-acceptance include modified .github/workflows/publish.yml, docs/publish-issue-format.md, package.json, src/modules/__tests__/details-from-context.js, 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/generate-publish-issue-title-parser.js, 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..github/workflows/publish.yml +31/β28; docs/publish-issue-format.md +33/β22; package.json +4/β1; src/modules/__tests__/details-from-context.js +20/β0; src/modules/__tests__/publish-workflow.js +34/β2; src/modules/details-from-context.js +12/β7; src/modules/post-workflow-details.js +1/β1; src/publish/inputs.js +1/β1; yarn.lock +31/β0.@actions/core implementation at /home/byk/Code/getsentry/publish-workspace-acceptance/node_modules/@actions/core/lib/core.js: setOutput(name, value) writes through the GITHUB_OUTPUT file using issueFileCommand('OUTPUT', prepareKeyValueMessage(name, value)) when GITHUB_OUTPUT is set; otherwise emits the deprecated ::set-output command. Non-string output values are JSON-stringified.--workspace --dry-run is never mistaken for a workspace name.extractWorkspaceSelection(argv, env = process.env) in /home/byk/Code/getsentry/craft-workspace-action-propagation/src/utils/helpers.ts: it reads CRAFT_WORKSPACE, parses raw argv with Node parseArgs (workspace: { type: 'string' }, allowPositionals: true, strict: false, tokens: true), supports --workspace foo and --workspace=foo, and uses the final --workspace occurrence. A bare/empty final option clears an earlier CLI value and falls back to CRAFT_WORKSPACE; inline --workspace=-foo is valid, while a following --prefixed option is not a workspace value.src/utils/helpers.ts defines MAX_STEP_OUTPUT_BYTES = 64 * 1024, selected to remain below the approximately 2 MB ARG_MAX kernel limit and GitHubβs approximately 65,536-character issue-body limit; outputs exceeding it are truncated before GitHub Actions expands them into later-step environment variables.envToBool(envVar) in src/utils/helpers.ts considers only '', 'undefined', 'null', '0', 'false', and 'no' false after string conversion and lowercasing. Default global flags are 'dry-run': false, 'no-input': false, and 'log-level': 'Info'./home/byk/Code/getsentry/craft-workspace-action-propagation/src/schemas/project_config.ts: releaseUnitFields are github, targets, preReleaseCommand, postReleaseCommand, releaseBranchPrefix, changelog, changelogPolicy, requireNames, statusProvider, artifactProvider, versioning, and noMerge; each named workspace inherits top-level values and overrides declared fields.WorkspaceSchema permits a partial GitHubGlobalConfigSchema but rejects github.projectPath with Workspace github.projectPath is not supported. WorkspaceNameSchema allows only /^[A-Za-z0-9_.-]+$/ and explicitly rejects __proto__ to prevent prototype mutation. CraftProjectConfigSchema accepts workspaces: z.record(WorkspaceNameSchema, WorkspaceSchema).optional() and rejects any top-level github.projectPath when one or more workspaces exist.workspaces: true package-discovery setting. When top-level workspaces is present, a release must select one with --workspace <name> or CRAFT_WORKSPACE; when absent, top-level configuration remains the backward-compatible implicit release unit.workflow_dispatch must always be allowed for manual recovery..github/workflows/ci-poller.yml in /home/byk/Code/getsentry/publish-workspace-acceptance: workflow CI Status Poller runs on cron */5 * * * * and workflow_dispatch, whose optional attempt input defaults to "0". The check-ci job uses ubuntu-latest, production, concurrency group ci-status-poller with cancel-in-progress: false, and runs when vars.CI_POLLER_HAS_PENDING == 'true' || github.event_name == 'workflow_dispatch'.ci-poller.yml creates an internal-app token for same-repository label changes and a sentry-release-bot token (owner: getsentry) for cross-repository API calls; the latter supports private repositories where the internal app may produce 404s. It polls open issues carrying both ci-pending and accepted labels, up to 200 issues.ci-poller.yml parses issue titles as publish: owner/repo[/path]@version, retaining only the first owner/repo two segments; extracts a 40-hex commit SHA from a /commit/<SHA>/checks link in the issue body; then resolves release branch from the original SHAβs first check suite and resolves branch HEAD, updating the issueβs check-runs link when the branch has moved.gh api authenticated by RELEASE_TOKEN; skips an issue if either API call fails, or if both check-run and status counts are zero. CI is ready only when commit status is success or there are zero statuses, all check runs are completed, and no completed check has a conclusion outside success, neutral, or skipped.ci-poller.yml replaces ci-pending with ci-ready and comments that publishing starts. On failed completed check runs or failed commit statuses, it replaces ci-pending with ci-failed, removes accepted to stop polling, reports failed check names/contexts with a check-runs link, and instructs the author to re-add accepted after fixing CI.if: always(), counts remaining open issues with both ci-pending and accepted, then uses CI_POLLER_APP_CLIENT_ID/CI_POLLER_APP_PRIVATE_KEY to set repository variable CI_POLLER_HAS_PENDING to "false" if none remain or "true" otherwise.ci-poller.yml using the internal-app token while pending issues remain, incrementing attempt; it caps chaining at 60 attempts (approximately 30 minutes) and then relies on cron fallback. The intended inter-check delay is approximately 30β60 seconds through GitHub Actions startup latency; concurrency permits 1 running and 1 queued workflow./home/byk/Code/getsentry/publish-workspace-acceptance/pnpm-lock.yaml with lockfileVersion: '9.0', autoInstallPeers: true, excludeLinksFromLockfile: false, and override undici: ^6.23.0. Root dependencies resolve @actions/core ^2.0.0 to 2.0.3, @actions/github ^7.0.0 to 7.0.0, and @sentry/node ^10.0.0 to 10.71.0.pnpm-lock.yaml dev dependencies resolve eslint ^8.9.0 to 8.57.1, eslint-config-prettier ^8.3.0 to 8.10.2, eslint-plugin-yml ^0.13.0 to 0.13.0, peggy 5.1.0, prettier ^2.2.1 to 2.8.8, and vitest ^4.1.0 to 4.1.11.