Dashboard › publish › Distillation
38fa7989-8d77-434b-ab6c-87ca4f69810c["lore_tm_v1_1zGTgYQXdf_8ExHpk4PZKGR6kED65hEvde90GTxafIc","lore_tm_v1_Ocouc07Xfjm9Lxcw6s4g-CVklTNC8CGEoYCfOqfAbyw","lore_tm_v1_4JG_nMnaVT_X2sYD3h0NKO9hnVYmnsdeUwaLXl99mxc","lore_tm_v1_nkRQTspK3JTpGrhU1R7JBlM87_yCGA-_chFtmaO4e08","lore_tm_v1_4bLJ4F1VM6TfIOGcaZGPSM6ae_DeG7Msp0nxvvc1Ric","lore_tm_v1_GseLn62MonfI3nbFH4p3u0wQ1r6HxWmp3wWhRiI2j14","lore_tm_v1_UzJghcUWQVWZYtSXmJUn1itSOGDAYu1_b28-jpYO8-A"]
/home/byk/Code/getsentry/publish/package.json defines package publish, private version 0.0.1, description Approval-based publishing system for Sentry, main index.js, repository git@github.com:getsentry/publish.git, author Sentry Open Source <oss@sentry.io>, and license Apache-2.0./home/byk/Code/getsentry/publish/package.json pins Volta to Node 24.0.0 and Yarn 1.22.22, with resolution undici: ^6.23.0./home/byk/Code/getsentry/publish/package.json scripts are: generate: node scripts/generate-publish-issue-title-parser.js; check:generated: node scripts/generate-publish-issue-title-parser.js --check; test: yarn check:generated && vitest run; test:watch: vitest; lint: eslint src .github --ignore-pattern '!.github'; prettier: prettier --write src./home/byk/Code/getsentry/publish/package.json devDependencies are eslint: ^8.9.0, eslint-config-prettier: ^8.3.0, eslint-plugin-yml: ^0.13.0, peggy: 5.1.0, prettier: ^2.2.1, and vitest: ^4.1.0; dependencies are @actions/core: ^2.0.0, @actions/github: ^7.0.0, and @sentry/node: ^10.0.0..github/workflows/publish.yml and src/publish/discover-location.js were updated successfully.No files found.src/modules/__tests__/publish-workflow.js imports resolvePublishLocation from ../publish-location.js, reads .github/workflows/publish.yml, and maintains temporary directories cleaned recursively with rmSync(..., { recursive: true, force: true }) after each test.getSetTargetsScript() in src/modules/__tests__/publish-workflow.js extracts the shell script from the workflowβs Set targets step using a regex whose endpoint still expects uses: docker://getsentry/craft:latest; it throws Missing Set targets workflow script when extraction fails.runSetTargets({ path, repo, version, workspace = "" }) executes the extracted script via bash -e -c with CRAFT_PUBLISH_PATH, CRAFT_PUBLISH_REPO, CRAFT_PUBLISH_TARGETS_JSON: '["github"]', CRAFT_PUBLISH_VERSION, CRAFT_PUBLISH_WORKSPACE, GITHUB_OUTPUT, and GITHUB_WORKSPACE; it expects exit status 0 and returns the generated stateFile path and file contents.uses the CI-approved revision for checkout, location resolution, and publishing test in src/modules/__tests__/publish-workflow.js enforces step ordering: Resolve CI-approved release revision before Inform start, then Check out target repo, Resolve publish location, Set targets, and Publish using Craft.ref: ${{ steps.release-revision.outputs.revision }}, exactly 2 occurrences of actions/checkout@v7, node .__publish__/src/publish/discover-location.js, PUBLISH_REPOSITORY_DIRECTORY: __repo__, and forbids getsentry/craft:2.31.0.CRAFT_PUBLISH_PATH: ${{ fromJSON(steps.location.outputs.result).path }}, CRAFT_PUBLISH_WORKSPACE: ${{ fromJSON(steps.location.outputs.result).workspace || '' }}, and craft publish ${{ fromJSON(steps.inputs.outputs.result).version }} --rev ${{ steps.release-revision.outputs.revision }}.publishes only on a fresh CI-ready label event test requires github.event.label.name == 'ci-ready', labels containing both accepted and ci-ready, and labels not containing ci-pending or ci-failed.uses Craft's legacy root state filename test runs Set targets with path ., repo sentry, and version 21.3.1; it expects a path ending .craft-state/craft/publish-state-getsentry-sentry-c232c383e26f-21.3.1.json and state { published: { github: true } }.matches Craft's workspace state filename for a monorepo release test resolves path ./packages/cli against workspace names ["packages/cli"], then uses repo toolkit and version 1.2.3; it expects a path ending .craft-state/craft/publish-state-getsentry-toolkit-c232c383e26f-workspace-cGFja2FnZXMvY2xp-1.2.3.json and state { published: { github: true } }.does not collide state files for release versions that differ by case test compares repo toolkit versions 4.2.6+sentry1 and 4.2.6+Sentry1; it requires different state files ending respectively in -version-NC4yLjYrc2VudHJ5MQ.json and -version-NC4yLjYrU2VudHJ5MQ.json.src/publish/__tests__/publish-workflow.js reads .github/workflows/publish.yml and tests that Revalidate approval attestation occurs after Set targets but before Publish using Craft, with the workflow suffix containing REQUIRE_CI_READY_ATTESTATION: "true".pins Craft to an immutable digest test in src/publish/__tests__/publish-workflow.js requires a workflow reference matching uses: docker://getsentry/craft@sha256: followed by exactly 64 lowercase hexadecimal characters.