-
-
Notifications
You must be signed in to change notification settings - Fork 314
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switch to command line tools xcode before running tests on mac #4809
Conversation
Runs as expected
|
Would that affect mac x64? Rerun with mac x64 and failed https://ci.adoptium.net/job/Grinder/7750/ for other reasons. Another one https://ci.adoptium.net/job/Grinder/7751/ |
It should affect x64 too. Not sure why 7750 failed, looks like it failed to download the binary. 7751 looks good |
Incase 7750 failed because it ran on a 1014 box, ive kicked off https://ci.adoptium.net/job/Grinder/7752/console on test-macstadium-macos1014-x64-1. It ran the xcode switch without error |
This makes me a little nervous as we have others using our test suite and it feels risky to assume the path. |
A mitigation.
I think switching to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A mitigation
What is the actual risk at the moment? A quick check suggests that neither of the two aarch64 build machines have a ci.role.test
label so the testing should be immune to experiencing the problem unless a build is explicitly sent to one of them.
What is the impact of this change for other vendors, Alibaba, Huawei, OpenJ9/Semeru who use this same codebase with regards to this change. |
Thats true. Similarly the jdk builds wont run on the test mac aarcn64 boxes so we're reassured there too. So not too urgent then, but I would like to (in some capacity) cover the case where a jdk build runs on a test machine or a test runs on a build machine.
If they run test jobs on mac machines, xcode will try to reset to the 'default' toolset, found in Is there a feature in the test scripts which enable us as Adoptium to use variables that are specific to us? I could wedge this pr in there |
Sounds like we're at effectively zero risk at the moment for most standard operations, and potential risk to community members utilising or opens scripts, so I suggest we postpone this until after the release where we can evaluate the potential impact in more detail. |
I don't think we have right now. |
More precisely, if they run system test jobs on mac. It would affect them if they are trying to compile system test code, so in the case of running system tests. An option would be to check if that path is available (during the environment check done by TKG), and if not, exit with a useful error. Is this PR still in play or needed (since the switch to Orka machines)? Not sure I have seen system test failures on mac platforms recently. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is using the xcodes utility to manage this an option?
Almost certainly not. Also with the job restrictions plugin which now separates build/test systems there should be no risk even if we were to use non-orka systems as the problems described are only caused by builds changing the defaults on machines that tests run on. |
Okay, given the recent information and infra updates, I believe we can close this PR. |
Switches xcode path to
/Library/Developer/CommandLineTools
before running tests. This should be the default xcode path anyway (when the machine is idle). Due to adoptium/temurin-build#3492, after a jdk8 build the machine will be stuck on/Applications/Xcode-11.7.app/Xcode.app/Contents/Developer
which causes errors with gcc and makesee https://ci.adoptium.net/job/Grinder/7745/console
I've rebuilt that failing job, https://ci.adoptium.net/job/Grinder/7749/console, with this pr's changes. Should pass 👍🏻