RFR: 8299330: Workflows should not install MSYS2 in the JDK's source directory [v7]

Julian Waters jwaters at openjdk.org
Tue Jan 3 11:32:52 UTC 2023


On Tue, 3 Jan 2023 10:09:26 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

> I don't quite understand what is the issue here. We do drop quite a bit of things in the OpenJDK root: bootjdk, gtest, jtreg, etc. How is msys2 different here?

Unlike the compiled JDK and those other utilities MSYS2 happens to be oddly sensitive to the paths being used in general, particularly when competing with the preinstalled tools that come with the runner, and has not fared very well from inside the source directory itself, to the point where tools that we explicitly request from MSYS2 are entirely ignored for tools that come with the preinstalled Git (tar is one such example). Another is the environment setup that it's bash seems to require, which caused a massive fiasco with https://github.com/openjdk/jdk/pull/11020 (the amount of test failures on Windows there is astounding). We've only been avoiding a guaranteed chance of Windows tests always failing during configure because prior to https://github.com/openjdk/jdk/pull/11020 the configure process somehow managed to function with a barely functional Unix environment. I don't know why MSYS2 is so sensitive, but installing it outside of the source directory seems to help with some of
  these issues

> I would be more concerned about depleting the tmp space on the runner after this patch.

Runners typically have a temporary cache size of 14GB, while the MSYS2 that we install for workflows is around 400MB in terms of size, base installation and all utils combined, so the chance of that happening isn't particularly high. That said, that is a good catch, since I overlooked the actual tool cache, which is provided by the runner for the tools one might need in an action and also reset with every run. That's probably more appropriate for installing MSYS into than the temp directory, and also uses the same (much larger) disk as the rest of the workflow, which (hopefully) addresses the concern that it might deplete disk space entirely mid-run

> We do drop quite a bit of things in the OpenJDK root: bootjdk, gtest, jtreg, etc

To be honest, I'm not very fond of those being placed into the source directory either, but I guess that's a discussion for another day

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

PR: https://git.openjdk.org/jdk/pull/11782



More information about the build-dev mailing list