-
Notifications
You must be signed in to change notification settings - Fork 1.5k
[#8133] Add s390x as a parameter for Jenkins #956
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
Conversation
|
@srajmane s390x build convo resumes here |
|
Ugh.. this approach switches nodes b/w stages. Got to make another pass.. Apache INFRA backlogged ~ 30 min to get a build node. |
|
s390x compiled fine w/ multiple JDKs Unit tests running now: |
|
Notes:
ref: https://ci-builds.apache.org/job/ActiveMQ/job/ActiveMQ/view/change-requests/job/PR-956/3/ |
|
I'm going to go ahead and merge this. There is no day-to-day impact, this simply allows us to manually select a s390x build. @srajmane there are still some test failures. Not sure if it is due to a s390x-specific bug or if it is due to the s390x build server being super busy. |
@mattrpav Thank you for the update. |
|
@srajmane we do have a new setting that re-runs failed unit tests 3 times. My suspicion is that Apache's s390x's are super busy (and they don't have a lot of them) so we probably should not expect regular 'green' runs. I kicked off a new s390x pipeline run here: |
|
A few tests failed with 'port already in use' issue |
|
@mattrpav Yes, l will check this issue with nodes. |
|
Hi @mattrpav , we have observed that builds of another Apache package have same error mentioned above and the issue seems to be specific to Jenkins node. |
|
Hi @mattrpav the s390x nodes seem to be better now. Could you please help in triggering a job on s390x? |
|
@namrata-ibm I triggers the following ci-job for s390x https://ci-builds.apache.org/blue/organizations/jenkins/ActiveMQ%2FActiveMQ/detail/main/264/pipeline |
|
Hi @mattrpav Regarding jdk20 unavailable for s390x, we tried following up but ETA is not known yet, wanted to know your thoughts on enabling s390x builds. |
|
@mattrpav The latest jdk 20 is now installed on s390x nodes, could you please trigger s390x build once? |
|
Thank you @mattrpav , Looks like jdk 20 is still not configured or not at correct path, I am following up via Jira issue |
|
@mattrpav as discussed in Jira issue , could you please trigger a build for s390x specifically on jenkins-s390x-6 node? |
|
@mattrpav gentle reminder, could you please trigger a build for s390x on jenkins-s390x-6 node? |
|
@namrata-ibm We do not currently have the ability to specify node in our Jenkins parameters. My sense is we shouldn't ever target a node. Do all the s390x nodes not have the current JDKs? I kicked this one off: |
|
They all have the current JDKs. It is the symlink of 'latest*' that is the problem. It is hard to match 'latest' on all OS platforms to the same JDK, as the same JDK is not available on all platforms. So I asked for a test on a workaround that I did on one node. As you can not alter your Jenkinsfile to point to just one node, then I will add the workaround to all s390x nodes. Will comment here shortly when done. |
|
Added to all s390x nodes, please kick a build |
|
Thank you @mattrpav , in above job all "Build JDK xx", "Verify" and "Tests" stages have passed. Is it ok to start a regular s390x build for every merge commit like amd jobs? |
|
@namrata-ibm we need to figure out why the deploy step is failing and fix that. Also, I'd prefer not to add s390x for every run until after the Jakarta migration work (v5.19.x) is done. |
|
Hi @mattrpav , since v6.0.0 is out, is it ok to trigger s390x build for every run? |
|
hi @mattrpav wanted to follow-up on the state of |
|
@rposts no, unfortunately I don't think we are in a good state to do that on every PR.
The ActiveMQ unit tests need to be modernized and optimized. I estimate we could cut test run times in half. I kicked a s390x main branch test run just now: EDIT: .. and the build failed. No JDK 22 on s390x yet. |
|
Thanks @mattrpav for quick response. Currently Eclipse Temurin is releasing I do understand about your point about resources/execution time. Do you have any suggestions on how we can make this work given these constraints and until unit tests are optimized? Can we start with weekly/bi-weekly build triggers on Thanks for your help! |
|
@rposts great, adding JDK 22 to s390x will get us past this current hurdle. I'm good w/ adding an updated build trigger, but I currently do not have time to work on it. |
|
@mattrpav wrt adding JDK22 to Thanks so much for your continued assistance. |
|
JIRA created https://issues.apache.org/jira/browse/INFRA-25817 |
|
@mattrpav JDK22 is now available on s390x nodes, could you please trigger a build? |
|
@namrata-ibm I attempted to kick a job, but all s390x nodes are offline at the moment. |
|
Offline, how, where ? Note that all Shared nodes live on the main Operations Center and get leased out to ci-builds. ci-cassandra, etc, etc https://jenkins-ccos.apache.org/view/Shared%20-%20s390x%20nodes/ All are available and currently 2 in use. |
|
Hi @gmcdonald-- good call. Yes, the Jenkins job page flashed a message that s390x nodes were offline, then picked up a node a few minutes later. The job did fail on 'mvn' not being found. Perhaps s390x needs different 'mvn' tool name from other platforms in the Jenkinsfile? link to job: https://ci-builds.apache.org/job/ActiveMQ/job/ActiveMQ/job/main/476 |
|
Can I get a link to the JenkinsFile ? See : https://cwiki.apache.org/confluence/display/INFRA/Maven+Installation+Matrix for usual locations we install various Maven versions across the board. |
|
Hi @gmcdonald - Thanks, see Jenkinsfile below. ref: https://github.com/apache/activemq/blob/main/Jenkinsfile One thing I noted was that the names of the tools can change between platforms (see the Windows JDKs). If the Jenkins tool alias is the same across all, it would make for simpler to define multi-platform jobs. |
|
ergh ok, thanks, looks like maven_3_latest is broken, give me a bit for fix and deploy and new one |
|
ok Maven 3 issue should be resolved now, please test. @mattrpav |
|
Thank you @gmcdonald for helping with the infra. @mattrpav The above job triggered on s390x - failed with error: This fails on s390x as tests were run with jdk22 whereas on amd, jdk 17 is used and the tests pass with a warning about The Security Manager: Could you please trigger a job with jdk 17? |
|
The latest build for s390x is passing, Thank you @mattrpav! |
|
awesome |
|
@mattrpav can we enable regular s390x builds ? The last s390x job took similar time as Intel job to pass. |
|
@mattrpav can we please consider running s390x builds on every commit similar to amd64? |
|
@mattrpav - can we revisit this enablement? I'll be happy to assist with any s390x blockers we may see along the way. Thanks! |
|
@mattrpav - circling back on this re-enablement - could we revisit? Thanks for your attention in the matter. |
|
I don't think it makes sense to add s390x for every commit. I don't believe Apache Infra has enough s390x capacity for that. Perhaps IBM could donate more s390x? Or perhaps look into a GitHub action (does GitHub offer s390x?) I think a weekly scheduled job would make sense -- perhaps a Sunday early morning. The Jenkinsfile would need to be patched-- if you could take a pass at making that change, that would be helpful. Fresh s390x build started: https://ci-builds.apache.org/job/ActiveMQ/job/ActiveMQ/job/main/599/ |
|
Thanks @mattrpav. I think weekly scheduled job will work for now. Let me see if we can do that. Also, I'd like to update you with our work on enabling GHA support on s390x. We now have hosted GHA actions runners available for IBM Z and gradually onboarding opensource communities to utilize it as we work on expanding the capacity. I'll be happy to engage with ActiveMQ to see if this solution helps with the enablement. It will be useful to get an idea of daily commits from you on ActiveMQ to see if it can be contained in the existing runners. An onboarding document is available. Please let me know your thoughts. Thanks! |
|
@rposts ActiveMQ is at ~1 commit per day (note: that many times these get batched up where we'll do a bunch of updates in one day leading up to a release) |
No description provided.