Repository navigation
Description
Summary
The v2.7.0 tagged release successfully built the release artifacts and submitted the extension to Firefox Add-ons and Microsoft Edge Add-ons, but the Chrome Web Store submission failed during OAuth authentication.
The Firefox extension submission itself succeeded, but the Firefox release metadata update did not run because the combined store submission command exited with an error after the Chrome failure.
Chrome Web Store
The tagged-release workflow failed while exchanging the configured Chrome Web Store refresh token for an access token:
[POST] "https://oauth2.googleapis.com/token": 400 Bad Request
{
"error": "invalid_grant",
"error_description": "Bad Request"
}
As a result, v2.7.0 was not submitted to the Chrome Web Store. The public Chrome Web Store listing is still on v2.6.1.
This most likely requires access to the Chrome Web Store publisher account and/or the OAuth credentials currently stored in the repository secrets.
@josStorer, could you please help check the Chrome Web Store credentials and either:
- regenerate/update the Chrome Web Store OAuth refresh token used by GitHub Actions, or
- manually submit
chromium.zipfrom the v2.7.0 GitHub Release if refreshing the CI credential is not practical?
No credential values should be posted in this issue.
Firefox metadata
The Firefox package submission completed successfully:
[firefox] Submitting new version
Validation results: 0 errors, 27 warnings, 0 notices
✔ Firefox Addon Store
However, scripts/submit-stores.mjs only calls updateFirefoxVersionNotes() after the combined Chrome / Firefox / Edge submission command succeeds.
Since Chrome failed, publish-extension returned a non-zero exit code and the Firefox metadata update was skipped.
This means the v2.7.0 Firefox version may still have stale release notes and compatibility metadata even though the package itself was submitted successfully.
The repository already provides the dedicated Firefox metadata workflow, so v2.7.0 can be repaired independently by running:
Actions → Firefox metadata → Run workflow → version: 2.7.0
This does not resubmit the Firefox extension package.
Follow-up
Separately, the Firefox release-notes URL currently generated by the release script still points to the old josStorer/chatGPTBox repository namespace. That should be fixed independently so future metadata updates point directly to ChatGPTBox-dev/chatGPTBox.
Related release:
https://github.com/ChatGPTBox-dev/chatGPTBox/releases/tag/v2.7.0
Activity
pullfrog commentedon Aug 26, 2026
josStorer commentedon Aug 26, 2026
I confirmed that the Chrome Web Store credentials have expired, and the existing publishing API will soon be deprecated. I think I'll re-adapt to the new publishing API and create new credentials in recent days.
josStorer commentedon Aug 29, 2026
v2.7.0 has been reviewed and approved for release through manual submission
PeterDaveHello commentedon Aug 29, 2026
Thanks! Let's see if it works in the next release!
PeterDaveHello commentedon Sep 6, 2026
Looks like the same Chrome Web Store issue happened again with v2.7.1:
https://github.com/ChatGPTBox-dev/chatGPTBox/actions/runs/34048814762/job/101528598376
The Chrome OAuth token exchange still fails with
invalid_grant, while the Firefox and Edge submissions completed successfully.Because the combined store submission exits with an error, the final GitHub Release publishing step was skipped, leaving v2.7.1 as a draft. The Firefox metadata update is also skipped for the same reason.
For now, I'll manually publish the v2.7.1 GitHub Release and run the Firefox metadata workflow for 2.7.1.
@josStorer, could you please manually submit
chromium.zipfor v2.7.1 again as a temporary workaround?I think we should also decouple GitHub Release finalization and Firefox metadata updates from individual store submission failures, so a Chrome publishing issue doesn't block otherwise successful releases.
hamzahamidi commentedon Sep 26, 2026
An option for the Chrome step is my
publish-to-chrome-web-storeaction. It uses Chrome Web Store API v2 and accepts a short-lived access token from google-github-actions/auth. With GitHub OIDC and Google Workload Identity Federation, each release can mint a 30-minute token instead of storingCHROME_REFRESH_TOKEN,CHROME_CLIENT_SECRET, andCHROME_CLIENT_IDin Actions secrets. The Google service account still needs access to the Chrome Web Store publisher account. The action also supports dry runs and checks listing and version state before upload. Sincerelease:submitcurrently handles Chrome, Firefox, and Edge together, Chrome publishing would need its own step while Firefox and Edge remain on their current path. I maintain the action. If this fits the API v2 work, I can prepare an integration PR.PeterDaveHello commentedon Nov 1, 2026
Reopening to track the remaining Chrome publishing setup after #1091.
For v2.7.2, attempt 2 completed the macOS build, published the GitHub Release, and successfully submitted to Firefox and Edge, including the Firefox metadata update. Chrome failed before its upload step in publish_chrome:
The auth step did not receive
workload_identity_providerorservice_account, which the workflow reads fromvars.CWS_WIF_PROVIDERandvars.CWS_SERVICE_ACCOUNT. The logs do not establish whether those values are missing or stored outside the job's accessible scope.@josStorer, could you or another maintainer with access to the existing Chrome Web Store publisher and the Google Cloud project help complete/verify the external setup documented in #1091?
CWS_WIF_PROVIDER,CWS_SERVICE_ACCOUNT, andCWS_PUBLISHER_IDin Actions Variables, and confirmCHROME_EXTENSION_IDis available as a secret topublish_chromein thechrome-web-storeenvironment.After that, only re-run the failed
publish_chromejob; the other release steps have already completed. If the Google setup cannot be completed yet, please manually submitchromium.zipfrom the v2.7.2 release as an interim workaround. If another maintainer now manages the publisher, please point us to them.hamzahamidi commentedon Nov 1, 2026
I checked this against LabelQuick's successful Chrome submission. It submitted
0.2.0and returnedPENDING_REVIEWusing the exact same commits ofgoogle-github-actions/auth(7c6bc770dae815cd3e89ee6cdf493a5fab2cc093) and my publishing action (c8919147f8de0d6f1129bec36345e4a9aa638af9) as this release.In this job, both auth inputs are empty, so it stops before requesting a Google token. The publishing action never starts. The remaining work is to configure and validate ChatGPTBox's own identity and publisher access:
CWS_WIF_PROVIDER,CWS_SERVICE_ACCOUNT, andCWS_PUBLISHER_IDunder Actions Variables, not Secrets. The workflow readsvars.*. Organization variables must allow this repository; environment variables must be inchrome-web-store. KeepCHROME_EXTENSION_IDas an accessible secret.214326765, repository ID614258120,refs/tags/v*releases, and thechrome-web-storeenvironment. Grant the corresponding repository principalroles/iam.workloadIdentityUseron the service account. LabelQuick's provider and grants are repository-specific, so copying its values would not work. The commands are in the WIF setup guide.chrome-web-storeenvironment currently reports no deployment restrictions. Restrict it to release tags matchingv*. This is separate from the empty-input failure.I don't have access to this repository's variables or its Google/publisher setup, so those values remain unverified. @josStorer, could you or the current publisher owner check these? Once configured, only the failed Chrome job needs a rerun: