From 39fd45893763dbce6012cb9853d0b4d338cd35a6 Mon Sep 17 00:00:00 2001 From: James Bruten Date: Wed, 17 Dec 2025 17:28:22 +0000 Subject: [PATCH 1/6] respect gitignore --- github_scripts/get_git_sources.py | 5 ++++- github_scripts/suite_report_git.py | 34 +++++++++++++++++++----------- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/github_scripts/get_git_sources.py b/github_scripts/get_git_sources.py index e9f94f2..8b1e621 100644 --- a/github_scripts/get_git_sources.py +++ b/github_scripts/get_git_sources.py @@ -117,8 +117,11 @@ def sync_repo(repo_source: str, repo_ref: str, loc: Path) -> None: # Create a clean clone location loc.mkdir(parents=True) + gitignore = Path(repo_source) / ".gitignore" + # Trailing slash required for rsync - command = f"rsync -av {repo_source}/ {loc}" + # Respect .gitignore for rsync + command = f"rsync -av {repo_source}/ {loc} --filter=':- {gitignore}'" run_command(command) # Fetch the main branch from origin diff --git a/github_scripts/suite_report_git.py b/github_scripts/suite_report_git.py index bc336bb..d78f347 100755 --- a/github_scripts/suite_report_git.py +++ b/github_scripts/suite_report_git.py @@ -166,11 +166,17 @@ def create_dependency_table(self) -> None: def create_task_tables(self, parsed_tasks: Dict[str, List[str]]) -> None: """ - Create tables containing summary of task states and number of tasks won + Create tables containing summary of task states and number of tasks run """ # Ensure pink failures and then normal failures appear at the top - sort_order = {"pink failure": 0, "failed": 1, "submit-failed": 2} + # Succeeded will come last + sort_order = { + "pink failure": 0, + "failed": 1, + "submit-failed": 2, + "succeeded": 9999, + } order = list(parsed_tasks.keys()) order.sort(key=lambda val: sort_order.get(val, len(sort_order))) @@ -183,21 +189,25 @@ def create_task_tables(self, parsed_tasks: Dict[str, List[str]]) -> None: # Create Collapsed task tables for state in order: - emoji = state_emojis[state] + emoji = state_emojis.get(state, "grey_question") tasks = parsed_tasks[state] if not tasks: continue if state == "pink failure": state = self.pink_text - self.trac_log.append(self.open_collapsed) - self.trac_log.append( - f"{emoji} {state} tasks - {len(tasks)}" - ) - self.trac_log.append("") - self.trac_log.extend(create_markdown_row("Task", "State", header=True)) - for task in sorted(tasks): - self.trac_log.extend(create_markdown_row(task, state)) - self.trac_log.append(self.close_collapsed) + if state == "succeeded": + self.trac_log.append(f"{emoji} {state} - tasks - {len(tasks)}") + self.trac_log.append("") + else: + self.trac_log.append(self.open_collapsed) + self.trac_log.append( + f"{emoji} {state} tasks - {len(tasks)}" + ) + self.trac_log.append("") + self.trac_log.extend(create_markdown_row("Task", "State", header=True)) + for task in sorted(tasks): + self.trac_log.extend(create_markdown_row(task, state)) + self.trac_log.append(self.close_collapsed) def create_um_code_owner_table(self, owners: Dict) -> None: """ From 9426594baf68dce2a889c2fdaa34dc608e0d4274 Mon Sep 17 00:00:00 2001 From: James Bruten Date: Wed, 17 Dec 2025 17:32:51 +0000 Subject: [PATCH 2/6] revert change to suite_report --- github_scripts/suite_report_git.py | 34 +++++++++++------------------- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/github_scripts/suite_report_git.py b/github_scripts/suite_report_git.py index d78f347..bc336bb 100755 --- a/github_scripts/suite_report_git.py +++ b/github_scripts/suite_report_git.py @@ -166,17 +166,11 @@ def create_dependency_table(self) -> None: def create_task_tables(self, parsed_tasks: Dict[str, List[str]]) -> None: """ - Create tables containing summary of task states and number of tasks run + Create tables containing summary of task states and number of tasks won """ # Ensure pink failures and then normal failures appear at the top - # Succeeded will come last - sort_order = { - "pink failure": 0, - "failed": 1, - "submit-failed": 2, - "succeeded": 9999, - } + sort_order = {"pink failure": 0, "failed": 1, "submit-failed": 2} order = list(parsed_tasks.keys()) order.sort(key=lambda val: sort_order.get(val, len(sort_order))) @@ -189,25 +183,21 @@ def create_task_tables(self, parsed_tasks: Dict[str, List[str]]) -> None: # Create Collapsed task tables for state in order: - emoji = state_emojis.get(state, "grey_question") + emoji = state_emojis[state] tasks = parsed_tasks[state] if not tasks: continue if state == "pink failure": state = self.pink_text - if state == "succeeded": - self.trac_log.append(f"{emoji} {state} - tasks - {len(tasks)}") - self.trac_log.append("") - else: - self.trac_log.append(self.open_collapsed) - self.trac_log.append( - f"{emoji} {state} tasks - {len(tasks)}" - ) - self.trac_log.append("") - self.trac_log.extend(create_markdown_row("Task", "State", header=True)) - for task in sorted(tasks): - self.trac_log.extend(create_markdown_row(task, state)) - self.trac_log.append(self.close_collapsed) + self.trac_log.append(self.open_collapsed) + self.trac_log.append( + f"{emoji} {state} tasks - {len(tasks)}" + ) + self.trac_log.append("") + self.trac_log.extend(create_markdown_row("Task", "State", header=True)) + for task in sorted(tasks): + self.trac_log.extend(create_markdown_row(task, state)) + self.trac_log.append(self.close_collapsed) def create_um_code_owner_table(self, owners: Dict) -> None: """ From 7f15953e567c12f94cb5a49d33acc9fbc631777a Mon Sep 17 00:00:00 2001 From: James Bruten Date: Wed, 17 Dec 2025 17:38:56 +0000 Subject: [PATCH 3/6] debug --- github_scripts/get_git_sources.py | 1 + 1 file changed, 1 insertion(+) diff --git a/github_scripts/get_git_sources.py b/github_scripts/get_git_sources.py index 8b1e621..fc99935 100644 --- a/github_scripts/get_git_sources.py +++ b/github_scripts/get_git_sources.py @@ -122,6 +122,7 @@ def sync_repo(repo_source: str, repo_ref: str, loc: Path) -> None: # Trailing slash required for rsync # Respect .gitignore for rsync command = f"rsync -av {repo_source}/ {loc} --filter=':- {gitignore}'" + print("rsync command: ", command) run_command(command) # Fetch the main branch from origin From e3e9a83e566b859d49bd2755e2505c4bcea42330 Mon Sep 17 00:00:00 2001 From: James Bruten Date: Wed, 17 Dec 2025 17:40:58 +0000 Subject: [PATCH 4/6] debug --- github_scripts/get_git_sources.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/github_scripts/get_git_sources.py b/github_scripts/get_git_sources.py index fc99935..7bebd28 100644 --- a/github_scripts/get_git_sources.py +++ b/github_scripts/get_git_sources.py @@ -117,11 +117,9 @@ def sync_repo(repo_source: str, repo_ref: str, loc: Path) -> None: # Create a clean clone location loc.mkdir(parents=True) - gitignore = Path(repo_source) / ".gitignore" - # Trailing slash required for rsync # Respect .gitignore for rsync - command = f"rsync -av {repo_source}/ {loc} --filter=':- {gitignore}'" + command = f"rsync -av {repo_source}/ {loc} --filter=':- .gitignore'" print("rsync command: ", command) run_command(command) From 7d8826ff345cd7dd8dd414bbd1f91f925aac7e1c Mon Sep 17 00:00:00 2001 From: James Bruten Date: Wed, 17 Dec 2025 17:44:41 +0000 Subject: [PATCH 5/6] debug --- github_scripts/get_git_sources.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/github_scripts/get_git_sources.py b/github_scripts/get_git_sources.py index 7bebd28..c4e77c5 100644 --- a/github_scripts/get_git_sources.py +++ b/github_scripts/get_git_sources.py @@ -12,6 +12,7 @@ from typing import Optional from pathlib import Path from shutil import rmtree +import shlex def run_command( @@ -24,7 +25,7 @@ def run_command( Outputs: - result object from subprocess.run """ - command = command.split() + command = shlex.split(command) result = subprocess.run( command, capture_output=True, From 09523bf72ed27f8e258abe23a5d6c94f44bb35dd Mon Sep 17 00:00:00 2001 From: James Bruten Date: Wed, 17 Dec 2025 17:46:24 +0000 Subject: [PATCH 6/6] remove debug --- github_scripts/get_git_sources.py | 1 - 1 file changed, 1 deletion(-) diff --git a/github_scripts/get_git_sources.py b/github_scripts/get_git_sources.py index c4e77c5..3e338e0 100644 --- a/github_scripts/get_git_sources.py +++ b/github_scripts/get_git_sources.py @@ -121,7 +121,6 @@ def sync_repo(repo_source: str, repo_ref: str, loc: Path) -> None: # Trailing slash required for rsync # Respect .gitignore for rsync command = f"rsync -av {repo_source}/ {loc} --filter=':- .gitignore'" - print("rsync command: ", command) run_command(command) # Fetch the main branch from origin