-
Notifications
You must be signed in to change notification settings - Fork 104
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
GitLab CI testing expansion #1644
Conversation
… run when develop was changed (Issue 1611.3)
Had to update some of the tests to not build with openMPTarget as they aren't supported.
…tel_compiler_build_instructions
@long58 I started reading your PR. First, thank you for fixing the multi-project! I was actually looking at that today, and couldn’t see what was wrong. I think GitLab changed the syntax at some point to remove those quotes. So, thanks for the help. We can see that the status reports a failure named "skipped-draft-pr". I think this will go away if you merge "develop" in you branch. I’ll complete the review tomorrow. |
@long58 good work on this so far. I'll review in more detail tomorrow. For now, I suggest that we remove the OpenMP target testing from this branch. Then, we can work on the OpenMP target stuff in a separate PR. It will take some effort to try various compilers to figure out what works. We've always had difficulty with compiler support for that back-end. @adrienbernede I think it would be best to test RAJAPerf against the PR branch to be merged. However, it would be sufficient I think to see whether RAJA Perf passes or fails (so we can fix breakages in RAJA Perf) without requiring that check to pass before merging the RAJA branch. Is that what you have in mind? |
@rhornung67 the new data point I find in your comment is that you don’t want to bind the RAJA PR status to the RAJAPerf status. I am find with that, and it can be achieve removing the |
For the records, my impression so far is that there is a bug in Spack with the detection of the compiler @long58 added. Clang@19.0.0 does not seem to be an official release. Testing suggests that naming the compiler |
That does seem to work based on my testing. I'm fine with doing that for the sake of having it work, but I do think it would be a lot clearer if the extra stuff at the end were there 🤷🏻♀️. Since it's a spack bug though, I guess we could always change the name once they fix the bug. I've updated the spec, as well as the compiler def in the radiuss spack configs repo. |
@long58 The build started but timed out. We should bump up the allocation time. Also, there are a lot of compiler warnings about unused variables, etc. When this PR passes checks and is good to merge, can you start a new PR branch and try to resolve the compiler warnings. Many appear easy to fix (unused variables, etc.). Also, I think I found a path forward for adding a OpenMP target offload testing pipeline on lassen. It's suboptimal, but will at least lest us check compilation. I'll start a PR for this. |
@rhornung67 I don't think it timed out actually, I think it just failed for some other reason. It failed in 14min 30 sec, but the timeout limit is 3 hours. Unfortunately, because of all of the compiler warnings, GitLab is truncating the output, so I can't actually see what the problem is. I think I might make a branch off of this one for the compiler warnings and fix some of them, just so I can actually see what the issue is that's killing it in the CI. |
@long58 sounds like a good path |
@long58 GitLab is out a.t.m. but I have some information for you: Logs too long to display:When a job is too long to display, you can still see the full log by hitting the Time out:There are several ways for a job to time out it GitLab:
CORONA_SHARED_ALLOC: "--exclusive --time-limit=60m --nodes=1 -o per-resource.count=2" The Time out messages: |
@long58 @adrienbernede note that LC is doing maintenance on CZ GitLab and is expected to be down until Monday morning (7/8) |
@adrienbernede I had tried the complete log before, but it still doesn't show the entire output. It shows the log from the beginning, but ends with "Job's log exceeded limit of 32866304 bytes. Job execution will continue but no more output will be collected." |
Merging develop into this branch seemed to fix the CI build issues. |
Isn't this fun?!? |
.gitlab-ci.yml
Outdated
@@ -91,7 +91,7 @@ stages: | |||
trigger-rajaperf: | |||
stage: multi-project | |||
rules: | |||
- if: $CI_COMMIT_BRANCH == $MP_BRANCH || $MULTI_PROJECT == "ON" #run only if ... | |||
- if: $CI_COMMIT_BRANCH == $MP_BRANCH || $MULTI_PROJECT == "ON" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" #run only if ... |
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.
@long58 I think the CI_MERGE_REQUEST...
part should be reverted before merging
@long58 @rhornung67 I am seeing intermittent failures. I restarted the jobs and they passed. I tried the clang@19 SYCL job locally and it passed. |
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.
Thank you @adrienbernede
@adrienbernede I know how to disable warnings for this specific job, but I don't know how to disable them only on the first build attempt. I'll look through the gitlab docs and see if I can find anything like that, unless you know how to do that already? |
@long58 good point. Now that I think about it, I’m in the same situation. RAJA/scripts/gitlab/build_and_test.sh Line 215 in 20548cb
But it would imply ignoring the flags passed at the spack spec level, and I have now idea how to do that in a clean way. Maybe we could ignore those warnings for that job, period ? |
That's what I was thinking, just ignoring the warnings for the job, until I get my branch that actually fixes the warnings finished. Simply adding a |
This is only temporary until the underlying causes can be fixed.
Looks really good to me. |
If this is good to merge, @long58 you have the honor. |
Yay! 🥳 |
Summary
In order to accomplish this, I needed to make changes to the radiuss_spack_configs github project to add new compilers, and modify the raja and camp package.py files. I plan to make another pull request there integrating those changes, but for now, my branch of radiuss spack configs (used here) is up to date with the latest version of radiuss_spack_configs/develop.
Also, some (~9) of the OpenMPTarget tests on lassen are not consistent in whether they pass or fail. They will pass sometimes, and fail other times, and I'm really not entirely sure why.
This feature completes all objectives of Github issue #1611