Skip to content

ci: automate extension versioning and upload to AMO#369

Merged
SuperCoolPencil merged 2 commits intomainfrom
ci-automatic-versioning-extension
Apr 14, 2026
Merged

ci: automate extension versioning and upload to AMO#369
SuperCoolPencil merged 2 commits intomainfrom
ci-automatic-versioning-extension

Conversation

@SuperCoolPencil
Copy link
Copy Markdown
Member

@SuperCoolPencil SuperCoolPencil commented Apr 14, 2026

Greptile Summary

This PR automates extension versioning by extracting the version from an ext-v* git tag and running npm version before the build, and removes the hardcoded version: '2.0.0' from wxt.config.ts so the manifest version is driven by package.json.

  • npm version will fail on the first release: package.json is currently at 2.0.0, so pushing ext-v2.0.0 will hit npm's same-version guard. Adding --allow-same-version to the command fixes this.
  • AMO upload is absent: The PR title explicitly promises "upload to AMO" but the release job only creates a GitHub release — no web-ext sign or equivalent AMO submission step was added.

Confidence Score: 3/5

  • Not safe to merge — the versioning step will fail on the natural first release tag, and the AMO upload described in the PR title is unimplemented.
  • Two P1 issues: the npm version same-version failure would immediately break the ext-v2.0.0 release build, and the AMO upload (the other half of the stated PR goal) is entirely missing.
  • .github/workflows/extension.yml requires both fixes before this workflow is production-ready.

Important Files Changed

Filename Overview
.github/workflows/extension.yml Adds automatic versioning from tag, but npm version will fail on same-version tags and the advertised AMO upload step is missing entirely.
extension/wxt.config.ts Removes hardcoded version: '2.0.0' from the WXT manifest config so the version is sourced from package.json; correct and safe change.

Sequence Diagram

sequenceDiagram
    participant Dev as Developer
    participant GH as GitHub
    participant CI as CI Runner (x3: chrome/firefox/edge)
    participant GHR as GitHub Release
    participant AMO as Firefox AMO

    Dev->>GH: "Push tag ext-v*"
    GH->>CI: Trigger Extension CI/CD
    CI->>CI: npm ci
    CI->>CI: Strip ext-v prefix → VERSION
    CI->>CI: npm version $VERSION --no-git-tag-version
    CI->>CI: npm run zip (per browser)
    CI->>GH: "Upload artifact (extension-{browser}.zip)"
    GH->>GHR: softprops/action-gh-release → Create Release
    Note over AMO: ❌ Missing: AMO upload step
Loading

Comments Outside Diff (1)

  1. .github/workflows/extension.yml, line 64-84 (link)

    P1 AMO upload missing despite PR title

    The PR title is "ci: automate extension versioning and upload to AMO", but the release job only creates a GitHub release — there is no step to sign or submit the Firefox .zip to addons.mozilla.org. The AMO upload (typically via web-ext sign or an action like tox0n/amo-upload) using the WEB_EXT_API_KEY / WEB_EXT_API_SECRET secrets is entirely absent.

    Prompt To Fix With AI
    This is a comment left during a code review.
    Path: .github/workflows/extension.yml
    Line: 64-84
    
    Comment:
    **AMO upload missing despite PR title**
    
    The PR title is "ci: automate extension versioning and upload to AMO", but the `release` job only creates a GitHub release — there is no step to sign or submit the Firefox `.zip` to addons.mozilla.org. The AMO upload (typically via `web-ext sign` or an action like `tox0n/amo-upload`) using the `WEB_EXT_API_KEY` / `WEB_EXT_API_SECRET` secrets is entirely absent.
    
    How can I resolve this? If you propose a fix, please make it concise.
Prompt To Fix All With AI
This is a comment left during a code review.
Path: .github/workflows/extension.yml
Line: 52

Comment:
**`npm version` fails on unchanged version**

`npm version <same-version> --no-git-tag-version` exits with a non-zero code when the requested version matches the current one in `package.json`. Since `package.json` is currently at `2.0.0`, pushing the tag `ext-v2.0.0` (the natural first release) will immediately fail this step. Add `--allow-same-version` to make the step idempotent.

```suggestion
          npm version $VERSION --no-git-tag-version --allow-same-version
```

How can I resolve this? If you propose a fix, please make it concise.

---

This is a comment left during a code review.
Path: .github/workflows/extension.yml
Line: 64-84

Comment:
**AMO upload missing despite PR title**

The PR title is "ci: automate extension versioning and upload to AMO", but the `release` job only creates a GitHub release — there is no step to sign or submit the Firefox `.zip` to addons.mozilla.org. The AMO upload (typically via `web-ext sign` or an action like `tox0n/amo-upload`) using the `WEB_EXT_API_KEY` / `WEB_EXT_API_SECRET` secrets is entirely absent.

How can I resolve this? If you propose a fix, please make it concise.

Reviews (1): Last reviewed commit: "feat: automate Firefox extension submiss..." | Re-trigger Greptile

Greptile also left 1 inline comment on this PR.

Comment thread .github/workflows/extension.yml
@SuperCoolPencil SuperCoolPencil merged commit b673096 into main Apr 14, 2026
22 checks passed
@SuperCoolPencil SuperCoolPencil deleted the ci-automatic-versioning-extension branch April 14, 2026 17:35
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