-
Notifications
You must be signed in to change notification settings - Fork 4k
[ci] generate valgrind suppressions in logs #7068
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] generate valgrind suppressions in logs #7068
Conversation
|
Tried triggering it like this:
Which produced this run: https://github.com/microsoft/LightGBM/actions/runs/18674203178 Let's see how it goes. |
This comment was marked as resolved.
This comment was marked as resolved.
|
Seems that something is wrong with Optional check: https://github.com/microsoft/LightGBM/actions/runs/18674187612/job/53240748669?pr=7068 I guess that the check was run before R valgrind workflow. This ordering problem of workflows was the reason for the following code in previous ChatOps implementation: LightGBM/.github/workflows/optional_checks.yml Lines 9 to 10 in ee30b8a
LightGBM/.ci/get-workflow-status.py Lines 91 to 95 in 35a2a2e
|
|
I don't think it's an ordering problem. Polling like that should never be necessary because the LightGBM/.github/workflows/r_valgrind.yml Lines 58 to 60 in 5dbfcdc
LightGBM/.github/workflows/r_valgrind.yml Lines 74 to 81 in 5dbfcdc
I think that the The earliest log message for the Optional Checks run here is from The So there is probably an issue with re-triggering the Thankfully with this new pattern, we can test that without needing a merge to |
|
I think there's a secondary problem here... for runs from forks, the workflow run shows up as "on"
ref: https://github.com/microsoft/LightGBM/actions/workflows/r_valgrind.yml That property comes from the "use workflow from:" dropdown here:
I hadn't noticed this in #7035 because there I was using a microsoft/LightGBM branch, so the "use workflow from:" branch always matched the PR branch. But that won't work for forks, where we'll want "use workflow from:" to be a LightGBM branch but the actual run is happening on a branch from a fork. I'm not sure if the previous ChatOps implementation also had this limitation, there aren't any runs of this workflow on PRs from forks still visible in the history. I'll try to find a fix :/ |
|
I remember that our complex old mechanism was exactly the consequence of forks proceedings...
|
|
Workflow R valgrind tests has been triggered! 🚀 https://github.com/microsoft/LightGBM/actions/runs/18799045915 Status: success ✔️ |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
| ```shell | ||
| gh workflow run \ | ||
| --repo microsoft/LightGBM \ | ||
| --ref ci/fix-rerun-workflow \ |
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 was a mistake when I included it in #7072, sorry.
--ref is the CLI equivalent of the "use workflow from:" dropdown in the GitHub Actions UI (see screenshot in #7068 (comment)).
It controls which branch to source r_valgrind.yml from.
In most cases, that should just be the default branch in the repo. The --ref ci/fix-rerun-workflow here was left over from my testing on #7072.
|
Workflow R valgrind tests has been triggered! 🚀 https://github.com/microsoft/LightGBM/actions/runs/19257757316 Status: success ✔️ |
|
Ok this now seems to be working. Sorry this has required so much reviewing effort, but I think it's worth it to now be able to test changes to workflows like this without needing a merge to |
StrikerRUS
left a comment
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.
LGTM, thanks!



Contributes to #6231
valgrinderrors can be "suppressed" (treated as false positives") via a "suppression file". This proposes runningvalgrindwith option--gen-suppressions=all, so that alongside each error it finds it'll also print configuration that could be added to such a file to suppress it.Notes for Reviewers
Opening this from my fork to also test #7035 (comment)
How I tested this
After merging #7072, triggered a run like this:
gh workflow run \ --repo Microsoft/LightGBM \ r_valgrind.yml \ -f pr-branch='jameslamb:ci/valgrind-suppressions' \ -f pr-number=7068That worked as expected: #7068 (comment)
And I see the valgrind suppression stuff in the logs, like this: