Skip to content

feat: GitHub Actions workflow to build & package MV3 extension for Chrome/Edge stores#3

Draft
Copilot wants to merge 2 commits intomainfrom
copilot/add-chromium-extension-workflow
Draft

feat: GitHub Actions workflow to build & package MV3 extension for Chrome/Edge stores#3
Copilot wants to merge 2 commits intomainfrom
copilot/add-chromium-extension-workflow

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 19, 2026

Adds a CI/CD workflow that packages the Chromium MV3 extension into store-ready ZIP artifacts on every PR, push to main, and v* tags. Also bumps manifest.json version as part of the release baseline.

Workflow: .github/workflows/build.yml

  • Triggers: pull_request, push → main, tags: v*
  • Package manager detection: lockfile-based priority (pnpm → yarn → npm → none); installs + caches deps accordingly via Corepack where needed; gracefully skips when no package.json exists
  • Build detection: scans package.json scripts for build, build:extension, build:prod, dist, bundle in order; skips silently if none found (pre-built extension case)
  • Extension dir detection: dist/build/extension/src/ → repo root → find-based fallback; fails with a clear error if manifest.json is nowhere found
  • MV3 sanity check: fails fast via jq if manifest_version ≠ 3 or name/version fields are absent
  • Versioning:
    • Tag builds (v1.2.3): syncs manifest.json "version" to the tag before packaging
    • Non-tag builds: validates existing version matches X.Y.Z semver; fails with error if not
  • ZIP packaging: files staged in a mktemp dir via rsync (excludes .git/, .github/, *.zip, *.md, LICENSE), then zipped with cd "$STAGE" && zip -r . — guarantees manifest.json at ZIP root, no nested folders, no nested ZIPs
  • Artifacts uploaded: chrome-extension.zip, edge-extension.zip, artifact-info.txt (commit SHA, branch/tag, build cmd, ext dir, pkg manager)
  • GitHub Release: created automatically on tag builds via gh release create using GITHUB_TOKEN; contents: write scoped to job level only

Version bump

File Before After
manifest.json"version" "1.1.0" "1.2.0"

No package.json exists in this repo — manifest.json is the sole version source.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

…on to 1.2.0

Co-authored-by: jomardyan <18527406+jomardyan@users.noreply.github.com>
Copilot AI changed the title [WIP] Add GitHub Actions workflow for Chromium extension packaging feat: GitHub Actions workflow to build & package MV3 extension for Chrome/Edge stores Feb 19, 2026
Copilot AI requested a review from jomardyan February 19, 2026 15:59
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.

2 participants