GitHub Action to push and publish Chrome Webstore Extensions
1.6K
GitHub Action to upload and publish Chrome extension ZIP or CRX files to the Chrome Web Store using the official Chrome Web Store API. Supports publishing to public or trusted testers, CRX signing, and expedited review process.
https://www.googleapis.com/auth/chromewebstore scope.| Name | Description | Required |
|---|---|---|
extension_id | The Chrome Web Store extension ID | Yes |
zip_file_path | Path to the extension ZIP file | Yes |
client_id | Google Cloud OAuth2 client ID | Yes |
client_secret | Google Cloud OAuth2 client secret | Yes |
refresh_token | OAuth2 refresh token of the user that has access to webstore api scope. | Yes |
publish_target | Publish target: public or testers | No (default: public) |
expedited_review | Request expedited review if eligible (true/false). Falls back to regular review if not eligible. | No (default: false) |
crx_private_key | CRX signing private key (PEM string). If provided, the extension will be signed and uploaded as a CRX. | No |
crx_private_key_path | Path to the CRX signing private key (PEM file). If provided, the extension will be signed and uploaded as a CRX. | No |
Note: Only one of
crx_private_keyorcrx_private_key_pathshould be provided. If neither is provided, the extension is uploaded as a ZIP.
name: Publish Chrome Extension
on:
push:
branches: [main]
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Publish to Chrome Web Store
uses: puzzlers-labs/chrome-webstore-publish@v1
with:
extension_id: ${{ vars.CHROME_EXTENSION_ID }}
zip_file_path: ./dist/extension.zip
client_id: ${{ secrets.GOOGLE_CLIENT_ID }}
client_secret: ${{ secrets.GOOGLE_CLIENT_SECRET }}
refresh_token: ${{ secrets.GOOGLE_REFRESH_TOKEN }}
publish_target: public # Or `testers` for internal publishing target to TrustedTesters.
expedited_review: true # This does not guarantee an expedited Review process. But it makes an attempt.
# Only one of the following should be provided:
# crx_private_key: ${{ secrets.CRX_PRIVATE_KEY }}
# crx_private_key_path: ./path/to/key.pem
Refer to CONTRIBUTING.MD
Content type
Image
Digest
sha256:873cc9cc9…
Size
365.3 MB
Last updated
about 1 year ago
docker pull puzzlers/chrome-webstore-publish