Create and sign Firefox xpi file for offline distribution of WebExtension. Read "Signing and distributing your add-on" for details. Based on FirefoxAddonsBuilder package.
To setup API access you need to generate jwtIssuer
and jwtSecret
(https://addons.mozilla.org/en-US/developers/addon/api/key/):
Path to packed extension (relative to the repository). You can use webext-buildtools-pack-extension-dir-action to pack your extension directory and provide this input from it's output.
Path to save xpi file (relative to the repository).
UUID of an extension uploaded to Firefox Addons especially for offline distribution. It should be different from id of your published extension. If not specified, new extension will be added to your addons list every build (not recommended).
JWT issuer also called "apiKey" obtained from created credentials. Use secrets!
JWT secret also called "apiSecret" obtained from created credentials. Use secrets!
The release channel (listed
or unlisted
). Ignored for new add-ons, which are always unlisted.
Number of milliseconds to wait before aborting the request.
Absolute path to result xpi file.
true
if the action failed because the version you try to sign already exists at server.
uses: cardinalby/webext-buildtools-firefox-sign-xpi-action@v1
with:
zipFilePath: 'build/extension.zip'
xpiFilePath: 'build/extension.signed.xpi'
jwtIssuer: ${{ secrets.FF_JWT_ISSUER }}
jwtSecret: ${{ secrets.FF_JWT_SECRET }}
If you are interested in the building the entire deployment workflow for WebExtension, you can read this article.