summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorEric Engestrom <eric@igalia.com>2024-02-08 17:56:20 +0000
committerMarge Bot <emma+marge@anholt.net>2024-02-09 15:58:10 +0000
commit7154c1eb77ea644dfc02d69c9bd68eda0a31d4c1 (patch)
tree57487f830113ec95817114763b1f89c38d8cba3c /bin
parentf40d32770a5f91b95450f2944c608fb0303da27c (diff)
ci_run_n_monitor: implicitly include `parallel:` jobs
This avoids the surprising behaviour where `--target jobname` works for some jobs but not others, because gitlab adds `X/N` at the end of these job names. If the user does specify something like `jobname 1/.*` to only run the first, the extra `\d+/\d+` is ignored, just like if the job isn't `parallel:` and therefore doesn't end with `X/N`. If the user really wants to fail to match parallel jobs (previous behaviour), they can simply add a `$` at the end of the job name/regex (but also, I don't see why someone would want that behaviour). Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27530>
Diffstat (limited to 'bin')
-rwxr-xr-xbin/ci/ci_run_n_monitor.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/bin/ci/ci_run_n_monitor.py b/bin/ci/ci_run_n_monitor.py
index 795f7a1ea53..8831697e5ab 100755
--- a/bin/ci/ci_run_n_monitor.py
+++ b/bin/ci/ci_run_n_monitor.py
@@ -453,7 +453,12 @@ if __name__ == "__main__":
print(f"Pipeline: {pipe.web_url}")
target = '|'.join(args.target)
- target_jobs_regex = re.compile(target.strip())
+ target = target.strip()
+
+ # Implicitly include `parallel:` jobs
+ target = f'({target})' + r'( \d+/\d+)?'
+
+ target_jobs_regex = re.compile(target)
deps = set()
print("🞋 job: " + Fore.BLUE + target + Style.RESET_ALL)