What this is

Recently I’ve developed an action so that one can easily self distribute Firefox addon updates. Normally when installing addons outside of the Mozilla addons website (aka sideloading), updates need to be checked and installed manually. This becomes even worse when you sideload an addon on multiple devices.

However, addons can point to an URL with a special JSON file that keeps track of versions and their download links. This way, updates are installed automatically by the browser. But updating this file manually is annoying and may contain human errors. This action automatically generates one based on the releases from the GitHub repository.

Why do I need this?

This action can be useful for e.g. distributing beta versions of an add-on, or keeping a pet project like a custom startpage up-to-date across devices. With this action, publishing an update can be as easy as pushing a new git tag. An example can be found at https://github.com/2zqa/startpagina-private. I thought some of you might find this useful.

If appreciated I can also make a separate post about making custom startpages without needing to host a local webserver (and with auto-updates across all your devices of course, using this action). Let me know! :)

Pitfalls

This action is fully dependent on GitHub and cannot be used on other git providers like GitLab or Gitea. Not only is it a GitHub action, it uses the GitHub API for retrieving releases and thus the download links to updates. Maybe this addon can be ported to other providers, although I am personally not interested in doing that.

It is also barebones: it is only useful when combined with actions that host the file, not to mention sign the addon and create a new release. One might say that is a plus though, as it keeps the action nice and concise.