Skip to content

ci: surface the Chrome Web Store's reason when publish fails - #38

Merged
karngyan merged 1 commit into
mainfrom
ci/cws-publish-errors
Sep 26, 2026
Merged

karngyan merged 1 commit into
mainfrom
ci/cws-publish-errors

Conversation

@karngyan

Copy link
Copy Markdown
Contributor

Why

The v0.5.0 release (run) uploaded fine but failed on publish with only HTTPError: Response code 400 (Bad Request). mnao305/chrome-extension-upload drops the response body. The real cause was the new tabGroups permission missing a justification, and it had to be guessed.

What

  • Replace the marketplace action with a curl step against the same v1.1 API (upload → publish). No new secrets needed.
  • Full JSON responses are logged. The store's reason (error.message, itemError[].error_detail or statusDetail[]) becomes the ::error:: annotation.
  • Publish only succeeds when status contains OK. Codes like ITEM_PENDING_REVIEW now fail loudly with their explanation.
  • docs/RELEASING.md: how to recover from a failed publish (fix it in the dashboard and submit there; a re-run skips because the draft version already matches).

Testing

  • actionlint passes.
  • The jq parsing was checked locally against sample error, pending-review, upload-failure, non-JSON and OK bodies.
  • Not run against the live store API. The first real check is the next extension release.

🤖 Generated with Claude Code

mnao305/chrome-extension-upload swallowed the response body, so the
v0.5.0 release failed with a bare "HTTPError: 400" on publish. The cause
(new tabGroups permission without a justification) had to be guessed.

Upload and publish now go straight to the v1.1 API with curl: the full
response is logged, and the store's message becomes the error annotation.
RELEASING.md documents the manual recovery for a failed publish.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@karngyan
karngyan merged commit 8dfa288 into main Sep 26, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant