Automate building and signing your WebExtension with Mozilla's web-ext tool using Github Actions.
Add a new workflow by creating a .yml
file under .github/workflows
.
name: Builds, signs and publishes the WebExtension
on:
push:
branches:
- master
jobs:
publish-to-amo:
name: Build and publish the extension
runs-on: ubuntu-latest
steps:
- name: Pull and checkout source
uses: actions/checkout@master
- name: Sign the web-ext
uses: saphareas/sign-web-extension-action@master
with:
web-ext-id: "{your extension uuid}"
sign-listed: true
amo-api-key: ${{ secrets.AMO_API_KEY }}
amo-api-secret: ${{ secrets.AMO_API_SECRET }}
amo-api-key
: Your key for Mozilla's API
amo-api-secret
: Your secret for Mozilla's API
web-ext-id
: UUID of your existing extension. Signing new extensions is not supported.
sign-listed
: Set to true
to list the extension on AMO. Defaults to false
for unlisted signing.
Note that the action will always return a failed state for listed signing, because Mozilla doesn't support automated listed signing. Your extension will be submitted for review instead.
TL;DR Listed signing will fail but your extension will be updated anyways.