I frequently need to run only a Sanitizer workflow (from the Tests workflow) via the github Actions. Currently, is it possible ?
Does the reusable Sanitizer workflow proceed for that ? Or what is this workflow used for ?
If I have to ask for a new workflow, should I open a new issue ?
Thank for answering
Yves
I was working on a PR for CPython (Queue Shutdown). All CI was green except `Sanitizer` workflows. So I was forced to duplicate the branch, ran all the `Tests` workflow even though I only needed `Sanitizer` part.
When I’ve done things like this in the past I’ve enabled CI in my fork and edited the CI configuration to add e.g. a workflow_dispatch or edit CI config so only the one job I care about runs.
That said, I’d try to do local builds first and only fall back to debugging with CI if that’s impossible for some reason. Have you tried doing sanitizer builds and reproducing the issue you’re running into on your local dev setup?
Hi Nathan,
thank for reply. I am working on macOS, and unfortunately `Santizers` workflows run on Ubuntu.
I have installed Mutipass on my macOS, but most of time, `Sanitizers` workflow results are not identical.
That why I was thnking about a new local `Sanitizer` workflow . And except if I miss something, this is not so simple: the workflow must be present in the `main` branch of my fork (to build the list of available workflow from Github Action) and the working branch to run the workflow.
So I will investigate about your recommandation regarding the edit of the CI config, even I already created a `Santizers` workflow that works fine.
I may be wrong, but am I the only contributor encountering issues with the Sanitizers/TSAN workflows, particularly false negatives?
That’s why I’m wondering if it might be a good idea to add a new TSAN workflow that could be triggered on demand from GitHub Action.
I may be misunderstanding exactly what you mean by false negatives, what exactly are you seeing? Failed tests that are unrelated to your work? Or is it that you’d expect to see failures given what you’re working on and aren’t?
Either way: by their nature, races are flaky and don’t happen on every run. That’s one reason they’re hard to eliminate in the CI. An incorrect PR can be merged with green TSan CI and only fail later on an unrelated PR. If you are seeing TSan failures and there isn’t already an open issue for the failure you’re seeing, please open one.
When an error occurs related to my work, a PR, it is (often) easy to fix with a new commit.
When the tests that fail aren’t related to my work (races for example), I’d like to find a way to easily rerun the tests. But in a PR, it is not possible without a new commit (unless I missed something). And in that case the only solution is to wait for new commits from the main branch to be merged.
In my case - errors on `Santizer` workflow - I would find it very useful to be able to run only the workflow that failed.
For now, I don’t know if this is possible or if it’s planned.
I may be in a borderline case. Next time, I get Sanitizers failures, I’ll open an issue.