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
[I-Build-Tests] Merge multiple definitions into one per OS #2005
base: master
Are you sure you want to change the base?
[I-Build-Tests] Merge multiple definitions into one per OS #2005
Conversation
@@ -1,11 +1,15 @@ | |||
def config = new groovy.json.JsonSlurper().parseText(readFileFromWorkspace('JenkinsJobs/JobDSL.json')) | |||
def STREAMS = config.Streams | |||
|
|||
def ARCHS = ['aarch64', 'x86_64'] | |||
def ARCHS_AGENT_LABEL = ['aarch64': 'nc1ht-macos11-arm64', 'x86_64': 'nc1ht-macos11-arm64'] |
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.
I wonder if it is intentional that the mac-tests for both arches, x86_64 and arm64 run on the arm-machines for over a year now?
And if it is intentional, is there any chance to run it on the x86_64 machine again? That would also improve the distribution of the I-build test execution load.
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.
Actually we don't have a x86_84 test machine. Because of this we are using arm64(m1) machine to test both architectures.
x86_64 testing is possible using Rosetta2 translator.
We can run using x86_64. Just change the machine name, the tests will run without any changes.
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.
This is done to optimize resource packs.
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.
Actually we don't have a x86_84 test machine. Because of this we are using arm64(m1) machine to test both architectures.
What's about https://ci.eclipse.org/releng/computer/b9h15%2Dmacos11%2Dx86%5F64/? That it at least used to build the SWT and Equinox native binaries for MacOS x86_64.
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.
But I'll try a replay of the mac64 I-build test this evening where I change the node label to see if that works as well.
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.
There are couple of reasons.
- I remember https://ci.eclipse.org/releng/computer/b9h15%2Dmacos11%2Dx86%5F64/ as not having GUI available. I may be wrong here.
- Don't want to block swt and Launcher builds as the machine is being used for test runs(test run can go up to 4 hours)
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.
There are couple of reasons.
- I remember https://ci.eclipse.org/releng/computer/b9h15%2Dmacos11%2Dx86%5F64/ as not having GUI available. I may be wrong here.
Do you think this could be activated?
- Don't want to block swt and Launcher builds as the machine is being used for test runs(test run can go up to 4 hours)
Yes, but the mac-aarch64 machine is also used to build the natives of SWT and equinox while at the same time being used for I-build tests. The current situation makes it even worse since the mac-aarch64 machine is now blocked by the tests for two architectures and therefore for twice the time.
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.
If https://ci.eclipse.org/releng/computer/b9h15%2Dmacos11%2Dx86%5F64/ can be activated that would be great help. I would rather use this for building the SWT and equinox to unblock other machine for testing.
Please check with foundation on this one.
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.
I just tested running the mac-x86_64 test on https://ci.eclipse.org/releng/computer/b9h15%2Dmacos11%2Dx86%5F64/ by replaying with a changed label but it currently already fails because ANT is not available:
https://ci.eclipse.org/releng/job/AutomatedTests/job/ep432I-unit-mac64-java17/14/console
So probably there is a bit more to set up. I'll leave that task for a future PR but in general we should implement that to leverage the available resources better.
Please check with foundation on this one.
Yes, I have already created https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/4231 some time ago to avoid blocking of native building tasks by I-build tests. The other way round is less problematic because the native build jobs usually complete within one, two minutes or even less, so the I-build tests are not really blocked (one won't really notice if they complete two minutes later).
I also had a little chat with Frederic Gurr about it and I think we will make progress on that topic in the future.
2ca706c
to
1564e90
Compare
I like the simplification a lot. Feel free to push this one. |
Great. I have a few more minor adjustments, that I want to add and that will also prepare a possible Windows on ARM I-build. |
What is the status of this one? |
Still the same as in my previews comment and I first wanted to to some smoke testing with my local Jenkins. |
This is currently a draft since I want to await the verification that the latest changes work as expected.
Furthermore the windows job could be prepared for a test on Windows on ARM too.
@akurtakov what do you think?