temurin-build icon indicating copy to clipboard operation
temurin-build copied to clipboard

Build Auto-Triage Upgrades

Open adamfarley opened this issue 2 years ago • 3 comments

A list of potential improvements for the build auto-triage script.

Anyone is welcome to add to these changes, or to action them.

Starting list:

  • To sort the list of build failures to put the build failures at the top and the test failures at the bottom.
    • Will also include separating out the test failures into their own category in regards to the summary integers at the top of the created issue.
  • To replace build links for test failures with test job links.
    • Note: Will also need to keep scanning the output in case a test failure is detected. That way, we can catch all of the test failure links.
  • To find a way to ignore build pipelines that were started by a user re-starting a timer build.

adamfarley avatar Dec 14 '23 13:12 adamfarley

Arm 32bit is no longer a build platform for JDK21 and up. Need to fix the platforms list accordingly.

adamfarley avatar Jan 16 '24 12:01 adamfarley

Added several improvements here, including:

  • Ability to find tag-driven pipelines.
  • Ability to identify the two new types of pipeline for JDK8 (Arm32 and Alpine, which have dedicated pipelines).
  • Ability to filter out user-launched pipelines.
  • Ability to filter out pipelines that are still in progress.
  • Ability to filter out pipelines with no builds.
  • Ability to correctly identify failed builds vs unstable builds.
  • Removal of arm32 Linux as an expected platform for jdk21+.
  • Ability to launch the build triage workflow manually via the website (useful for testing new changes).
  • Prevent the Build workflow from triggering on changes to the build autotriage script.
    • FYI: The Build workflow runs and monitors a large set of build pipelines for some types of pull request in the temurin-build repo. It takes a long time to run, and provides no benefit as the build autotriage script is not a part of the build pipeline.
  • Plus lots of useful comments and restructuring.

adamfarley avatar Mar 08 '24 13:03 adamfarley

We should add the ability to concatenate build pipelines in the event of reruns.

Example:

Pipeline 1 has platforms A and B Pipeline 2 has platforms B and C

Build triage should process the platforms from Pipeline 1, plus platform C from pipeline 2.

We'll need to include logic to cover these scenarios:

  1. A user has rerun some tag-driven builds using default parameters (triage these).
  2. A user reran the "1" builds, but only on some platforms (triage these).
  3. A user reran the "2" builds, but used bespoke options like -Xint, or their own source repo fork (do not triage these).

adamfarley avatar Mar 08 '24 14:03 adamfarley

Some of the above items have been resolved, and the others (while useful) don't appear necessary.

After review, here is an MVP list for completion of this issue:

  • [x] Display test and build fails separately.
  • [x] Print list of trss grid views per jdk version.
  • [x] Solve bug noted here, where we are not correctly identifying the latest timer/tag-driven pipeline.

adamfarley avatar Jul 10 '24 09:07 adamfarley

PR ready for reviews. Link.

adamfarley avatar Jul 30 '24 15:07 adamfarley