Skip to content

Latest commit

 

History

History
65 lines (47 loc) · 1.57 KB

File metadata and controls

65 lines (47 loc) · 1.57 KB

Publishing

GitHub Actions workflow

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

Required repository secrets

  • CWS_SERVICE_ACCOUNT_KEY_JSON Google service account JSON with access to the Chrome extension item.
  • CWS_EXTENSION_ID Chrome Web Store extension ID.
  • CWS_PUBLISH_TARGET (optional) Chrome publish target (default when omitted).
  • AMO_JWT_ISSUER Firefox Add-ons API key.
  • AMO_JWT_SECRET Firefox Add-ons API secret.
  • FIREFOX_EXTENSION_ID (recommended) Injected into Firefox manifest as browser_specific_settings.gecko.id.

Optional metadata

  • .amo-metadata.json If present, passed to web-ext sign --amo-metadata.

Shared local/CI script

Use:

  • scripts/publish-extensions.sh

Supported commands:

  • bash scripts/publish-extensions.sh build
  • bash scripts/publish-extensions.sh publish-chrome
  • bash scripts/publish-extensions.sh publish-firefox
  • bash scripts/publish-extensions.sh all

Local examples

# 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