From f7abfafffe464feb55743d2de50d961ac4c63406 Mon Sep 17 00:00:00 2001
From: Nicolas Dandrimont <nicolas@dandrimont.eu>
Date: Wed, 17 Jul 2024 18:26:57 +0200
Subject: [PATCH] GitHub: record whether the origin is a fork

For now this information is not used downstream, but it can be useful
for specific analysis or one-shot scheduling.
---
 requirements-swh.txt                   | 6 ++----
 requirements-test.txt                  | 2 +-
 swh/lister/github/lister.py            | 1 +
 swh/lister/github/tests/test_lister.py | 1 +
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/requirements-swh.txt b/requirements-swh.txt
index 51be4cda..85d12d42 100644
--- a/requirements-swh.txt
+++ b/requirements-swh.txt
@@ -1,4 +1,2 @@
-swh.core[db] >= 2.22.0
-swh.scheduler >= 2.3.0
-
-
+swh.core[db] >= 3.4.0
+swh.scheduler >= 2.4.0
diff --git a/requirements-test.txt b/requirements-test.txt
index 484cb3f7..09f9b5db 100644
--- a/requirements-test.txt
+++ b/requirements-test.txt
@@ -2,7 +2,7 @@ pandas
 pytest >= 8.1
 pytest-mock
 requests_mock
-swh-scheduler[testing] >= 2.3.0
+swh-scheduler[testing] >= 2.4.0
 types-beautifulsoup4
 types-click
 types-pyyaml
diff --git a/swh/lister/github/lister.py b/swh/lister/github/lister.py
index 7e63d16a..011ff3c0 100644
--- a/swh/lister/github/lister.py
+++ b/swh/lister/github/lister.py
@@ -183,6 +183,7 @@ class GitHubLister(Lister[GitHubListerState, List[Dict[str, Any]]]):
                 url=repo["html_url"],
                 visit_type="git",
                 last_update=pushed_at,
+                is_fork=repo.get("fork"),
             )
 
     def commit_page(self, page: List[Dict[str, Any]]):
diff --git a/swh/lister/github/tests/test_lister.py b/swh/lister/github/tests/test_lister.py
index 79ef7a44..ba7e37ea 100644
--- a/swh/lister/github/tests/test_lister.py
+++ b/swh/lister/github/tests/test_lister.py
@@ -52,6 +52,7 @@ def check_origin_4321(swh_scheduler: SchedulerInterface, lister: Lister) -> None
     assert origin_4321.last_update == datetime.datetime(
         2018, 11, 8, 13, 16, 24, tzinfo=datetime.timezone.utc
     )
+    assert origin_4321.is_fork is not None
 
 
 def check_origin_5555(swh_scheduler: SchedulerInterface, lister: Lister) -> None:
-- 
GitLab