Skip to content

Reduce load on macosx-aarch64 machine in RelEng JIPP #3315

@HannesWell

Description

@HannesWell

In the RelEng Jenkins instance we have two build machines running on Mac OS X:

According to the name and description one has a x86_64 and one has a aarch64 CPU.

At the same time we have two I/Y-build test configurations for Mac OS:

  • macosx-aarch64-java21
  • macosx-x86_64-java21

But for a reason unknown to me both run on the the macosx-aarch64 machine. As the full test suite runs between 2h and ~4.5h having two of them per I/Y-build imposes a heavy load on that one machine and blocks it for quite some time. Especially if extra builds are triggered out of schedule and in times where Y-builds run daily (close before Java releases). This is especially problematic as the SWT and Equinox native binaries are build on these machines too, but these builds are blocked (and often time out) when I/Y-build tests are running. To mitigate the latter other suggestions exist, like

(Although I'm not sure if it's worth the effort given, that we hopefully 'soon' can use the FFM API in SWT).

But regardless of all site-notes, I think we should reduce the number of test configurations executed on the macosx-aarch64 machine.

Ideally the macosx-x86_64-java21 configuration would run again on the macosx-aarch64 machine.
But as it probably was like that in the past I wonder why it changed and if the macosx-x86_64 machine can be fixed to make it run again?

And AFAIK at least in the mobile area all new MacBook laptops use only Apple's ARM based CPUs? I don't know how the situation is in the desktop area but I wonder if x86_64 is still relevant and used for Mac? Is this an architecture just used on legacy Mac systems?
If the latter is correct, should we just drop the macosx-x86_64 test configuration?
And could we even drop support for macosx-x86_64 in Eclipse entirely?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions