Dashboard › publish › Distillation
d1381ea5-2a93-4142-b131-bba64c83ca3e["lore_tm_v1_OlQXxqFct5sfrzbBVHGbuGzC8hbIOtHVgUe0RIwmTcE","lore_tm_v1_F73h-eskP_8hAAq72ED7nfmLHyDl9_NkCO0bfaHFWBE","lore_tm_v1_SWOg5jJ5eSXGglofbEpfRDhXUoDDYAXUmUL6sug3p2Q","lore_tm_v1_Gfkt34M1l0fSUfIxSTleIA5TyTkKML3gEJ-rPeKg7Sg","lore_tm_v1_EnWBZd_AZQyrQyUZBR7PepkydXF_pWSe8c0tT5pPBVI","lore_tm_v1_b4Oe1ZmrfCpuW3DJhb6VKnBQ4NtifQdA0ZwiEFVDgbU"]
src/modules/update-issue.js defines updateTargets({ octokit, stateFilePath, publishRepo, issue_number }); it returns without action when stateFilePath is absent or does not exist, otherwise concurrently fetches the issue and parses the UTF-8 JSON Craft state file, transforms issue.body, and updates the issue body through octokit.rest.issues.update.transformIssueBody(craftState, issueBody) in src/modules/update-issue.js replaces TARGETS_SECTION_PARSER_REGEX sections, tracks existing target IDs in a Set, marks each target checked when craftState.published[targetId] is truthy, and appends targets present in craftState.published but absent from the declared list.updateIssue({ context, octokit }) in src/modules/update-issue.js concurrently calls updateTargets with process.env.CRAFT_STATE_FILE_PATH and removes the accepted label via octokit.rest.issues.removeLabel; the module exports { updateIssue, transformIssueBody }.src/publish/update-issue.js obtains GitHub context and an authenticated Octokit client using getGitHubToken(), attempts to parse process.env.PUBLISH_ARGS, warns Could not parse publish inputs; skipping target update on malformed JSON, and invokes updateIssue({ context, octokit, inputs }); the current updateIssue implementation does not consume the passed inputs.src/publish/update-issue.js runs main() only when invoked directly, logs thrown errors, sets process.exitCode = 1, and exports { main }.src/modules/post-workflow-details.js defines postWorkflowDetails({ context, octokit }): it fetches the current workflow run with octokit.rest.actions.getWorkflowRun, then comments on the issue with Publishing: [run#${run_id}](${workflowInfo.html_url}); it exports postWorkflowDetails directly.src/publish/post-workflow-details.js immediately constructs context = github.context and octokit = github.getOctokit(getGitHubToken()), then invokes postWorkflowDetails({ context, octokit }) without awaiting it or attaching explicit error handling.src/publish/inputs.js calls detailsFromContext({ context: github.context }) and publishes the JSON-serialized result as the GitHub Actions output named result through core.setOutput("result", JSON.stringify(result)); inputs() is invoked immediately.src/modules/ci-poller-input.js defines getCiPollerInput({ title, issueBody, labels, revision }), using parsePublishIssueTitle, getReleaseRevision, updateReleaseRevision, isPublishRepository, isReleaseVersion, isPublishPath, and requestDigest.getCiPollerInput() converts title-parser failures into Error("Invalid publish issue title: '${title}'"), rejects invalid repositories with Invalid publish issue repository: '${repo}', rejects invalid versions with Invalid publish issue version: '${version}', and rejects invalid paths with Invalid publish issue path: '${path}'.getCiPollerInput() derives the path as .${parsedTitle.path}, reads currentRevision = getReleaseRevision({ issueBody, repo }), and, when a revision argument is supplied, computes resolvedIssueBody = updateReleaseRevision({ issueBody, repo, revision }).getCiPollerInput() returns optional issueBody: resolvedIssueBody only when revision is supplied, repo: \getsentry/${repo}`, a requestDigestcalculated from{ body: resolvedIssueBody, labels, title }, revision: currentRevision, and version; therefore the returned revision` remains the revision read from the original issue body even when the digest and optional returned body use the supplied replacement revision.