This is an automated email from the ASF dual-hosted git repository.
raulcd pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/main by this push:
new a01b98ff47 GH-47767: [CI] Add date to extra CI report email subject
(#47777)
a01b98ff47 is described below
commit a01b98ff471c2c1f9996e6f7c03f0033f703a4d5
Author: Raúl Cumplido <[email protected]>
AuthorDate: Sun Oct 12 16:36:30 2025 +0200
GH-47767: [CI] Add date to extra CI report email subject (#47777)
### Rationale for this change
We always use "[NIGHTLY] Arrow Build Report for C++ Extra: N failed" like
subject for extra CI report emails.
It seems that lists.apache.org puts the same subject emails (even if they
don't have References:/In-Reply-To: headers) to the same thread:
https://lists.apache.org/thread/rjby1r7n5pw8l96pl1hbqsk29btbtbz4
### What changes are included in this PR?
Add date of when the workflow started to subject email.
### Are these changes tested?
Yes, locally from an old workflow run:
```
$ archery ci report-email --dry-run ... --ignore report-extra-cpp
--repository raulcd/arrow 17676897217
From: Arrow <arrow@ commit-email.info>
To: builds@ arrow.apache.org
Subject: [12/09/2025] Arrow Build Report for C++ Extra: 0 failed
Arrow Build Report for C++ Extra
Workflow URL: https://github.com/raulcd/arrow/actions/runs/17676897217
```
### Are there any user-facing changes?
No
* GitHub Issue: #47767
Lead-authored-by: Raúl Cumplido <[email protected]>
Co-authored-by: Sutou Kouhei <[email protected]>
Signed-off-by: Raúl Cumplido <[email protected]>
---
dev/archery/archery/ci/core.py | 7 +++++++
dev/archery/archery/templates/email_workflow_report.txt.j2 | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/dev/archery/archery/ci/core.py b/dev/archery/archery/ci/core.py
index 42a8092e09..cde663254b 100644
--- a/dev/archery/archery/ci/core.py
+++ b/dev/archery/archery/ci/core.py
@@ -15,6 +15,7 @@
# specific language governing permissions and limitations
# under the License.
+from datetime import datetime
from functools import cached_property
import requests
@@ -43,6 +44,12 @@ class Workflow:
raise Exception(
f'Failed to fetch workflow data: {workflow_resp.status_code}')
+ @property
+ def datetime(self):
+ return datetime.strptime(
+ self.workflow_data.get('created_at'), "%Y-%m-%dT%H:%M:%SZ"
+ )
+
@property
def conclusion(self):
return self.workflow_data.get('conclusion')
diff --git a/dev/archery/archery/templates/email_workflow_report.txt.j2
b/dev/archery/archery/templates/email_workflow_report.txt.j2
index b08b4d3ffc..193856c180 100644
--- a/dev/archery/archery/templates/email_workflow_report.txt.j2
+++ b/dev/archery/archery/templates/email_workflow_report.txt.j2
@@ -20,7 +20,7 @@
{%- endif -%}
From: {{ sender_name }} <{{ sender_email }}>
To: {{ recipient_email }}
-Subject: [NIGHTLY] Arrow Build Report for {{ report.name }}: {{
report.failed_jobs() | length }} failed
+Subject: [{{ report.datetime.strftime('%Y-%m-%d') }}] Arrow Build Report for
{{ report.name }}: {{ report.failed_jobs() | length }} failed
Arrow Build Report for {{ report.name }}