diff mbox series

[v2,7/7] gitref: generate user agent kdevops header identifier

Message ID 20250414-b4-autorefs-user-agent-v2-7-0398333b5676@samsung.com (mailing list archive)
State New
Headers show
Series autorefs: add kdevops User-Agent identifier | expand

Commit Message

Daniel Gomez April 14, 2025, 1:01 p.m. UTC
From: Daniel Gomez <da.gomez@samsung.com>

To avoids forbidden requests from kernel.org in CI deployments, add a
custom kdevop User-Agent header indentifier to the request.

The resulting User-Agent identifier would be:
kdevops/5.0.2 (kdevops@lists.linux.dev)

User-Agent documentation:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/
User-Agent

kdevops forbidden requests report thread:
https://lore.kernel.org/kdevops/
q3gayrsulu424e2qr5eg7zfs2rgy5ucluuw73o2pjcxmehvvmp@qxy723fyda3x/

Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
 scripts/gen-refs-default.Makefile | 12 +++++++++---
 scripts/generate_refs.py          | 19 ++++++++++++++++++-
 2 files changed, 27 insertions(+), 4 deletions(-)
diff mbox series

Patch

diff --git a/scripts/gen-refs-default.Makefile b/scripts/gen-refs-default.Makefile
index 33cdb4c448dcd87d3ccd1e286f14ac7334fafe7c..2fd2da334722c6557c433cc71fd380dc520ca221 100644
--- a/scripts/gen-refs-default.Makefile
+++ b/scripts/gen-refs-default.Makefile
@@ -20,7 +20,9 @@  gen_refs_def_mainline:
 		$(KRELEASES_FORCE) \
 		$(KRELEASES_DEBUG) \
 		kreleases \
-		--moniker mainline
+		--moniker mainline \
+		--pname $(PROJECT) \
+		--pversion $(PROJECTVERSION)
 
 gen_refs_def_next:
 	$(Q)./scripts/generate_refs.py \
@@ -30,7 +32,9 @@  gen_refs_def_next:
 		$(KRELEASES_FORCE) \
 		$(KRELEASES_DEBUG) \
 		kreleases \
-		--moniker linux-next
+		--moniker linux-next \
+		--pname $(PROJECT) \
+		--pversion $(PROJECTVERSION)
 
 gen_refs_def_stable:
 	$(Q)./scripts/generate_refs.py \
@@ -40,7 +44,9 @@  gen_refs_def_stable:
 		$(KRELEASES_FORCE) \
 		$(KRELEASES_DEBUG) \
 		kreleases \
-		--moniker stable
+		--moniker stable \
+		--pname $(PROJECT) \
+		--pversion $(PROJECTVERSION)
 
 PHONY += refs-default
 refs-default: $(REFS_DEFAULT_TARGETS) _gen-default-refs-development refs-user-clean
diff --git a/scripts/generate_refs.py b/scripts/generate_refs.py
index 5e46caceadd2d78a459ef7adbe525f7927945cdb..cea4f7251226947f2983c31a4d26cc9d65eb7fac 100755
--- a/scripts/generate_refs.py
+++ b/scripts/generate_refs.py
@@ -90,6 +90,16 @@  def parser():
         help="moniker (mainline, stable, longterm or linux-next)",
         required=True,
     )
+    kreleases.add_argument(
+        "--pname",
+        help="project name for User-Agent request",
+        required=True,
+    )
+    kreleases.add_argument(
+        "--pversion",
+        help="project version for User-Agent request",
+        required=True,
+    )
     return parser
 
 
@@ -301,7 +311,14 @@  def kreleases(args) -> None:
 
     reflist = []
     if _check_connection("kernel.org", 80):
-        with urllib.request.urlopen("https://www.kernel.org/releases.json") as url:
+        _url = "https://www.kernel.org/releases.json"
+        req = urllib.request.Request(
+            _url,
+            headers={
+                "User-Agent": f"{args.pname}/{args.pversion} (kdevops@lists.linux.dev)"
+            },
+        )
+        with urllib.request.urlopen(req) as url:
             data = json.load(url)
 
             for release in data["releases"]: