You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tooling.apache.org by sb...@apache.org on 2026/09/03 18:03:49 UTC

(tooling-trusted-releases) 01/02: Change user to users in incorrectly named mailing list addresses

This is an automated email from the ASF dual-hosted git repository.

sbp pushed a commit to branch sbp
in repository https://gitbox.apache.org/repos/asf/tooling-trusted-releases.git

commit 2ff645f93097a874dba1f6cd54443314f896f740
Author: Sean B. Palmer <se...@miscoranda.com>
AuthorDate: Thu Sep 3 16:57:10 2026 +0100

    Change user to users in incorrectly named mailing list addresses
---
 atr/util.py             | 75 +++++++++++++++++++++++++++++++++++++++++++++++--
 tests/unit/test_util.py | 14 +++++++++
 2 files changed, 87 insertions(+), 2 deletions(-)

diff --git a/atr/util.py b/atr/util.py
index b17f9938..8638bfbd 100644
--- a/atr/util.py
+++ b/atr/util.py
@@ -113,6 +113,75 @@ PRIVATE_KEY_UPLOAD_WARNING: Final[str] = (
     "immediately, remove it anywhere that it grants access, and generate a new key before signing releases."
 )
 USER_TESTS_ADDRESS: Final[str] = "user-tests@tooling.apache.org"
+USERS_LIST_COMMITTEES: Final[frozenset[str]] = frozenset(
+    {
+        "activemq",
+        "age",
+        "airavata",
+        "airflow",
+        "allura",
+        "artemis",
+        "asterixdb",
+        "burr",
+        "camel",
+        "causeway",
+        "cloudstack",
+        "cxf",
+        "daffodil",
+        "datasketches",
+        "deltaspike",
+        "directory",
+        "dolphinscheduler",
+        "druid",
+        "eventmesh",
+        "felix",
+        "flex",
+        "grails",
+        "groovy",
+        "hamilton",
+        "hop",
+        "httpd",
+        "hudi",
+        "jackrabbit",
+        "jena",
+        "kafka",
+        "kie",
+        "libcloud",
+        "linkis",
+        "maven",
+        "mina",
+        "myfaces",
+        "netbeans",
+        "nifi",
+        "openjpa",
+        "opennlp",
+        "openoffice",
+        "pdfbox",
+        "pekko",
+        "pinot",
+        "ponymail",
+        "pulsar",
+        "qpid",
+        "rocketmq",
+        "royale",
+        "seatunnel",
+        "sling",
+        "solr",
+        "spamassassin",
+        "streampipes",
+        "subversion",
+        "tapestry",
+        "tomcat",
+        "tomee",
+        "tooling",
+        "trafficserver",
+        "uniffle",
+        "unomi",
+        "wicket",
+        "ws",
+        "zeppelin",
+    }
+)
 LISTS_APACHE_TIMEOUT: Final[aiohttp.ClientTimeout] = aiohttp.ClientTimeout(total=30, connect=10)
 CAP_TIMEOUT: Final[aiohttp.ClientTimeout] = aiohttp.ClientTimeout(total=30, connect=10)
 PROPAGATION_TIMEOUT: Final[aiohttp.ClientTimeout] = aiohttp.ClientTimeout(total=10, connect=5)
@@ -581,11 +650,12 @@ def configurable_recipients(action: sql.RecipientAction, committee_key: str, *,
     # These don't depend on the sender or on ALPHA test addresses, so a stored
     # default stays valid for whoever later sends the email.
     if action == sql.RecipientAction.ANNOUNCE:
+        user_list_name = "users" if (committee_key in USERS_LIST_COMMITTEES) else "user"
         return [
             "announce@apache.org",
             f"announce@{committee_key}.apache.org",
             f"dev@{committee_key}.apache.org",
-            f"user@{committee_key}.apache.org",
+            f"{user_list_name}@{committee_key}.apache.org",
             f"private@{committee_key}.apache.org",
         ]
     if is_podling:
@@ -1248,11 +1318,12 @@ def permitted_announce_recipients(
         return [USER_TESTS_ADDRESS, f"{asf_uid}@apache.org"]
     recipients = ["announce@apache.org"]
     if committee_key is not None:
+        user_list_name = "users" if (committee_key in USERS_LIST_COMMITTEES) else "user"
         recipients.extend(
             [
                 f"announce@{committee_key}.apache.org",
                 f"dev@{committee_key}.apache.org",
-                f"user@{committee_key}.apache.org",
+                f"{user_list_name}@{committee_key}.apache.org",
                 f"private@{committee_key}.apache.org",
             ]
         )
diff --git a/tests/unit/test_util.py b/tests/unit/test_util.py
index 02ac2112..dc3bdc50 100644
--- a/tests/unit/test_util.py
+++ b/tests/unit/test_util.py
@@ -19,15 +19,29 @@ import json
 import os
 import pathlib
 import stat
+import types
 import unittest.mock as mock
 
 import aiohttp
 import pytest
 
 import atr.models.safe as safe
+import atr.models.sql as sql
 import atr.util as util
 
 
+def test_announce_recipients_use_users_list_for_maven(monkeypatch: pytest.MonkeyPatch):
+    monkeypatch.setattr("atr.config.get", lambda: types.SimpleNamespace(ATR_STATUS="PRODUCTION"))
+
+    configurable = util.configurable_recipients(sql.RecipientAction.ANNOUNCE, "maven", is_podling=False)
+    permitted = util.permitted_announce_recipients("testuser", "maven")
+
+    assert "users@maven.apache.org" in configurable
+    assert "users@maven.apache.org" in permitted
+    assert "user@maven.apache.org" not in configurable
+    assert "user@maven.apache.org" not in permitted
+
+
 def test_chmod_files_does_not_change_directory_permissions(tmp_path: pathlib.Path):
     subdir = tmp_path / "subdir"
     subdir.mkdir()


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tooling.apache.org
For additional commands, e-mail: commits-help@tooling.apache.org