Publishing is automated via:
.github/workflows/publish-extensions.yml
Supported flows:
- Manual publish (
workflow_dispatch) - Tag-based publish on
v*tags - Chrome Web Store publish
- Firefox Add-ons submit/sign
CWS_SERVICE_ACCOUNT_KEY_JSONGoogle service account JSON with access to the Chrome extension item.CWS_EXTENSION_IDChrome Web Store extension ID.CWS_PUBLISH_TARGET(optional) Chrome publish target (defaultwhen omitted).AMO_JWT_ISSUERFirefox Add-ons API key.AMO_JWT_SECRETFirefox Add-ons API secret.FIREFOX_EXTENSION_ID(recommended) Injected into Firefox manifest asbrowser_specific_settings.gecko.id.
.amo-metadata.jsonIf present, passed toweb-ext sign --amo-metadata.
Use:
scripts/publish-extensions.sh
Supported commands:
bash scripts/publish-extensions.sh buildbash scripts/publish-extensions.sh publish-chromebash scripts/publish-extensions.sh publish-firefoxbash scripts/publish-extensions.sh all
# Build both extension outputs and zip packages
bash scripts/publish-extensions.sh build
# Publish Chrome
export CWS_EXTENSION_ID=your_chrome_extension_id
export CWS_ACCESS_TOKEN=your_google_oauth_access_token
bash scripts/publish-extensions.sh publish-chrome
# Publish Firefox
export AMO_JWT_ISSUER=your_amo_key
export AMO_JWT_SECRET=your_amo_secret
export FIREFOX_CHANNEL=listed
bash scripts/publish-extensions.sh publish-firefox