Article about GitHub Actions for add-ons

Noelia Ruiz


I created the following article:

But I have working on Actions and now I use 4 workflows in readFeeds
add-on. I will wait to think how to update the wiki article or if it
should be removed. Eventually, this may be included, if desired, in
the add-on template since it contains config files and more than a
workflow. But since Nv Access is taking care about the server, we may
wait to see if the process will use our add-on template stored in
nvdaaddons organization or what will happen. anyway, here are the
workflows I using in a dummy branch of readFeeds, since I'm
comfortable with them, in case they are useful. The workflow which
searches for UTF-8 BOM is completely created by Mesar, and really all
my work is inspired by him, and based on his work, since we were
working on GitHub Actions available at
My current workflows can be found at

In short, they do the following:

- Create an add-on based on add-on template, upload the artifact;
checkout the NVDA's source code, install dependencies, upload the
previous created add-on to the machine containing the prepared source
tree of NVDA, copy the add-on to the user config folder and run NVDA,
then wait, then exit and upload NVDA's log as an artifact, to see if
the add-on causes any issue detected in the log, though we can do it
installing the add-on in our machine, but this is an option which
maybe useful as a test.
- Lint diffs with flake8 using the same configuration that NVDA. If
this fails, GitHub bot adds a comment in the pull request. This action
doesn't upload the lint report since failures are shown with -tee
option and maybe too much artifacts
- Publish an add-on release when wi pus a tag on GitHub. This would be
a prerelease if the tag ends with -dev.
- Check for UTF-8 bom or ASCII characters that may produce issues to .gettext