[SCM] PostGIS branch master updated. 3.7.0beta2-3-g2affb0e41

git at osgeo.org git at osgeo.org
Sun Aug 9 23:30:32 PDT 2026


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "PostGIS".

The branch, master has been updated
       via  2affb0e413349726510e5aa901d996aeed3f612e (commit)
       via  1003cc6cd5b39511dd388ab430acc0e3830774be (commit)
      from  2de9db8c6baaa10fd64a668b4835245d1c8f3f7a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 2affb0e413349726510e5aa901d996aeed3f612e
Merge: 2de9db8c6 1003cc6cd
Author: Darafei Praliaskouski <komzpa at gmail.com>
Date:   Sun Aug 9 23:30:31 2026 -0700

    Merge pull request 'ci: classify killed Woodpecker pipelines as unjudged' (!707) from Komzpa/postgis:fix/master-woodpecker-killed-status-20260810 into master
    
    A killed Woodpecker pipeline has no test outcome. Report it as unjudged rather
    than as a source failure, while retaining the agent-loss diagnostic when the
    provider supplies it.
    
    Reviewed-on: https://gitea.osgeo.org/postgis/postgis/pulls/707


commit 1003cc6cd5b39511dd388ab430acc0e3830774be
Author: Darafei Praliaskouski <me at komzpa.net>
Date:   Mon Aug 10 10:25:57 2026 +0400

    ci: classify killed Woodpecker pipelines as unjudged

diff --git a/utils/docs/ci_status/report.py b/utils/docs/ci_status/report.py
index 7f4376d42..d74c2a589 100644
--- a/utils/docs/ci_status/report.py
+++ b/utils/docs/ci_status/report.py
@@ -388,7 +388,7 @@ def normalize_woodpecker_status(value):
         "success": SUCCESS,
         "failure": FAILURE,
         "error": FAILURE,
-        "killed": FAILURE,
+        "killed": UNKNOWN,
         "blocked": IN_PROGRESS,
         "declined": FAILURE,
         "running": IN_PROGRESS,
@@ -604,13 +604,14 @@ def woodpecker_check(check, branch, timeout):
             current = {**current, **http_json(detail_url, timeout=timeout)}
         except RECOVERABLE_PROVIDER_ERRORS:
             pass
+    current_status = normalize_woodpecker_status(current.get("status"))
     message = current.get("message")
     extra = {}
-    if normalize_woodpecker_status(current.get("status")) != SUCCESS:
+    if current_status != SUCCESS:
         details = None
         if str(current.get("status")).lower() == "error" and not (current.get("workflows") or []):
             details = woodpecker_error_details(current)
-        if not details and str(current.get("status")).lower() == "failure":
+        if not details and str(current.get("status")).lower() in ("failure", "killed"):
             details = woodpecker_killed_details(current)
         if not details:
             details = woodpecker_workflow_details(current, web_url)
@@ -618,10 +619,12 @@ def woodpecker_check(check, branch, timeout):
             message = details["message"]
             run_url = details.get("url") or run_url
             extra.update({key: details[key] for key in ("status_label",) if key in details})
+            if details.get("status_label") == "Agent lost":
+                current_status = UNKNOWN
     result = make_result(
         check,
         branch,
-        normalize_woodpecker_status(current.get("status")),
+        current_status,
         url=run_url or web_url,
         debug_url=url,
         revision=current.get("commit"),
diff --git a/utils/docs/tests/test_ci_status.py b/utils/docs/tests/test_ci_status.py
index 6683ebb0f..0cf9bf95e 100644
--- a/utils/docs/tests/test_ci_status.py
+++ b/utils/docs/tests/test_ci_status.py
@@ -562,8 +562,8 @@ class CIStatusTest(unittest.TestCase):
         with mock.patch.object(CI_STATUS, "http_json", side_effect=([pipeline], pipeline_detail)) as http_json:
             result = CI_STATUS.woodpecker_check(check_config, branch, timeout=5)
 
-        self.assertEqual(CI_STATUS.FAILURE, result["status"])
-        self.assertEqual("failed: regress/18", result["message"])
+        self.assertEqual(CI_STATUS.UNKNOWN, result["status"])
+        self.assertEqual("unknown: regress/18", result["message"])
         self.assertEqual("https://woodie.example.test/repos/30/pipeline/5430/18", result["url"])
         self.assertEqual("a" * 40, result["revision"])
         self.assertEqual(
@@ -686,7 +686,7 @@ class CIStatusTest(unittest.TestCase):
                 timeout=5,
             )
 
-        self.assertEqual(CI_STATUS.FAILURE, result["status"])
+        self.assertEqual(CI_STATUS.UNKNOWN, result["status"])
         self.assertEqual("Agent lost", result["status_label"])
         self.assertEqual("agent lost: 3 steps killed at exit 0 (clone, prepare, check-xml)", result["message"])
 

-----------------------------------------------------------------------

Summary of changes:
 utils/docs/ci_status/report.py     | 11 +++++++----
 utils/docs/tests/test_ci_status.py |  6 +++---
 2 files changed, 10 insertions(+), 7 deletions(-)


hooks/post-receive
-- 
PostGIS


More information about the postgis-tickets mailing list