[clang] [llvm] Disable compiling and testing Flang on Clang changes (PR #92740)

Erich Keane via llvm-commits llvm-commits at lists.llvm.org
Mon May 20 11:17:59 PDT 2024


================
@@ -68,7 +68,7 @@ function compute-projects-to-test() {
       done
     ;;
     clang)
-      for p in clang-tools-extra compiler-rt flang lldb cross-project-tests; do
+      for p in clang-tools-extra compiler-rt lldb cross-project-tests; do
----------------
erichkeane wrote:

As I see it, this is a 'perfect is the enemy of better' situation.  @joker-eph is absolutely right: in a perfect world, we'd run all of the tests that could be affected at a fine grain control.

At the moment however, we have a COARSE grain control, that has lead to pre-commit CI being low-value at high cost.  We  have 3 main failures as I see it:

1- Pre-commit CI is taking so long that it is delaying patches, causing us to have a slower velocity and lower quality product as a result.

2- Pre-commit CI is taking so long that it is causing folks to IGNORE CI and commit without it.  This is absolutely a necessity to combat 1, but makes the valuable parts of CI significantly less valuable.

3- Pre-commit CI is costing as much as 2x dollar-wise than it optimially should (as these flang tests have elsewhere shown to take up >50% of our execution time), thanks to running Flang tests unnecessarily.

ALL OF THIS, is in exchange for running some additional testing that has, in my experiences, found zero issues.  So at the moment, the cost/value proposition is a divide-by-zero (or at least, is approaching infinity if I managed to miss the ONE case these tests saved).  While the main motivation for us is 1 and 2, 3 very much needs attention as well.

I believe that accepting this patch as-is improves the quality, cost, and usefulness of CI and is a 'net win'.  The 'cost' that makes this NOT a 'complete-win' is minor, and of low value.  Add in the fact that this is a dependency that will eventually go away thanks to the Flang effort, I don't see the advantage.

In a PERFECT world, we could stick with the PERFECT situation: testing every time.  But, testing takes time and money, which is a much higher cost than we're getting out of this, for what is a temporary measure.

As a maintainer on the clang project, we need to accept this patch to regain the value of CI.  

https://github.com/llvm/llvm-project/pull/92740


More information about the llvm-commits mailing list