Fsu0413 / openssl-externalCMake

A totally external CMake project for building OpenSSL.
http://openssl.org
The Unlicense
12 stars 3 forks source link

Reduce CI #10

Closed Fsu0413 closed 9 months ago

Fsu0413 commented 9 months ago

Currently this project runs more than 100 configurations in GitHub Actions on every push. It seems like the speed is limited by GitHub and the most recent changes has not finished in 10 hours, while it normally costs no more than 3 hours. But I don't think that any configuration should be removed since all of them makes some sense.

My thought of this modification is as following:

  1. Move current CI configuration to another repository, like https://github.com/Fsu0413/Fsu0413-ActionTest
  2. Write a completely new set in current CI, but remove almost all the configuration matrix, preserving only default options built on push (Completed!)
Platform Current jobs Reduced jobs Notes
Linux (Ubuntu) 8 (per version) 1 Use ubuntu-22.04 only
Windows (Visual Studio) (1.1.0 later) 3 (per arch / version)
(1.0.2) 4 (per version)
1 (per arch) use VS2019 for x86 and VS2022 for x86_64
Windows (MinGW) 4 (per arch / version) 1 (per arch) Use latest MinGW build from niXman only
macOS (x86_64 or 1.1.1 later) 8 (per arch / version)
(arm64, 1.1.0 before) 4 (per version)
1 (per arch) use macos-13 for x86_64, macos-14 for arm64 and unified
Android 8 (per arch / API level) 1 (per arch) Use following API level combination:
1.0.2: NDK 13, API 9 (21 for 64-bit)
1.1.0: NDK 17, API 16 (21 for 64-bit)
1.1.1 / 3.0: NDK Latest, API 24
3.1 / 3.2: NDK Latest, API 27

This reduced the amount of CI configurations built on push to each branch from around 140 to 11 (1.1.0 earlier) or 12 (1.1.1 later)