From ce278e3ed6c2521bbc227e44ae2a5b980819ac89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kr=C3=B6ger?= Date: Wed, 1 Jul 2026 15:57:35 +0200 Subject: [PATCH 1/2] serverdb: Fix false commit conflict on datetimes _validate_commit compared the current value via json_encode_extra() against the old value via str(). For datetime attributes these never match, since str() keeps microseconds and the "+00:00" tz form while json_encode_extra() drops both. --- serveradmin/serverdb/query_committer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serveradmin/serverdb/query_committer.py b/serveradmin/serverdb/query_committer.py index 195a7b30..fc8719e4 100644 --- a/serveradmin/serverdb/query_committer.py +++ b/serveradmin/serverdb/query_committer.py @@ -645,7 +645,7 @@ def _validate_commit(changes, servers): newer.append((object_id, attr, server[attr])) elif action == 'update' or action == 'delete': try: - if json_encode_extra(server[attr]) != str(change['old']): + if json_encode_extra(server[attr]) != json_encode_extra(change['old']): newer.append((object_id, attr, server[attr])) except KeyError: newer.append((object_id, attr, None)) From c2b11512dd6f444657e7f274c35e627d8cfa8b8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kr=C3=B6ger?= Date: Wed, 1 Jul 2026 15:59:11 +0200 Subject: [PATCH 2/2] Run tests in parallel --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 688b8650..f105f283 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -68,7 +68,7 @@ jobs: run: | # This will use Python's standard unit test discovery feature. pipenv run python -m unittest discover adminapi -v - pipenv run python -Wall -m serveradmin test --noinput --parallel=1 + pipenv run python -Wall -m serveradmin test --noinput --parallel=10 # Build sphinx docs, error on warning cd docs SPHINXBUILD='pipenv run sphinx-build' SPHINXOPTS='-W' make html