Skip to content

Run the testsuite with ThreadSanitizer on a PR when label run-thread-sanitizer is added#12904

Merged
gasche merged 3 commits into
ocaml:trunkfrom
OlivierNicole:tsan_ci_upon_label
Jan 16, 2024
Merged

Run the testsuite with ThreadSanitizer on a PR when label run-thread-sanitizer is added#12904
gasche merged 3 commits into
ocaml:trunkfrom
OlivierNicole:tsan_ci_upon_label

Conversation

@OlivierNicole

Copy link
Copy Markdown
Contributor

This PR proposes the possibility to run the full testsuite with ThreadSanitizer on any PR by tagging it with run-thread-sanitizer.

This is a good compromise between running TSan on all PRs and never running it. This way, the label can be added only to PRs that could use the added confidence. The TSan CI takes roughly 45 minutes.

Ideally, this job would run the full testsuite with both the normal runtime and the debug runtime, but for now I have commented out the latter, because of the races reported in #12902 which would generate a lot of noise.

@gasche gasche left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds like an excellent idea. I didn´t review the github YAML source because I don't care, so maybe @dra27 wants to give an opinion before we merge?

Comment thread tools/ci/actions/runner.sh
@gasche

gasche commented Jan 16, 2024

Copy link
Copy Markdown
Member

Could you add a Changes entry?

@OlivierNicole

Copy link
Copy Markdown
Contributor Author

Done. Thank you for the review!

@gasche gasche merged commit 4a70c02 into ocaml:trunk Jan 16, 2024
@OlivierNicole OlivierNicole deleted the tsan_ci_upon_label branch January 16, 2024 23:49
@dra27

dra27 commented Jan 19, 2024

Copy link
Copy Markdown
Member

I like the overall change (i.e. the ability to turn on tsan testing on a PR), but it's created a slightly unfortunate effect that it's no longer immediately clear that all checks passed, because the list of checks doesn't collapse down when there are skipped items. It caused me a "mild panic" on another PR because I'm used to seeing the "skipped check" mark only because another check has failed (for example, if the debug-s4096 job fails, the normal job will cancel - so the only immediately visible item is the "cancel"/"skip" mark, and you have to scroll down to find the red cross next to the debug-s4096 job)

However, I have some thoughts on that, and will propose that in a separate PR 🙂

@OlivierNicole

Copy link
Copy Markdown
Contributor Author

Sorry about that! I have little experience with Github Actions, so I didn’t anticipate this issue.

dra27 pushed a commit to dra27/ocaml that referenced this pull request Jul 29, 2024
Run the testsuite with ThreadSanitizer on a PR when label run-thread-sanitizer is added

(cherry picked from commit 4a70c02)
dra27 pushed a commit to dra27/ocaml that referenced this pull request Jul 29, 2024
(cherry picked from commit 4a70c02)
dra27 pushed a commit to dra27/ocaml that referenced this pull request Jul 29, 2024
(cherry picked from commit 4a70c02)
dra27 pushed a commit to dra27/ocaml that referenced this pull request Jul 29, 2024
(cherry picked from commit 4a70c02)
dra27 pushed a commit to dra27/ocaml that referenced this pull request Jul 29, 2024
(cherry picked from commit 4a70c02)
dra27 pushed a commit to dra27/ocaml that referenced this pull request Jul 29, 2024
(cherry picked from commit 4a70c02)
dra27 pushed a commit to dra27/ocaml that referenced this pull request Jul 29, 2024
(cherry picked from commit 4a70c02)
dra27 pushed a commit to dra27/ocaml that referenced this pull request Jul 29, 2024
(cherry picked from commit 4a70c02)
dra27 pushed a commit to dra27/ocaml that referenced this pull request Jul 29, 2024
(cherry picked from commit 4a70c02)
dra27 pushed a commit to dra27/ocaml that referenced this pull request Jul 29, 2024
(cherry picked from commit 4a70c02)
dra27 pushed a commit to dra27/ocaml that referenced this pull request Jul 29, 2024
(cherry picked from commit 4a70c02)
dra27 pushed a commit to dra27/ocaml that referenced this pull request Jul 29, 2024
(cherry picked from commit 4a70c02)
dra27 pushed a commit to dra27/ocaml that referenced this pull request Jul 29, 2024
(cherry picked from commit 4a70c02)
dra27 pushed a commit to dra27/ocaml that referenced this pull request Jul 29, 2024
(cherry picked from commit 4a70c02)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants