adoptium / infrastructure

This repo contains all information about machine maintenance.
Apache License 2.0
85 stars 101 forks source link

Xcode 15.2 on test orka nodes #3720

Closed sophia-guo closed 4 days ago

sophia-guo commented 3 weeks ago

Xcode15.2 on test orka nodes https://ci.adoptium.net/label/ci.role.test&&sw.os.osx&&orka&&hw.arch.x86

Details:

Reproducible comparison testing on Mac https://github.com/adoptium/temurin-build/pull/3844 requires Xcode15.2. However the test orka nodes doesn't have xcode15.2 installed https://ci.adoptium.net/view/Test_grinder/job/Grinder/10771/console @steelhead31 also confirmed that no xcode15.2 installed on https://ci.adoptium.net/label/ci.role.test&&sw.os.osx&&orka&&hw.arch.x86

Orka build nodes does have Xcode15.2 installed https://ci.adoptium.net/label/xcode15.0.1&&build&&mac&&x64/ ( lable xcode15.0.1 should be changed to 15.0.2 https://github.com/adoptium/temurin-build/pull/3844#issuecomment-2178754616)

Asking to update orka test node template to have xcode 15.0.2 installed.

gdams commented 3 weeks ago

Could we run the reproducible test on arm64 hosts? Rosetta should be able to cope with this?

sophia-guo commented 3 weeks ago

@gdams we will first enable the test on x64Mac, then aarch64Mac.

sxa commented 3 weeks ago

@gdams we will first enable the test on x64Mac, then aarch64Mac.

@sophia-guo I believe @gdams is suggesting that the x64Mac reproducible test could (should?) be performed on aarch64 systems. We build the x64Mac on an aarch64 mac, so that would likely be the preferred way to confirm reproducibility. Is there a technical reason that wouldn't work, or is it just that the test job can't easily be sent to an aarch64 machine when it's testing x64? I'm not sure we've ever tried comparing an x64Mac build performed on aarch64 vs x64 so we possibly need to see if that's feasible first.

sophia-guo commented 3 weeks ago

Actually for x64Mac with build orka nodes I'm trying the label https://ci.adoptium.net/label/xcode15.0.1&&build&&mac&&x64/ , which is running on aarch64 system, which complains 13:46:45 Error: Cannot locate spec.gmk, given by SPEC=osx_x86-64. Not sure if it's because build x64Mac on aarch64Mac

https://ci.adoptium.net/view/Test_grinder/job/Grinder/10791/

Screenshot 2024-08-21 at 2 47 03 PM
sophia-guo commented 3 weeks ago

So this issue is opened to expect test orka nodes are configured same as build orka nodes

sxa commented 3 weeks ago

Actually for x64Mac with build orka nodes I'm trying the label https://ci.adoptium.net/label/xcode15.0.1&&build&&mac&&x64/ , which is running on aarch64 system, which complains 13:46:45 Error: Cannot locate spec.gmk, given by SPEC=osx_x86-64. Not sure if it's because build x64Mac on aarch64Mac

At that point we should try and figure out why you're getting that, but it doesn't cause a problem on the same machines in the build pipelines

@Haroon-Khel Can you jump in here as you've looked at some of these before? Is the arch -x86_64 likely to be required here? Ref https://github.com/adoptium/temurin-build/issues/3487#issuecomment-1735502890

I feel we have a a few things that we do not yet understand (or at least that I don't understand!) - @sophia-guo let me know if any of this is incorrect:

  1. We have not tried comparing a native x64 build with an x64 build run on an aarch64 machine so we do not know if that is a valid test at the moment.
  2. If it's not a valid test, and we have to compare on an aarch64 mac, then can we handle running on a different architecture in the test jobs? Presumably your comment "Actually for x64Mac with build orka nodes I'm trying the label https://ci.adoptium.net/label/xcode15.0.1&&build&&mac&&x64/" was a one-off change for that single Grinder job to force it to that machine for now as a test?
  3. We have a difference between the reproducible test job and the main build jobs when run on aarch64 (Error: Cannot locate spec.gmk, given by SPEC=osx_x86-64) that needs to be understood if we need to run the comparison build on aarch64.
Haroon-Khel commented 3 weeks ago

@Haroon-Khel Can you jump in here as you've looked at some of these before? Is the arch -x86_64 likely to be required here? Ref https://github.com/adoptium/temurin-build/issues/3487#issuecomment-1735502890

I would think so. If we are trying to replicate the environment of an x64 mac machine then yes. I am not very informed on what the reproducible test does exactly, are we building a binary, are we running an x64 binary? Either way I think the arch -x86_64 will be required

sxa commented 3 weeks ago

I am not very informed on what the reproducible test does exactly, are we building a binary, are we running an ex64 binary? Either way I think the arch -x86_64 will be required

We are attempting to run a second build of Temurin within an AQA test job from exactly the same tag in github and confirm that the binaries produced are bit-for-bit identical to the originals builds in the pipelines i.e. the files in the jdk tarball show no differences when you run diff between the originals and rebuilt ones.

References if you want to see / try yourself on Linux:

steelhead31 commented 4 days ago

Xcode 15.2 is not required on Orka / x64 nodes, as the reproducible build will now only run on arm64 nodes.

sophia-guo commented 4 days ago

Close this as Xcode 15.2 is not required on Orka / x64 nodes for reproducible build. Reproducible will run on arm64 nodes.