fix up features for github actions
Link to issue number:
Part of #17878
Summary of the issue:
GitHub actions CI/CD uses feature flags to disable parts of the build.
exit 0 was not cancelling builds if features were disabled.
Additionally, the reasoning for a "symbols" feature isn't clear. Other feature flags are for aspects of the build which integrate with NV Access owned APIs such as Crowdin, Code signing and uploading symbols. Building symbols has no negative side affects other than a slight time increase of the build. Disabling symbols with github actions should be as easy as an if statement in the job.
When system tests are cancelled, the warning message is not correctly posted to the github step summary.
Description of developer facing changes:
When system tests are cancelled, the warning message is now correctly posted to the github step summary.
the symbols feature was removed.
feature_crowdinSync was fixed to check on each step rather than using exit 0
I plan on doing further work to move these feature flags in #18244 to github variables
I'm a little bit confused. It seems as though some of the Crowdin work will still be done if feature_crowdinSync is unset. I'm also not sure I understand the logic for removing feature_buildSymbols.
No, no crowdin work should still not* be happening. Which lines/steps are you referring to?
BuildSymbols should not be optional. We only make these features optional because we want forks to be able to exist without modifying code. Building symbols themselves doesn't effect forks negatively. In the guide written for forks it lists this isn't necessary https://github.com/nvaccess/nvda/blob/master/projectDocs%2Fdev%2FbuildingNVDAOnAppVeyor.md
I think we should remove it as it doesn't really add value.
On Tue, Jun 24, 2025, 3:57 PM Sascha Cowley @.***> wrote:
SaschaCowley left a comment (nvaccess/nvda#18243) https://github.com/nvaccess/nvda/pull/18243#issuecomment-2998923002
I'm a little bit confused. It seems as though some of the Crowdin work will still be done if feature_crowdinSync is unset. I'm also not sure I understand the logic for removing feature_buildSymbols.
— Reply to this email directly, view it on GitHub https://github.com/nvaccess/nvda/pull/18243#issuecomment-2998923002, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABWDBJV4WAXWJXP7IAVXR233FDSEBAVCNFSM6AAAAAB7G6BB2KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDSOJYHEZDGMBQGI . You are receiving this because you authored the thread.Message ID: @.***>
Commented on the step that I think will erroneously run
@SaschaCowley thanks I totally missed that rereading multiple times
I forgot to add some context in regards to buildSymbols (or a separate PR) - I plan to move all these variables to GitHub variables, outside of code. Forks with AppVeyor used a separate appveyor.yml file, hosted elsewhere. This isn't really an option with GitHub actions. We need to remove anything fork dependent into GitHub env variables, to allow forks to have a clean diff with NVDA