-
Notifications
You must be signed in to change notification settings - Fork 668
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
ci(build-test-tidy): introduce success condition jobs #9769
Conversation
This reverts commit 054831fff8dfa825ce45a4111fcea88aff5bc287.
Thank you for contributing to the Autoware project! 🚧 If your pull request is in progress, switch it to draft mode. Please ensure:
|
I'll improve the readability of the results. |
Signed-off-by: M. Fatih Cırıt <[email protected]>
Signed-off-by: M. Fatih Cırıt <[email protected]>
Signed-off-by: M. Fatih Cırıt <[email protected]>
6708788
to
0489dca
Compare
Signed-off-by: M. Fatih Cırıt <[email protected]>
Signed-off-by: M. Fatih Cırıt <[email protected]>
Signed-off-by: M. Fatih Cırıt <[email protected]>
Signed-off-by: M. Fatih Cırıt <[email protected]>
Signed-off-by: M. Fatih Cırıt <[email protected]>
TestsNormal Package Modification🟢 Good Change🔴 Bad ChangeCUDA Package Modification🟢 Good Change🔴 Bad ChangeNo Package ModificationWith Label 🟢Without Label 🔴 |
Signed-off-by: M. Fatih Cırıt <[email protected]>
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #9769 +/- ##
==========================================
- Coverage 29.65% 29.65% -0.01%
==========================================
Files 1450 1450
Lines 108837 108846 +9
Branches 42740 42744 +4
==========================================
Hits 32279 32279
- Misses 73387 73396 +9
Partials 3171 3171
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Signed-off-by: M. Fatih Cırıt <[email protected]>
Signed-off-by: M. Fatih Cırıt <[email protected]>
Signed-off-by: M. Fatih Cırıt <[email protected]>
Signed-off-by: M. Fatih Cırıt <[email protected]>
…refoundation#9769)" This reverts commit 421ec7d.
@xmfcx It seems like another workaround is to just pass the This keeps the workflow code simpler, and developers would have similar user experience to check failed conditions as before. However, it is a bit of hacky way to solve the issue because we have to unnecessarily pass the condition as an argument so I'm okay with your solution as well. Maybe we can wait for developers' reactions, and if they feel uncomfortable with the current fix, we can consider using this approach. |
@mitsudome-r In my opinion, counting skipping as a success condition hides intention and confuses even more. It's better to make things explicit than implicit. For example, cuda workflows are marked as required but they can be skipped and it just passes, this, to me is confusing. But if this build-test-pr is marked as required, we explicitly report our success condition to developers. Right now, if the workflow fails, they can click on the failed workflow and they will be pointed to where to look. I've checked your solution and yes, it would solve this problem too. And with much less code. If you really want to keep it the old way with the small fix, I understand too, we can apply your solution. 👍 |
By the way, the reason we have to deal with these complicated success conditions is that we started running CUDA jobs conditionally. Due to this, clang-tidy also branched into 2. It is the most efficient way to use limited compute resources. I think it's unavoidable to have this complicated structure as long as we aim to support CUDA and non-CUDA builds in a large codebase that has large parts that explicitly doesn't require CUDA. |
…tion#9769) Signed-off-by: M. Fatih Cırıt <[email protected]>
…tion#9769) Signed-off-by: M. Fatih Cırıt <[email protected]>
…refoundation#9769)" This reverts commit 421ec7d.
Description
I had initially made this change a part of the previous PR:
But we removed it to allow a simpler structure.
But I think we cannot avoid it due to how we add things to
Status checks that are required
from rulesets menu.Problem
Issue is, you add the required "jobs" to this list.
You cannot add workflows here, only jobs. And if jobs are within jobs as in reusable workflows, you need to include both names.
For example, for build-and-test-differential job, here is the list of allowed jobs currently available in this repo:
Add
build-and-test-differential
to list❌ We end up with:
In a workflow. If we check more closely:
It actually needs
build-and-test-differential / build-and-test-differential
to complete.Add
build-and-test-differential / build-and-test-differential
to listIt is solved ✅
This was to demonstrate how it works. But now I will share the problem part.
Add
build-and-test-differential-cuda / build-and-test-differential
Success
It works if it is not skipped ✅
Skipping
❌ We end up with:
This happened because it was skipped. And sub-workflow did not execute at all.
Add
build-and-test-differential-cuda
to the listSuccess
❌ We end up with:
Because the full job name is not in the list.
Skipping
It works if it is skipped ✅
Solution
This means, we cannot rely on skipping counted as success with reusable workflows.
So I'm bringing back these jobs that will run at all times and notify you about the success condition.
Related links
Tested PRs:
How was this PR tested?
Notes for reviewers
None.
Interface changes
None.
Effects on system behavior
None.