ci: fix exclude regex handling in linux sanitizer workflow#6799
ci: fix exclude regex handling in linux sanitizer workflow#6799hkaiser merged 1 commit intoTheHPXProject:masterfrom
Conversation
|
Can one of the admins verify this patch? |
|
Wouldn't a similar change be needed for the other CIs that explude some of the tests as well? Also, could you please elaborate why the original regex was 'broken'? |
|
The issue arises from Linux shells having the following behaviour: When a This issue does not arise in macOS workflows. I think this is because the macos shell handles the indentations by trimming it and concatenating the lines unlike the linux shell. The new approach of code that I've written, using a variable ensures all patterns are concatenated into a single string before execution, independent of shell behavior. I’ve checked the other CI workflows and most of them use single-line Please do let me know if you’d like me to apply the same change to the macOS workflow files as well, so that all CI setups stay consistent and work the same way across systems. |
|
I noticed that in |
Urgs - excellent catch. It seems to be a 'feature' of the github action yml parser as it works just fine on the CircleCI environment.
Yes, that seems to be a good idea! Thanks! |
Signed-off-by: ArivoliR <arivoli2005@gmail.com>
d7b1ece to
99bf5de
Compare
The macOS workflow behavior still doesn't seem to add up. For example: in macos_debug_fetch_boost works perfectly fine, with the intended test properly excluded. Could it be that the github action yaml parser works differently for macOS and linux? I’ve updated the workflow to use separate |
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferences |
Fixes CI failure that was caused by a test that was meant to be excluded.
Proposed Changes
Replaces the broken multiline
--exclude-regexcommand in the Linux sanitizer workflow with a proper Bash variable construction.Concatenates both test names (
transpose_block_numaand1d_wave_equation) into a single$EXCLUDEvariable before calling ctest.Any background context you want to provide?
The test
tests.examples.quickstart.1d_wave_equationwas intended to be excluded from the sanitizer workflow but was still being executed and failing in CI due to a broken exclude regex.Checklist