nvda icon indicating copy to clipboard operation
nvda copied to clipboard

Shallow clone submodules

Open feerrenrut opened this issue 2 years ago • 2 comments

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.

feerrenrut avatar Sep 07 '22 12:09 feerrenrut

  • 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

AppVeyorBot avatar Sep 07 '22 13:09 AppVeyorBot

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.

feerrenrut avatar Sep 09 '22 03:09 feerrenrut

As per my last comment, this didn't help significantly with the build time. Closing the PR.

feerrenrut avatar Dec 08 '22 09:12 feerrenrut