Skip to content

ci: automate extension packaging and Chrome Web Store publishing - #8

Open
d0zingcat wants to merge 1 commit into
harshvasudeva:mainfrom
d0zingcat:ci/chrome-web-store-publish-workflow
Open

ci: automate extension packaging and Chrome Web Store publishing#8
d0zingcat wants to merge 1 commit into
harshvasudeva:mainfrom
d0zingcat:ci/chrome-web-store-publish-workflow

Conversation

@d0zingcat

Copy link
Copy Markdown

Summary of Changes

This PR enhances the release automation workflow to package the browser extension .zip and publish directly to both GitHub Releases and the Chrome Web Store.

1. Extension Packaging (pack-extension.sh)

  • Adds JavaScript syntax validation across all extension scripts.
  • Automatically creates clean, versioned .zip archives ready for Chrome Web Store upload (synctabs-extension.zip).
  • Retains optional .crx generation if extension.pem is present.

2. Release Workflow (.github/workflows/release.yml)

  • build-extension Job: Builds and uploads the extension .zip as a workflow artifact.
  • release Job: Attaches synctabs-extension.zip to the GitHub Release alongside Companion desktop binaries.
  • publish-chrome-web-store Job: Uses mnao305/chrome-extension-upload@v5 to upload synctabs-extension.zip and publish to the Chrome Web Store automatically.
  • Graceful Fallback: Automatically skips Chrome Web Store upload if CHROME_CLIENT_ID / CHROME_REFRESH_TOKEN secrets are not configured, preventing release build failures.

3. Documentation (docs/contributing.mdx)

  • Adds a guide for local packaging commands and required GitHub Actions secrets for Chrome Web Store publishing.

- Enhance pack-extension.sh to validate JS syntax and output Chrome Web Store .zip packages
- Update .github/workflows/release.yml to build extension zip artifacts and publish to GitHub Releases
- Add publish-chrome-web-store job with Chrome Web Store API support and graceful skip fallback
- Document automated release workflow and required GitHub Actions secrets in docs/contributing.mdx
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