Skip to content

Remove AppVeyor entirely#18556

Merged
seanbudd merged 8 commits intomasterfrom
removeAppVeyor
Aug 13, 2025
Merged

Remove AppVeyor entirely#18556
seanbudd merged 8 commits intomasterfrom
removeAppVeyor

Conversation

@seanbudd
Copy link
Copy Markdown
Member

@seanbudd seanbudd commented Jul 25, 2025

Link to issue number:

Part of #17878
Blocked by release of 2025.2

Summary of the issue:

We are migrating from AppVeyor to GitHub actions.
After we migrate snapshots/PRs over, we will remove all AppVeyor related code.

Description of user facing changes:

None

Description of developer facing changes:

Remove all Appveyor related code. NVDA will only be built on GitHub actions.

Description of development approach:

Update documentation and remove code

Testing strategy:

Known issues with pull request:

Code Review Checklist:

  • Documentation:
    • Change log entry
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English
  • API is compatible with existing add-ons.
  • Security precautions taken.

@coderabbitai summary

@seanbudd
Copy link
Copy Markdown
Member Author

@XLTechie - would you be able to review the fork experience with GitHub Actions, and the README in ci/README.md?
Fork usage of GitHub Actions should be relatively stable now, particularly with this branch merged to master/beta/etc.

This is to replace your original guide buildingOnAppveyor.yml.
The new experience is a lot simpler, as is the documentation, but I fear I might be missing content to get a full equivalent.

@seanbudd seanbudd requested a review from XLTechie July 25, 2025 06:35
@seanbudd seanbudd added this to the 2025.3 milestone Jul 25, 2025
@amirmahdifard
Copy link
Copy Markdown

I don't know why you want to use github actions instead of appvayer? is it better or what?

@seanbudd seanbudd added the conceptApproved Similar 'triaged' for issues, PR accepted in theory, implementation needs review. label Jul 29, 2025
@seanbudd
Copy link
Copy Markdown
Member Author

@amirmahdifard :

  • appveyor free-tier has a maximum of 1 build at a time. GitHub actions has unlimited simultaneous builds.
  • AppVeyor is an unreliable testing environment - with popup windows that hijack focus - this might also be true for GitHub actions
  • AppVeyor only performs linear builds. This is slow and takes up to an hour. Build also have a max time of 1 hour on free tier. As such, we are hitting the limits of increasing our build times, e.g. we cannot add many more system tests. GitHub actions can be easily parallelized. as a result our current Actions build time is about 30min, and can probably be optimized to around 15-20min.
  • AppVeyor is a separate platform, we get a greater usability benefit with integration with GitHub
  • maintaining a fork builds is much simpler, see the difference in the guides

@seanbudd seanbudd marked this pull request as ready for review July 29, 2025 06:52
@seanbudd seanbudd requested review from a team as code owners July 29, 2025 06:52
@seanbudd seanbudd requested review from Qchristensen and SaschaCowley and removed request for a team July 29, 2025 06:52
@seanbudd
Copy link
Copy Markdown
Member Author

@nishimotz - you may find the guide in ci/README.md useful. I saw nvdajp/nvdajp@d1e4673, if you want to disable/enable individual workflows you can do so via the github UX, you don't need to commit to code.

Base automatically changed from disableAppVeyor to master July 29, 2025 23:25
Copilot AI review requested due to automatic review settings July 29, 2025 23:44
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR removes all AppVeyor-related code and documentation as part of the migration from AppVeyor to GitHub Actions for continuous integration. The changes update references throughout the codebase to reflect the new CI system.

  • Remove the entire AppVeyor configuration file and all build scripts
  • Update documentation to reference GitHub Actions instead of AppVeyor
  • Clean up comments that specifically mentioned AppVeyor timing or system constraints

Reviewed Changes

Copilot reviewed 34 out of 40 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tests/system/robot/chromeTests.robot Remove AppVeyor reference from Chrome performance comment
tests/system/libraries/_chromeArgs.py Remove AppVeyor usage comment
tests/system/libraries/ChromeLib.py Remove AppVeyor reference from timeout comment
source/comInterfaces_sconscript Update comment to reference GitHub Actions instead of AppVeyor
source/buildVersion.py Remove AppVeyor reference from version_build comment
site_scons/site_tools/listModules.py Update artifact packaging comment to be generic
sconstruct Update signing script path and remove AppVeyor artifact comment
readme.md Replace AppVeyor status badges with GitHub Actions badges
projectDocs/dev/readme.md Update build documentation link
projectDocs/dev/createDevEnvironment.md Update Python version and Visual Studio references
projectDocs/dev/contributing.md Replace AppVeyor references with GitHub Actions
projectDocs/dev/buildingNVDAOnAppVeyor.md Complete removal of AppVeyor build guide
extras/controllerClient/readme.md Update CI reference
ci/README.md Clarify setup requirements for forks
appveyor/* Complete removal of all AppVeyor scripts and configuration
.github/workflows/*.yml Update script paths from appveyor to ci/scripts

seanbudd and others added 3 commits July 30, 2025 09:47
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@seanbudd seanbudd removed the blocked label Aug 7, 2025
Co-authored-by: Sascha Cowley <16543535+SaschaCowley@users.noreply.github.com>
@seanbudd seanbudd requested a review from SaschaCowley August 8, 2025 05:34
@seanbudd seanbudd mentioned this pull request Aug 8, 2025
7 tasks
@seanbudd seanbudd merged commit bd6b99e into master Aug 13, 2025
22 checks passed
@seanbudd seanbudd deleted the removeAppVeyor branch August 13, 2025 02:10
seanbudd added a commit that referenced this pull request Aug 18, 2025
Part of #18556
Summary of the issue:

Beta/RC tags do not upload the exe to the release assets, unlike stable releases.

Additionally, to make it easier to discuss issues with betas, creating a beta discussion is useful.
It also allows us to easily share each new release in slack and other places via Discussions RSS feed. The releases RSS feed includes tags, which duplicates posts to slack.

If a build fails due to system tests, you cannot rebuild it as the cache gets deleted.
Description of user facing changes:

None
Description of developer facing changes:

GitHub discussions are created for betas and RCs.
All releases are auto-posted to slack.
The installer artifact is uploaded to the release assets.
OzancanKaratas pushed a commit to OzancanKaratas/nvda that referenced this pull request Aug 18, 2025
Part of nvaccess#18556
Summary of the issue:

Beta/RC tags do not upload the exe to the release assets, unlike stable releases.

Additionally, to make it easier to discuss issues with betas, creating a beta discussion is useful.
It also allows us to easily share each new release in slack and other places via Discussions RSS feed. The releases RSS feed includes tags, which duplicates posts to slack.

If a build fails due to system tests, you cannot rebuild it as the cache gets deleted.
Description of user facing changes:

None
Description of developer facing changes:

GitHub discussions are created for betas and RCs.
All releases are auto-posted to slack.
The installer artifact is uploaded to the release assets.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

blocked conceptApproved Similar 'triaged' for issues, PR accepted in theory, implementation needs review. release/blocking-beta

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants