miurahr / aqtinstall

aqt: Another (unofficial) Qt CLI Installer on multi-platforms
https://aqtinstall.readthedocs.io/en/latest/
MIT License
893 stars 84 forks source link

Audit the Azure Pipelines build jobs #651

Open ddalcino opened 1 year ago

ddalcino commented 1 year ago

A CI test server, MS hosted, is provided by azure pipelines free plan.

1 Microsoft-hosted job with 1,800 minutes per month for CI/CD and 1 self-hosted job with unlimited minutes per month.

aqtinstall consumed 336 build minutes in total 360 build minutes in this month in my projects.

Maybe it's time to audit the jobs we have and remove anything that's not really high value. I just added 6 new jobs in #648, for a total of 49 Azure builds by my count. I'm sure we can find a few that we don't need anymore.

Originally posted by @ddalcino in https://github.com/miurahr/aqtinstall/issues/640#issuecomment-1426940801

ddalcino commented 1 year ago

Current full list of jobs (please excuse any spelling errors; I had to copy the list via OCR):

Mac install-qt 5.13.2 clang_64 for desktop
Mac install-qt 5.15.2 clang_64 for desktop
Mac install-qt 6.2.0 clang_64 for desktop (qtcharts qtnetworkauth)
Mac install-qt 5.14.2 clang_64 for desktop (qtcharts qtnetworkauth)
Mac install-qt 6.5.0 wasm_singlethread for desktop
Mac install-qt 6.5.0 wasm_multithread for desktop
Mac install-qt 5.14.2 wasm_32 for desktop
Mac install-qt 6.4.0 wasm_32 for desktop
Mac install-qt 6.4.0 ios for ios (qtsensors)
Mac install-qt 6.2.4 ios for ios (qtsensors)
Mac install-qt 6.4.1 android armv7 for android
Mac install-qt 6.1.0 android_armv7 for android
Mac install-tool for desktop
Windows install-gt 5.15.2 win32_msvc2019 for desktop
Windows install-qt 5.14.2 win32_mingw73 for desktop
Windows install-gt 5.13.2 win64 msvc2015_64 for desktop
Windows install-qt 5.15.2 win64_mingw81 for desktop
Windows install-qt 5.15.2 win64_msvc2019_64 for desktop (qtcharts qtnetworkauth)
Windows install-qt 5.9.0 win64_msvc2015_64 for desktop (qtcharts qtnetworkauth)
Windows install-qt 5.14.2 win64_mingw73 for desktop (spec=">1, <5.15")
Windows install-qt 6.5.0 wasm_singlethread for desktop
Windows install-qt 6.5.0 wasm_multithread for desktop
Windows install-qt 5.14.2 wasm_32 for desktop
Windows install-qt 6.4.0 wasm_32 for desktop
Windows install-qt 6.3.0 android_armv7 for android
Windows install-qt 6.4.1 android_x86_64 for android
Windows install-tool for desktop
Linux install-qt 5.13.2 gcc_64 for desktop
Linux install-qt 5.15.2 gcc_64 for desktop
Linux install-qt 5.15.2 gcc_64 for desktop (qtcharts qtnetworkauth)
Linux install-qt 5.14.2 gcc_64 for desktop (all)
Linux install-qt 5.15.2 gcc_64 for desktop (qtbase qttools qt icu)
Linux install-src 6.1.0 gcc_64 for desktop (qtlottie)
Linux install-doc 6.1.0 gcc_64 for desktop (gtlottie) (qtdoc)
Linux install-example 6.1.0 gcc_64 for desktop (qtcharts) (qtdoc)
Linux list 5.15.2 gcc_64 for desktop (spec=" <6")
Linux list 6.1.0 gcc_64 for desktop (spec=">6.0, <6.1.1")
Linux list 6.1.0 android_armv7 for android (spec=">6.0, <6.1.1")
Linux list 5.14.1 ios for ios (spec="<=5.14.1")
Linux list 5.13.1 win64_msvc2015 winrt_×64 for winrt (spec=">5.13.0, <5.13.2"')
Linux install-qt 5.14.2 wasm_32 for desktop
Linux install-qt 6.4.0 wasm_32 for desktop
Linux install-qt 6.5.0 wasm_singlethread for desktop
Linux install-qt 6.5.0 wasm_multithread for desktop
Linux install-at 6.1.0 android armv7 for android
Linux install-at 6.4.1 android arm64 v8a for android
Linux install-qt 5.12.11 gcc_64 for desktop (/t/Q)
Linux install-qt 5.12.11 gcc_64 for desktop (/some/super/long/arbitrary/path/to/some/super/long/arbitrary/path/...
Linux install-tool for desktop

One reasonable approach for pruning this list is to cut out versions of Qt 5 that are not LTS versions (5.9, 5.12, and 5.15). At present, Qt 5 hasn't been supported for a long time, but LTS versions 5.15 and 5.12 have received updates fairly recently. Qt 5.9 hasn't had support for a long time, but it's still fairly popular, and there are some edge cases that are only true for Qt 5.9, so IMHO it's worth testing.

Personally, I would advocate examining the non-LTS Qt 5 versions to see if they can be removed, particularly if they aren't testing anything that's already being tested elsewhere.

miurahr commented 1 year ago

I have an idea that we define two CI jobs.

  1. every days master and Pull-Request check that reduce numbers. (Is it engough with GH-actions ?)
  2. full test periodically (monthly?), and run just before release manually.
miurahr commented 7 months ago

Just proposed #735 to update CI trigger and schedule