-
Notifications
You must be signed in to change notification settings - Fork 82
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
[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. |
What is the status of this one? I see many conflicts now. |
Unless said otherwise I'll close this one. |
1564e90
to
eee587c
Compare
I rebased it and resolved the conflicts. I definitively plan to finish this, but the final try out with my local Jenkins (that at least it leads to the desired job configs) is still pending. If time permits I'll do it at next weekend or the one after it, after EclipseCon. |
eee587c
to
1df5f20
Compare
All my local testing looked good. All test jobs are still generated with the expected configuration. Since the verification build does not test this I'll submit this now so that tonight's I-build can verify this. |
With #2477 the job re-generation has now worked. The I-build has started already, but since the test-jobs are kicked in its end, that I-build should still test the new configuration (which should actually not changed). |
Due to a second follow-up, #2478, the I-build was now aborted and restarted to be triggered completely with the newly generated jobs being available. |
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?