Skip to content

Parallelize GitHub actions builds for 32/64 bit#18596

Merged
seanbudd merged 8 commits intowip-buildX64from
gh64-parallel
Aug 4, 2025
Merged

Parallelize GitHub actions builds for 32/64 bit#18596
seanbudd merged 8 commits intowip-buildX64from
gh64-parallel

Conversation

@seanbudd
Copy link
Copy Markdown
Member

@seanbudd seanbudd commented Jul 31, 2025

Link to issue number:

Part of #18207

Summary of the issue:

While developing 64bit, we want to be able to build 32 and 64 bit versions of NVDA simultaneously, until a stable version is ready.
Similarly, it would be helpful to do the same for python upgrades.

Description of user facing changes:

None

Description of developer facing changes:

None

Description of development approach:

Create dual builds for the following jobs:

  • Build NVDA
  • Create launcher
  • Unit tests
  • System tests
  • Creating symbols

Testing strategy:

This PR

Known issues with pull request:

System tests are still failing, as the installer is not fully working for both environments yet

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 seanbudd marked this pull request as ready for review July 31, 2025 04:05
@seanbudd seanbudd requested a review from a team as a code owner July 31, 2025 04:05
@seanbudd seanbudd requested review from SaschaCowley and Copilot and removed request for a team July 31, 2025 04:05
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 parallelizes GitHub Actions builds to support both 32-bit (x86) and 64-bit (x64) architectures simultaneously. This change enables developing and testing both architectures in parallel, particularly useful for transitioning to 64-bit NVDA while maintaining 32-bit compatibility.

Key changes:

  • Added matrix strategy to core build jobs (buildNVDA, createLauncher, unitTests, systemTests, createSymbols) to run for both x86 and x64 architectures
  • Updated cache keys and artifact names to include architecture and Python version specifics
  • Modified job outputs to handle matrix-based builds while preserving default architecture outputs for downstream jobs

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
.github/workflows/testAndPublish.yml Added matrix strategy for dual architecture builds across all major CI jobs
.python-versions Added 32-bit Python version specification for uv compatibility
miscDeps Updated submodule commit to support dual architecture builds

seanbudd and others added 2 commits July 31, 2025 15:59
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@seanbudd seanbudd requested a review from SaschaCowley August 4, 2025 00:05
Copy link
Copy Markdown
Member

@SaschaCowley SaschaCowley left a comment

Choose a reason for hiding this comment

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

Thanks, @seanbudd!

@seanbudd seanbudd merged commit cdfb720 into wip-buildX64 Aug 4, 2025
16 of 28 checks passed
@seanbudd seanbudd deleted the gh64-parallel branch August 4, 2025 04:20
@seanbudd seanbudd mentioned this pull request Aug 6, 2025
5 tasks
seanbudd added a commit that referenced this pull request Aug 6, 2025
Taken from #18611 #18596 and #18207
Summary of the issue:

We want to build 64bit and 32builds of NVDA in parallel for the 64bit migration and python migrations.
As such, we should prepare our build system to take a matrix of python versions and architecture
Description of user facing changes:

None
Description of developer facing changes:

None
Description of development approach:

Refer to #18611 #18596
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants