Dashboard › publish › Distillation
da505d88-bec2-49fe-bdc9-51c4f1f43739["lore_tm_v1_iCfv16_EKs6LiBhv6sC7l7M4PWj8uTXXgMoj0YoTFVM","lore_tm_v1_PEEZMvSID-18LmXdOHSxSudVveynRRcYKN29tjYVbLU","lore_tm_v1_L7IBPGNeo5j9EJyGnsvz5l1aHs6VrWjktx5UwN2rOVM"]
🔴 (03:28) /home/byk/Code/getsentry/publish/src/modules/__tests__/ci-poller-workflow.js extracts the shell script from .github/workflows/ci-poller.yml between workflow steps Check CI status for ci-pending issues and Check for remaining pending issues, then executes it with bash -e -o pipefail -c.
🔴 (03:28) ci-poller-workflow.js defines INITIAL_REVISION = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" and UPDATED_REVISION = "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", and builds a temporary test harness with executable stubs for node, mktemp, and gh.
🔴 (03:28) The node stub in /home/byk/Code/getsentry/publish/src/modules/__tests__/ci-poller-workflow.js handles current-accepted-event.js, validate-approval-attestation.js, and resolve-ci-poller-input.js; the initial resolver can return a configured exit code, while revision-update resolution returns NODE_UPDATE_OUTPUT.
🔴 (03:28) The gh stub in /home/byk/Code/getsentry/publish/src/modules/__tests__/ci-poller-workflow.js logs every invocation, returns branch release/1.2.3, updated revision bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb, successful status/check-run responses, and copies any issue edit ... --body-file content to a captured-body file.
🔴 (03:28) The poller workflow test fixture uses issue number 1, title publish: getsentry/toolkit@1.2.3, repository getsentry/toolkit, version 1.2.3, revision aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, and GITHUB_REPOSITORY=getsentry/publish.
🔴 (03:28) /home/byk/Code/getsentry/publish/src/modules/__tests__/ci-poller-workflow.js verifies that an initial resolver exit code of 1 is treated as a skipped issue: the poller script still exits with status 0, performs no issue edit, and leaves no temporary files.
🔴 (03:28) /home/byk/Code/getsentry/publish/src/modules/__tests__/ci-poller-workflow.js verifies that rewrite responses {}, {"issueBody":""}, malformed JSON not JSON, and non-object JSON [] are each skipped without --body-file editing and without leaving temporary files; the poller exits with status 0 in every case.
🔴 (03:28) /home/byk/Code/getsentry/publish/src/modules/__tests__/ci-poller-workflow.js verifies byte-for-byte preservation of rewrite body content outside the revision using canonical issue body\n\n; the resulting command removes labels ci-pending and accepted, does not add ci-ready, does not query /status, and leaves no temporary files.
🔴 (03:28) A version command returned exactly 29.1.3; the producing tool was not identified in the supplied result.
🔴 (03:28) Local Docker image getsentry/craft:2.30.1 has image ID sha256:fc314146c06b14791ab860e80e73043c7c5fa06f61bce3081a34a8a227305a5a and repo digest getsentry/craft@sha256:9a4a5d5efa44a00c2215078ead39800d4aaa5a97908b94f45a64d7d506d6e14b.
🔴 (03:28) Docker image getsentry/craft:2.30.1 was created at 2026-08-08T00:37:30.542283842Z via buildkit.dockerfile.v0; it targets linux/amd64, has size 6480950136 bytes, uses entrypoint craft, and contains 16 RootFS layers.
🔴 (03:28) Docker image getsentry/craft:2.30.1 configures NODE_VERSION=24.18.0, YARN_VERSION=1.22.22, DEBIAN_FRONTEND=noninteractive, DOTNET_CLI_TELEMETRY_OPTOUT=1, COCOAPODS_ALLOW_ROOT=1, CARGO_HOME=/root/.cargo, RUSTUP_HOME=/root/.rustup, and CRAFT_BUILD_SHA=cd1e8294061fd970b40d98b77aaa109cb1e00e78.
🔴 (03:28) Docker image getsentry/craft:2.30.1 sets PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/.cargo/bin:/opt/flutter/bin:/venv/bin and uses Docker storage driver overlay2.