Skip to content

feat: productionize chrome extension build, packaging, validation, docs, and CI artifact workflows#134

Merged
AshutoshDash1999 merged 3 commits into
AshutoshDash1999:masterfrom
rudra-chothe:chore/extension-production-release-hardening
Jun 10, 2026
Merged

feat: productionize chrome extension build, packaging, validation, docs, and CI artifact workflows#134
AshutoshDash1999 merged 3 commits into
AshutoshDash1999:masterfrom
rudra-chothe:chore/extension-production-release-hardening

Conversation

@rudra-chothe

Copy link
Copy Markdown
Contributor

Summary

  • Fixed Chrome extension packaging reliability by ensuring Manifest V3 output is valid and production-ready.
  • Added real extension icon assets (16/48/128) and wired them in public/manifest.json.
  • Added release automation scripts for extension production flow:
    • sync:manifest-version
    • validate:extension
    • build:extension
    • package:extension
    • release:extension
  • Added script files under scripts/:
    • sync-manifest-version.mjs (syncs manifest version from package.json)
    • validate-extension.mjs (validates dist/manifest.json, icons, new-tab target)
    • package-extension.mjs (creates ZIP in release/)
  • Updated CI workflow (.github/workflows/ci.yml) to run extension-aware build/packaging checks.
  • Added dedicated release workflow (.github/workflows/release-extension-artifact.yml) that triggers on tags/releases and uploads extension ZIP as CI artifact.
  • Updated README.md with full production release instructions and new scripts reference.
  • Included lockfile updates from dependency install and minor index.html formatting normalization from tooling.

Closes #121

Type of Change

  • Bug fix
  • New feature
  • Documentation update
  • Refactor (no behavior change)
  • Chore / tooling
  • UI polish

Screenshots / Screen Recording

image

How to Test

  1. Install dependencies:
   npm install
  1. Verify lint/typecheck/build:
   npm run lint
   npm run typecheck
   npm run build
  1. Run extension production pipeline:
   npm run release:extension
  1. Confirm ZIP is created under:
    • release/dinam-extension-v<version>.zip
  2. Validate unpacked extension locally:
    • Open chrome://extensions
    • Enable Developer mode
    • Load unpacked from dist/
    • Open a new tab and verify Dinam loads
  3. (Workflow validation) Trigger new workflow:
    • Push a tag like v0.0.2 or use workflow_dispatch
    • Open Actions → Extension Release Artifact
    • Confirm artifact upload contains extension ZIP

Checklist

  • I linked the related issue, if one exists.
  • I assigned myself before opening the PR, if required.
  • npm run lint passes.
  • npm run typecheck passes.
  • npm run build succeeds.
  • I reviewed my own changes before requesting review.
  • I did not change unrelated files.
  • I updated documentation if needed.

@AshutoshDash1999

Copy link
Copy Markdown
Owner

@rudra-chothe please fix the merge conflict

@rudra-chothe

Copy link
Copy Markdown
Contributor Author

@rudra-chothe please fix the merge conflict

solved merge conflicts

@AshutoshDash1999 AshutoshDash1999 merged commit 7eea2fc into AshutoshDash1999:master Jun 10, 2026
5 checks passed
@AshutoshDash1999 AshutoshDash1999 added feature If this is a new feature level:advanced For advanced level PR gssoc:approved labels Jun 10, 2026
@rudra-chothe

Copy link
Copy Markdown
Contributor Author

Thanks for merging, just want to know how this contribution will reflect to the GSSoC 26 portal

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature If this is a new feature gssoc:approved level:advanced For advanced level PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Chrome extension build cannot be loaded because manifest.json is missing

2 participants