From 0c1c4ffea9a72fbe5f2edf287f338c63b4ad7fd9 Mon Sep 17 00:00:00 2001 From: Monika Kairaityte Date: Thu, 15 May 2025 21:35:24 +0300 Subject: [PATCH] Fix reset tag attribute to also reset `depends_on` parameter Signed-off-by: Monika Kairaityte --- podman_compose.py | 2 ++ .../reset_tag_attribute/docker-compose.reset_attribute.yaml | 1 + .../reset_tag_attribute/docker-compose.yaml | 2 ++ .../test_podman_compose_reset_tag_attribute.py | 2 ++ 4 files changed, 7 insertions(+) diff --git a/podman_compose.py b/podman_compose.py index eddf2462..6c2454b9 100755 --- a/podman_compose.py +++ b/podman_compose.py @@ -1713,6 +1713,8 @@ def normalize_service(service, sub_dir=""): if "depends_on" in service: # deps should become a dictionary of dependencies deps = service["depends_on"] + if isinstance(deps, ResetTag): + return service if isinstance(deps, str): deps = {deps: {}} elif is_list(deps): diff --git a/tests/integration/merge/reset_and_override_tags/reset_tag_attribute/docker-compose.reset_attribute.yaml b/tests/integration/merge/reset_and_override_tags/reset_tag_attribute/docker-compose.reset_attribute.yaml index 1527a316..3042dab5 100644 --- a/tests/integration/merge/reset_and_override_tags/reset_tag_attribute/docker-compose.reset_attribute.yaml +++ b/tests/integration/merge/reset_and_override_tags/reset_tag_attribute/docker-compose.reset_attribute.yaml @@ -3,3 +3,4 @@ services: app: image: busybox command: !reset {} + depends_on: !reset null diff --git a/tests/integration/merge/reset_and_override_tags/reset_tag_attribute/docker-compose.yaml b/tests/integration/merge/reset_and_override_tags/reset_tag_attribute/docker-compose.yaml index f1e8ba6d..03d6a897 100644 --- a/tests/integration/merge/reset_and_override_tags/reset_tag_attribute/docker-compose.yaml +++ b/tests/integration/merge/reset_and_override_tags/reset_tag_attribute/docker-compose.yaml @@ -3,3 +3,5 @@ services: app: image: busybox command: ["/bin/busybox", "echo", "Zero"] + depends_on: + - db diff --git a/tests/integration/merge/reset_and_override_tags/reset_tag_attribute/test_podman_compose_reset_tag_attribute.py b/tests/integration/merge/reset_and_override_tags/reset_tag_attribute/test_podman_compose_reset_tag_attribute.py index ec7e8f5c..154afea6 100644 --- a/tests/integration/merge/reset_and_override_tags/reset_tag_attribute/test_podman_compose_reset_tag_attribute.py +++ b/tests/integration/merge/reset_and_override_tags/reset_tag_attribute/test_podman_compose_reset_tag_attribute.py @@ -53,6 +53,8 @@ def test_reset_tag_attribute(self): "logs", ]) self.assertEqual(output, b"") + # depends_on: !reset null testing: if this test works, depends_on is correctly reset. + # Otherwise the test would break, since "db" dependency service is not provided finally: self.run_subprocess_assert_returncode([ podman_compose_path(),