raulcd commented on code in PR #14412:
URL: https://github.com/apache/arrow/pull/14412#discussion_r995567721
##########
dev/archery/archery/bot.py:
##########
@@ -269,6 +272,10 @@ def submit(obj, tasks, groups, params, arrow_version):
queue.put(job, prefix="actions", increment_job_id=False)
queue.push()
+ # # wait for tasks of the job are triggered to collect more
+ # # suitable task URLs
+ time.sleep(wait)
Review Comment:
I am ok with the heuristic implementation but I think I would prefer this to
be implemented inside the `CommentReport` and the `task_url` itself as I can
see us requiring to wait for the job to trigger on other places. I had
something like this patch in mind:
```
diff --git a/dev/archery/archery/bot.py b/dev/archery/archery/bot.py
index c548e9a..8b02dc7 100644
--- a/dev/archery/archery/bot.py
+++ b/dev/archery/archery/bot.py
@@ -270,7 +270,7 @@ def submit(obj, tasks, groups, params, arrow_version):
queue.push()
# render the response comment's content
- report = CommentReport(job, crossbow_repo=crossbow_repo)
+ report = CommentReport(job, crossbow_repo=crossbow_repo,
wait_for_task=wait)
# send the response
pull_request.create_issue_comment(report.show())
diff --git a/dev/archery/archery/crossbow/reports.py
b/dev/archery/archery/crossbow/reports.py
index a3958d8..d887574 100644
--- a/dev/archery/archery/crossbow/reports.py
+++ b/dev/archery/archery/crossbow/reports.py
@@ -20,6 +20,7 @@ import csv
import operator
import fnmatch
import functools
+import time
import click
import requests
@@ -41,7 +42,7 @@ class Report:
"arrow_commit",
]
- def __init__(self, job, task_filters=None):
+ def __init__(self, job, task_filters=None, wait_for_task=None):
self.job = job
tasks = sorted(job.tasks.items())
@@ -53,6 +54,7 @@ class Report:
tasks = [(name, task) for name, task in tasks if name in
filtered]
self._tasks = dict(tasks)
+ self._wait_for_task = wait_for_task
@property
def repo_url(self):
@@ -66,6 +68,8 @@ class Report:
return '{}/tree/{}'.format(self.repo_url, branch)
def task_url(self, task):
+ if self._wait_for_task:
+ time.wait(self._wait_for_task)
if task.status().build_links:
# show link to the actual build, some CI providers implement
# the statuses API others implement the checks API, retrieve
any.
```
what do you think?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]