echokit

✅ Chrome Extension Auto-Publishing CI/CD Setup Complete

Your EchoKit Chrome extension now has fully automated CI/CD for Chrome Web Store publishing!


🎯 What’s Been Configured

1. Updated GitHub Actions Workflow (.github/workflows/release.yml)

New features:

The workflow is now mandatory - it will fail if Chrome Web Store secrets are not configured, ensuring you never accidentally skip publishing.

2. Comprehensive Documentation

Created four detailed guides in .github/:


🚀 Next Steps (One-Time Setup)

You need to complete the Chrome Web Store API setup to enable auto-publishing.

Quick Start

  1. Follow the setup guide (30 minutes):
    Open: ../../../.github/CHROME_WEB_STORE_SETUP.md
    
  2. Or use the checklist (same content, checklist format):
    Open: ../../../.github/SETUP_CHECKLIST.md
    

What You’ll Do

  1. Create Google Cloud Project
  2. Enable Chrome Web Store API
  3. Create OAuth credentials (Client ID + Secret)
  4. Get your Chrome Extension ID
  5. Generate OAuth Refresh Token
  6. Add 4 secrets to GitHub repository

Required GitHub Secrets

Secret Name Description
CWS_EXTENSION_ID Your Chrome extension ID from Web Store
CWS_CLIENT_ID OAuth client ID from Google Cloud
CWS_CLIENT_SECRET OAuth client secret from Google Cloud
CWS_REFRESH_TOKEN OAuth refresh token (never expires)

🎉 After Setup - Daily Workflow

Once configured, releasing a new version is trivial:

# That's it! One command:
git tag v1.7.0 && git push origin v1.7.0

What happens automatically:

  1. ✅ GitHub Actions validates credentials
  2. ✅ Builds production extension ZIP
  3. ✅ Creates GitHub Release
  4. ✅ Uploads to Chrome Web Store
  5. ✅ Publishes for review (live in 1-2 days)

No manual steps. Ever. 🚀


🔍 Workflow Details

Trigger

Push any git tag matching v*.*.* (e.g., v1.6.1, v2.0.0)

Workflow Steps

1. Validate secrets         ← NEW: Fails if secrets missing
2. Sync manifest version    
3. Build extension ZIP      
4. Create GitHub Release    
5. Upload to Chrome Store   ← NEW: Better error handling
6. Publish to Chrome Store  ← NEW: HTTP status validation

Success Output

✅ All Chrome Web Store secrets present
📤 Uploading extension to Chrome Web Store...
✅ Upload successful
🚀 Publishing extension...
✅ Extension published successfully!
🎉 EchoKit v1.7.0 is now live on Chrome Web Store

Failure Output

❌ ERROR: Missing required GitHub Secrets: CWS_REFRESH_TOKEN
📖 See ../../../.github/CHROME_WEB_STORE_SETUP.md for detailed instructions

📂 Files Modified/Created

Modified

Created


🛠️ Testing Before Going Live

You can test the workflow locally before adding secrets:

# Build extension locally
bash scripts/build-store-zip.sh

# Check output
ls -lh store/echokit-*.zip

The workflow will fail gracefully if secrets aren’t configured, showing clear instructions.


🔒 Security Best Practices


🆘 Getting Help

If the workflow fails:

  1. Check the Actions tab: https://github.com/ravitejakamalapuram/echokit/actions
  2. Read error messages - they’re designed to be actionable
  3. Common issues - See troubleshooting in CHROME_WEB_STORE_SETUP.md

Resources:


✨ Summary

You now have a production-grade, fully automated CI/CD pipeline for Chrome extension publishing.

Before: Manual upload, form filling, waiting for uploads After: git tag v1.7.0 && git push - done! ☕

Complete the one-time setup in ../../../.github/CHROME_WEB_STORE_SETUP.md to activate it.

Happy shipping! 🚀