Add Gitea build, container tests and registry publication
All checks were successful
Build, test and publish / verify (push) Successful in 1m41s

This commit is contained in:
2026-10-28 17:07:23 +01:00
parent e3e362c2ac
commit 74a5aa1237
26 changed files with 1180 additions and 12 deletions

View File

@@ -0,0 +1,29 @@
import json
from pathlib import Path
import subprocess
import tempfile
import unittest
SCRIPT = Path(__file__).resolve().parents[1] / 'runner/configure-docker.py'
class DockerConfigurationTest(unittest.TestCase):
def test_merge_preserves_existing_settings_and_is_idempotent(self):
with tempfile.TemporaryDirectory() as directory:
path = Path(directory) / 'daemon.json'
original = {'features': {'buildkit': True}, 'insecure-registries': ['existing:5000']}
path.write_text(json.dumps(original))
for _ in range(2):
result = subprocess.run(['python3', str(SCRIPT), str(path)], capture_output=True, text=True)
self.assertEqual(0, result.returncode, result.stderr)
actual = json.loads(path.read_text())
self.assertEqual(original['features'], actual['features'])
self.assertEqual(['existing:5000', '192.168.2.28:3000'], actual['insecure-registries'])
self.assertEqual(original, json.loads(path.with_name('daemon.json.before-agiledancers').read_text()))
def test_invalid_configuration_is_left_unchanged(self):
with tempfile.TemporaryDirectory() as directory:
path = Path(directory) / 'daemon.json'
original = '{"insecure-registries": "invalid"}'
path.write_text(original)
result = subprocess.run(['python3', str(SCRIPT), str(path)], capture_output=True, text=True)
self.assertNotEqual(0, result.returncode)
self.assertEqual(original, path.read_text())