nvda
nvda copied to clipboard
Retire AppVeyor, ensure GitHub actions has feature parity
Related issues, PRs or discussions
Follow up to #17728 and #10516
What is the current state of the codebase?
After #17728 is merged, NVDA is now being built with GitHub actions in parallel to AppVeyor. It is missing key parts of AppVeyor, many required to create a release build of NVDA:
- [ ] Features:
- [ ] feature_signing: code signing #18034
- [x] feature_buildSymbols: creating build syms for NVDA #18033
- [ ] feature_uploadSymbolsToMozilla: uploading symbols to mozilla
- [x] #18033
- [ ] Tested
- [ ] feature_crowdinSync: uploading translations to Crowdin
- [x] #18035
- [ ] Tested
- [ ] Deploying the release via the NV Access server hook: https://github.com/nvaccess/nvda/pull/18244
- [x] Uploading various artifacts
- [ ] Consider downloading and committing translations through an action https://github.com/crowdin/github-action. Do this for releases, at the start of the build.
Why are changes required?
We want parity between GitHub actions and AppVeyor before migrating over permanently
What technical changes are required?
- [ ] Going over the AppVeyor build scripts and ensuring feature parity in GitHub actions (see disabled features)
- [ ] Comparing the artifacts of PR builds, alpha/beta/rc branch builds and tagged release builds
- [ ] Testing a tagged release of NVDA on a fork
- [ ] Moving AppVeyor documentation over to the GitHub actions docs
- [ ] Removing AppVeyor scripts
- [ ] Turning off AppVeyor integration through the web UX, removing it from access to our repository
- [ ] Ensuring START_BUILD_NUMBER is greater than the last AppVeyor build
- [ ] Update branch protection rules to use the new actions
- [ ] Try re-enabling system tests which were failing on AppVeyor: tagged excluded_from_build
- [ ] https://github.com/nvaccess/nvda/pull/18211
- [ ] Create script to clean up cached PR builds
Are the proposed technical changes API breaking?
No
Are there potential risks or issues with the proposed implementation?
No