Topics

Article about GitHub Actions for add-ons


Noelia Ruiz
 

Hello:

I created the following article:

https://github.com/nvdaaddons/nvdaaddons.github.io/wiki/GitHubActions

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
https://github.com/nvdaaddons/l10ntest
My current workflows can be found at

https://github.com/nvdaes/readfeeds/pull/8/

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