On Fri, 23 Oct 2020 17:18:57 GMT, Aleksey Shipilev <sh...@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

Reply via email to