RFR: 8255352: Archive important test outputs in submit workflow

Robin Westberg rwestberg at openjdk.java.net
Mon Oct 26 08:14:39 UTC 2020


On Fri, 23 Oct 2020 17:18:57 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

> Currently, we are only archiving `build/*/test-results`. But hs_errs, replays, and test outputs are actually in `build/*/test-support`! Which means once any test fails, we only have the summary of the run, not the bits that would actually help to diagnose the problem. 
> 
> Archiving the entire test-support seems too much, it yields 50K artifacts available as 1 GB zip archive in GH GUI. On top of that `upload-artifact` does the upload per-file, which takes tens of minutes on 50K files (and I suspect many API calls).
> 
> But we can pick up important test outputs selectively and then also compress them. See sample artifact here:
>  https://github.com/shipilev/jdk/runs/1301540541
> 
> It packages the final ZIP like this:
> 
> $ unzip -t test-results_.zip
>  Archive:  test-results_.zip
>     testing: artifact/                OK
>     testing: artifact/linux-x64-debug_testresults_hs_tier1_common.zip   OK
>     testing: artifact/linux-x64-debug_testsupport_hs_tier1_common.zip   OK
>     ...

Looks good! I also tried including the entire test-support folder at some point, but as you noticed it takes quite a bit of time and space. So this approach seems much better.

Minor comment: The cygwin\bin folder is included twice in PATH on Windows to work around a bug in JTReg (the regex used to detect cygwin does not match the very first entry in the PATH list. Perhaps I should file a bug for that..) but it's not really needed if you are executing something else.

.github/workflows/submit.yml line 768:

> 766:         working-directory: build/run-test-prebuilt/test-results/
> 767:         run: >
> 768:           $env:Path = "$HOME\cygwin\cygwin64\bin;$HOME\cygwin\cygwin64\bin;$env:Path" ;

Suggestion:

          $env:Path = "$HOME\cygwin\cygwin64\bin;$env:Path" ;

.github/workflows/submit.yml line 778:

> 776:         working-directory: build/run-test-prebuilt/test-support/
> 777:         run: >
> 778:           $env:Path = "$HOME\cygwin\cygwin64\bin;$HOME\cygwin\cygwin64\bin;$env:Path" ;

Suggestion:

          $env:Path = "$HOME\cygwin\cygwin64\bin;$env:Path" ;

-------------

Marked as reviewed by rwestberg (Committer).

PR: https://git.openjdk.java.net/jdk/pull/842



More information about the build-dev mailing list