[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