From 5cf1f60d63169aae9626257bff4f8e38335d2e41 Mon Sep 17 00:00:00 2001 From: Gerasimos Chourdakis Date: Wed, 12 Aug 2026 14:24:12 +0200 Subject: [PATCH 1/6] Migrade fieldcompare base image to own --- tools/tests/docker-compose.field_compare.template.yaml | 4 +++- tools/tests/dockerfiles/ubuntu_2404/Dockerfile | 8 ++++++-- tools/tests/systemtests/Systemtest.py | 7 +++++++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/tools/tests/docker-compose.field_compare.template.yaml b/tools/tests/docker-compose.field_compare.template.yaml index 8a789b109..65f7e2831 100644 --- a/tools/tests/docker-compose.field_compare.template.yaml +++ b/tools/tests/docker-compose.field_compare.template.yaml @@ -1,6 +1,8 @@ services: field-compare: - build: https://github.com/dglaeser/fieldcompare-action.git # use the docker container provided by fieldcompare + build: + context: {{ dockerfile_context }} + target: fieldcompare volumes: - {{ run_directory }}:/runs command: diff --git a/tools/tests/dockerfiles/ubuntu_2404/Dockerfile b/tools/tests/dockerfiles/ubuntu_2404/Dockerfile index 64f31db33..fdaa92b38 100644 --- a/tools/tests/dockerfiles/ubuntu_2404/Dockerfile +++ b/tools/tests/dockerfiles/ubuntu_2404/Dockerfile @@ -569,7 +569,7 @@ RUN cd /home/precice/aste && \ WORKDIR /home/precice -FROM solids4foam/solids4foam:v2.3-openfoam-v2412-latest as solids4foam +FROM solids4foam/solids4foam:v2.3-openfoam-v2412-latest AS solids4foam ARG PRECICE_UID=1000 ARG PRECICE_GID=1000 @@ -625,4 +625,8 @@ RUN git clone https://github.com/precice/openfoam-adapter.git &&\ cd openfoam-adapter && \ if [ -n "${OPENFOAM_ADAPTER_PR}" ]; then git fetch origin pull/${OPENFOAM_ADAPTER_PR}/head; fi && \ git checkout ${OPENFOAM_ADAPTER_REF} && \ - /usr/bin/openfoam2412 ./Allwmake -j $(nproc) \ No newline at end of file + /usr/bin/openfoam2412 ./Allwmake -j $(nproc) + +FROM python:3.14 AS fieldcompare +RUN pip install fieldcompare[all]==0.5.0 +ENTRYPOINT ["fieldcompare", "dir", "$1", "$2", "$3"] \ No newline at end of file diff --git a/tools/tests/systemtests/Systemtest.py b/tools/tests/systemtests/Systemtest.py index ff21b6796..f756b3ef8 100644 --- a/tools/tests/systemtests/Systemtest.py +++ b/tools/tests/systemtests/Systemtest.py @@ -399,6 +399,13 @@ def __get_field_compare_compose_file(self): 'precice_output_folder': PRECICE_REL_OUTPUT_DIR, 'reference_output_folder': PRECICE_REL_REFERENCE_DIR + "/" + self.reference_result.path.name.replace(".tar.gz", ""), 'tolerance': self.tolerance, + # The dockerfile_context value inside the templates is only + # used as a build context path and does not need to be + # absolute – it will be resolved relative to the system test + # directory. + 'dockerfile_context': ( + Path("..") / "tools" / "tests" / "dockerfiles" / Path(self.params_to_use.get("PLATFORM")) + ), } jinja_env = Environment(loader=FileSystemLoader(PRECICE_TESTS_DIR)) template = jinja_env.get_template( From 1ed3f18e5c3516dc4f2ee983de00c9bdb5ce1fb3 Mon Sep 17 00:00:00 2001 From: Gerasimos Chourdakis Date: Wed, 12 Aug 2026 14:37:08 +0200 Subject: [PATCH 2/6] Do we need the arguments in the entrypoint? --- tools/tests/dockerfiles/ubuntu_2404/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/tests/dockerfiles/ubuntu_2404/Dockerfile b/tools/tests/dockerfiles/ubuntu_2404/Dockerfile index fdaa92b38..9cea98d65 100644 --- a/tools/tests/dockerfiles/ubuntu_2404/Dockerfile +++ b/tools/tests/dockerfiles/ubuntu_2404/Dockerfile @@ -629,4 +629,4 @@ RUN git clone https://github.com/precice/openfoam-adapter.git &&\ FROM python:3.14 AS fieldcompare RUN pip install fieldcompare[all]==0.5.0 -ENTRYPOINT ["fieldcompare", "dir", "$1", "$2", "$3"] \ No newline at end of file +ENTRYPOINT ["fieldcompare", "dir"] \ No newline at end of file From a88556c85284299eaf2589d9d270e444a063fb3a Mon Sep 17 00:00:00 2001 From: Gerasimos Chourdakis Date: Wed, 12 Aug 2026 14:40:59 +0200 Subject: [PATCH 3/6] Move entrypoint to template --- tools/tests/docker-compose.field_compare.template.yaml | 2 ++ tools/tests/dockerfiles/ubuntu_2404/Dockerfile | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/tests/docker-compose.field_compare.template.yaml b/tools/tests/docker-compose.field_compare.template.yaml index 65f7e2831..7f9e5b377 100644 --- a/tools/tests/docker-compose.field_compare.template.yaml +++ b/tools/tests/docker-compose.field_compare.template.yaml @@ -6,6 +6,8 @@ services: volumes: - {{ run_directory }}:/runs command: + - fieldcompare + - dir - /runs/{{ tutorial_folder }}/{{ precice_output_folder }} - /runs/{{ tutorial_folder }}/{{ reference_output_folder }} - "-rtol {{ tolerance }} --ignore-missing-reference-files --exclude-files reference-results-metadata.txt --ignore-unsupported-file-formats --diff" diff --git a/tools/tests/dockerfiles/ubuntu_2404/Dockerfile b/tools/tests/dockerfiles/ubuntu_2404/Dockerfile index 9cea98d65..7cb218a7d 100644 --- a/tools/tests/dockerfiles/ubuntu_2404/Dockerfile +++ b/tools/tests/dockerfiles/ubuntu_2404/Dockerfile @@ -628,5 +628,4 @@ RUN git clone https://github.com/precice/openfoam-adapter.git &&\ /usr/bin/openfoam2412 ./Allwmake -j $(nproc) FROM python:3.14 AS fieldcompare -RUN pip install fieldcompare[all]==0.5.0 -ENTRYPOINT ["fieldcompare", "dir"] \ No newline at end of file +RUN pip install fieldcompare[all]==0.5.0 \ No newline at end of file From 7d01c16813c4d152db27605ba3e8881ab689ce83 Mon Sep 17 00:00:00 2001 From: Gerasimos Chourdakis Date: Wed, 12 Aug 2026 14:57:55 +0200 Subject: [PATCH 4/6] What is going on here? --- tools/tests/docker-compose.field_compare.template.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tools/tests/docker-compose.field_compare.template.yaml b/tools/tests/docker-compose.field_compare.template.yaml index 7f9e5b377..c0c12121d 100644 --- a/tools/tests/docker-compose.field_compare.template.yaml +++ b/tools/tests/docker-compose.field_compare.template.yaml @@ -6,8 +6,7 @@ services: volumes: - {{ run_directory }}:/runs command: - - fieldcompare - - dir + - fieldcompare dir - /runs/{{ tutorial_folder }}/{{ precice_output_folder }} - /runs/{{ tutorial_folder }}/{{ reference_output_folder }} - "-rtol {{ tolerance }} --ignore-missing-reference-files --exclude-files reference-results-metadata.txt --ignore-unsupported-file-formats --diff" From 4cd4666c468fd728f6d450456c50ecb545250a90 Mon Sep 17 00:00:00 2001 From: Gerasimos Chourdakis Date: Wed, 12 Aug 2026 15:01:11 +0200 Subject: [PATCH 5/6] Switch to one command --- tools/tests/docker-compose.field_compare.template.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/tests/docker-compose.field_compare.template.yaml b/tools/tests/docker-compose.field_compare.template.yaml index c0c12121d..ae8aad8b6 100644 --- a/tools/tests/docker-compose.field_compare.template.yaml +++ b/tools/tests/docker-compose.field_compare.template.yaml @@ -5,8 +5,8 @@ services: target: fieldcompare volumes: - {{ run_directory }}:/runs - command: - - fieldcompare dir - - /runs/{{ tutorial_folder }}/{{ precice_output_folder }} - - /runs/{{ tutorial_folder }}/{{ reference_output_folder }} - - "-rtol {{ tolerance }} --ignore-missing-reference-files --exclude-files reference-results-metadata.txt --ignore-unsupported-file-formats --diff" + command: > + /bin/bash -c "fieldcompare dir \ + -rtol {{ tolerance }} --ignore-missing-reference-files --exclude-files reference-results-metadata.txt --ignore-unsupported-file-formats --diff \ + /runs/{{ tutorial_folder }}/{{ precice_output_folder }} \ + /runs/{{ tutorial_folder }}/{{ reference_output_folder }}" From d97bd3af0ddca5906c3c423534c8480bb4114914 Mon Sep 17 00:00:00 2001 From: Gerasimos Chourdakis Date: Wed, 12 Aug 2026 15:04:22 +0200 Subject: [PATCH 6/6] Split arguments --- tools/tests/docker-compose.field_compare.template.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/tests/docker-compose.field_compare.template.yaml b/tools/tests/docker-compose.field_compare.template.yaml index ae8aad8b6..941f0eab0 100644 --- a/tools/tests/docker-compose.field_compare.template.yaml +++ b/tools/tests/docker-compose.field_compare.template.yaml @@ -7,6 +7,7 @@ services: - {{ run_directory }}:/runs command: > /bin/bash -c "fieldcompare dir \ - -rtol {{ tolerance }} --ignore-missing-reference-files --exclude-files reference-results-metadata.txt --ignore-unsupported-file-formats --diff \ + --ignore-missing-reference-files --exclude-files reference-results-metadata.txt --ignore-unsupported-file-formats --diff \ + -rtol {{ tolerance }} \ /runs/{{ tutorial_folder }}/{{ precice_output_folder }} \ /runs/{{ tutorial_folder }}/{{ reference_output_folder }}"