Use GitHub Actions to build and test NVDA#17728
Conversation
See test results for failed build of commit ac008495eb |
See test results for failed build of commit 73bfa0bf5c |
See test results for failed build of commit 44cfa0d95b |
|
Here GitHub Actions cannot post a comment since this is not approved by NV Access, I think. But I tested this on this pull request on my fork: |
This reverts commit d51f84b.
See test results for failed build of commit b15235319b |
|
@nvdaes - it's really exciting that you've got this working now! I do think we'd like to take advantage of the modularisation capabilities of GitHub actions - creating separate workflows for independent tasks |
|
Thanks @seanbudd . |
|
Yes a composite action that kicks off each workflow and especially one which caches scons source and the venv would be ideal |
OK, I had thought about catching, but I waited for comments. |
|
Could you also make it so there's an easy way to retrigger a build? Also for testing with this PR, can you introduce an error into each of these test workflows, so we can see how GitHub handles a failure? We can remove them before merging. |
See test results for failed build of commit f2b18737a8 |
See test results for failed build of commit 31b369b741 |
|
I've updated the PR description and fleshed out the logging, error reporting and artifacts a bit more. I think this is in a much better state than appveyor now |
|
Things to note for devs testing the new UX:
|
LeonarddeR
left a comment
There was a problem hiding this comment.
Really love this! Just some remaining very minor things.
Co-authored-by: Sean Budd <seanbudd123@gmail.com>
Fixup to #17728 Due to #17878 Summary of the issue: GitHub actions is now building NVDA, however we are not ready to release and deploy a signed copy of NVDA yet (see #17878). As such, we shouldn't build tagged releases with GitHub actions Description of user facing changes None Description of development approach Disable tagged releases from GitHub actions until #17878 is closed
fixes nvaccess#10516 Summary of the issue: Currently Appveyor is used to build and test NVDA. GitHub Actions may be preferred, since it's on GitHub and may be easier to use. Description of user facing changes None Description of development approach New GitHub Workflows: .github/workflows/testAndPublish.yml: CI / CD for NVDA - to replace AppVeyor .github/workflows/scan-release.yml: For scanning published releases with Virus Total Pre-commit Configuration: .pre-commit-config.yaml: Updated to consider changes to pyproject.toml when running license check files. Tests: tests/checkPot.py: Updated print statements to direct output to stderr for certain messages. tests/unit/test_checkPot/__init__.py: Adjusted the redirection of stdout and stderr for ordered output and modified assertions. Project Configuration: pyproject.toml: Removed several dependencies from the ignore_packages list (due to Apache compatibility now claimed) and adjusted the licenses section.
Fixup to nvaccess#17728 Due to nvaccess#17878 Summary of the issue: GitHub actions is now building NVDA, however we are not ready to release and deploy a signed copy of NVDA yet (see nvaccess#17878). As such, we shouldn't build tagged releases with GitHub actions Description of user facing changes None Description of development approach Disable tagged releases from GitHub actions until nvaccess#17878 is closed
Link to issue number:
fixes #10516
Summary of the issue:
Currently Appveyor is used to build and test NVDA. GitHub Actions may be preferred, since it's on GitHub and may be easier to use.
Description of user facing changes
None
Description of development approach
New GitHub Workflows:
.github/workflows/testAndPublish.yml: CI / CD for NVDA - to replace AppVeyor.github/workflows/scan-release.yml: For scanning published releases with Virus TotalPre-commit Configuration:
.pre-commit-config.yaml: Updated to consider changes topyproject.tomlwhen running license check files.Tests:
tests/checkPot.py: Updated print statements to direct output tostderrfor certain messages.tests/unit/test_checkPot/__init__.py: Adjusted the redirection of stdout and stderr for ordered output and modified assertions.Project Configuration:
pyproject.toml: Removed several dependencies from theignore_packageslist (due to Apache compatibility now claimed) and adjusted the licenses section.Testing strategy:
Example PR with failures: https://github.com/nvaccess/nvda/actions/runs/14255068906
Sample release:
Known issues with pull request:
Note: incomplete parity to AppVeyor: #17878
Code Review Checklist:
@coderabbitai summary