nvda
nvda copied to clipboard
Shallow clone submodules
Link to issue number:
None
Summary of the issue:
CI takes a long time to prepare the codebase for a build.
Description of user facing changes
None
Description of development approach
Test reducing the submodule clone depth.
Testing strategy:
Build on Appveyor.
Known issues with pull request:
None
Change log entries:
New features Changes Bug fixes For Developers
Code Review Checklist:
- [ ] Pull Request description:
- description is up to date
- change log entries
- [ ] Testing:
- Unit tests
- System (end to end) tests
- Manual testing
- [ ] API is compatible with existing add-ons.
- [ ] Documentation:
- User Documentation
- Developer / Technical Documentation
- Context sensitive help for GUI changes
- [ ] UX of all users considered:
- Speech
- Braille
- Low Vision
- Different web browsers
- Localization in other languages / culture than English
- [ ] Security precautions taken.
- PASS: Translation comments check.
- PASS: Unit tests.
- PASS: Lint check.
- FAIL: System tests (tags: installer NVDA). See test results for more information.
- Build (for testing PR): https://ci.appveyor.com/api/buildjobs/4d2r7p3byx241awl/artifacts/output/nvda_snapshot_pr14114-26502,9c69a185.exe
- CI timing: Stage Time ElapsedMin
CI_INIT 2022-09-07T12:58:19.1840187+00:00 0 CI_INSTALL_START 2022-09-07T12:59:04.2811831+00:00 0.751619406666667 CI_INSTALL_END 2022-09-07T13:08:15.1405678+00:00 9.180989745 CI_BUILD_START 2022-09-07T13:08:15.2030796+00:00 0.00104186333333333 CI_BUILD_END 2022-09-07T13:31:3
See test results for failed build of commit 9c69a18510
A shallow clone for submodules does not have a significant impact on build time for Appveyor. It is noted that the clone of NVDA takes 45 seconds. This is not significant enough to optimize at this stage (given the complexity this adds to supporting diffs for lint check).
The only submodule that takes significant time to clone on appveyor is CLDR, which takes 8 min. This repository is quite large ~7GB, however NVDA only appears to need 61MB of data (contents of locales). CLDR data will be optimized in a new PR.
Despite this PR not really improving the timing of the install stage on Appveyor, a shallow clone of submodules will use less space for developers, and is likely to be quicker on slow connections. However, since this is not the core intent it has not yet been measured.
This PR improves documentation and updates advice for cloning submodules, it should be cleaned up and considered for merge.
As per my last comment, this didn't help significantly with the build time. Closing the PR.