[all-commits] [llvm/llvm-project] f539d9: [ci] Write test results to unique file names (#113...

David Spickett via All-commits all-commits at lists.llvm.org
Tue Nov 12 05:25:05 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f539d92dcabb4fd114d6cb1774e914e03adb0cc5
      https://github.com/llvm/llvm-project/commit/f539d92dcabb4fd114d6cb1774e914e03adb0cc5
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-11-12 (Tue, 12 Nov 2024)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh

  Log Message:
  -----------
  [ci] Write test results to unique file names (#113160)

In this patch I'm using a new lit option so that the pipeline writes
many results files, one for each time lit is run:
```
--use-unique-output-file-name
  When enabled, lit will add a unique element to the output file name, before the extension. For example "results.xml" will become "results.<something>.xml". The
  "<something>" is not ordered in any way and is chosen so that existing files are not overwritten. [Default: Off]
```
(I added this to lit recently)

Alternatives were considered:
* mkfifo - does not work on bash for Windows.
* tail -f - does not print full content on file truncation
* lit wrapper script - more complication than using an option to lit
itself
* ninja/mv file/ninja/mv file etc - lots of changes needed to make the
scripts build each target separately

And after feedback I decided that using an option to lit itself is the
cleanest way to go. It can be removed when we no longer need it.

If I run the Linux build after this change:
```
$ bash ./.ci/monolithic-linux.sh "clang;lldb;lld" "check-lldb-shell check-lld" "libcxx;libcxxabi" "check-libcxx check-libcxxabi"
```
I get multiple test result files. In my case some tests fail so runtimes
aren't checked, but all projects are so there is 1 file for lldb and one
for lld:
```
$ ls build/*.xml
build/test-results.klc82utf.xml  build/test-results.majylh73.xml
```
This change just collects the XML files as artifacts. Once I know that's
working, I can set up test reporting to make a summary of them.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list