Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions elastic-tube-1d/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ cases:
participant: Fluid
directory: ./fluid-rust
run: ./run.sh
component: bare
component: rust-bindings

solid-cpp:
participant: Solid
Expand Down Expand Up @@ -65,4 +65,4 @@ cases:
participant: Solid
directory: ./solid-rust
run: ./run.sh
component: bare
component: rust-bindings
17 changes: 17 additions & 0 deletions tools/tests/component-templates/rust-bindings.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
build:
context: {{ dockerfile_context }}
args:
{% for key, value in build_arguments.items() %}
- {{key}}={{value}}
{% endfor %}
target: rust_bindings
depends_on:
prepare:
condition: service_completed_successfully
volumes:
- {{ run_directory }}:/runs
command: >
/bin/bash -c "id &&
cd '/runs/{{ tutorial_folder }}/{{ case_folder }}' &&
{{ run }}
| tee system-tests_{{ case_folder }}.log 2>&1"
48 changes: 32 additions & 16 deletions tools/tests/components.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -90,22 +90,6 @@ dune-adapter:
repository: https://github.com/precice/dune-adapter
default: "main"


solids4foam:
repository: https://github.com/solids4foam/solids4foam
template: component-templates/solids4foam.yaml
build_arguments:
PLATFORM:
description: Dockerfile platform used
default: "ubuntu_2404"
# The name "PLATFORM" is misleading: For this component, we use a different base image.
TUTORIALS_REF:
description: Tutorial git reference to use
default: "master"
OPENFOAM_ADAPTER_REF:
description: Reference/tag of the OpenFOAM adapter to use
default: "master"

fenics-adapter:
template: component-templates/fenics-adapter.yaml
build_arguments:
Expand Down Expand Up @@ -250,6 +234,38 @@ python-bindings:
repository: https://github.com/precice/python-bindings
default: "develop"

rust-bindings:
template: component-templates/rust-bindings.yaml
build_arguments:
PLATFORM:
default: "ubuntu_2404"
PRECICE_REF:
repository: https://github.com/precice/precice
default: "develop"
PRECICE_PRESET:
default: "production-audit"
TUTORIALS_REF:
repository: https://github.com/precice/tutorials
default: "develop"
RUST_BINDINGS_REF:
repository: https://github.com/precice/rust-bindings
default: "develop"

solids4foam:
repository: https://github.com/solids4foam/solids4foam
template: component-templates/solids4foam.yaml
build_arguments:
PLATFORM:
description: Dockerfile platform used
default: "ubuntu_2404"
# The name "PLATFORM" is misleading: For this component, we use a different base image.
TUTORIALS_REF:
description: Tutorial git reference to use
default: "master"
OPENFOAM_ADAPTER_REF:
description: Reference/tag of the OpenFOAM adapter to use
default: "master"

su2-adapter:
template: component-templates/su2-adapter.yaml
build_timeout: 600
Expand Down
20 changes: 20 additions & 0 deletions tools/tests/dockerfiles/ubuntu_2404/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,26 @@ RUN git clone https://github.com/precice/python-bindings.git python-bindings &&
### end of python_bindings stage ###


FROM precice AS rust_bindings
ARG RUST_BINDINGS_PR
ARG RUST_BINDINGS_REF

USER root
RUN apt-get -qq update && \
apt-get -qq install rustup

USER precice
WORKDIR /home/precice

RUN rustup default stable && \
git clone https://github.com/precice/rust-bindings.git rust-bindings && \
cd rust-bindings && \
if [ -n "${RUST_BINDINGS_PR}" ]; then git fetch origin pull/${RUST_BINDINGS_PR}/head; fi && \
git checkout ${RUST_BINDINGS_REF} && \
cargo build
### end of rust_bindings stage ###


FROM precice AS micro_manager
ARG MICRO_MANAGER_REF

Expand Down
1 change: 1 addition & 0 deletions tools/tests/reference_versions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ MICRO_MANAGER_REF: "bf5ea7b" # develop, July 7, 2026
OPENFOAM_ADAPTER_REF: "2c3062c" # develop, May 27, 2026
PRECICE_REF: "v3.4.1"
PYTHON_BINDINGS_REF: "v3.4.0"
RUST_BINDINGS_REF: "v3.4.0"
SU2_ADAPTER_REF: "5abe79b" # develop, May 27, 2026
TUTORIALS_REF: "develop"

Expand Down
12 changes: 12 additions & 0 deletions tools/tests/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,13 @@ test_suites:
- fluid-python
- solid-python
reference_result: ./elastic-tube-1d/reference-results/fluid-python_solid-python.tar.gz
- &elastic-tube-1d_fluid-rust_solid-rust
path: elastic-tube-1d
case_combination:
- fluid-rust
- solid-rust
reference_result: ./elastic-tube-1d/reference-results/fluid-rust_solid-rust.tar.gz


elastic-tube-3d:
tutorials:
Expand Down Expand Up @@ -680,6 +687,7 @@ test_suites:
- *elastic-tube-1d_fluid-fortran_solid-fortran
- *elastic-tube-1d_fluid-fortran-module_solid-fortran-module
- *elastic-tube-1d_fluid-python_solid-python
- *elastic-tube-1d_fluid-rust_solid-rust
- *elastic-tube-3d_fluid-openfoam_solid-calculix
- *flow-around-controlled-moving-cylinder_controller-fmi_fluid-openfoam_solid-python
- *flow-over-heated-plate_fluid-openfoam_solid-fenics
Expand Down Expand Up @@ -900,6 +908,10 @@ test_suites:
- *perpendicular-flap_fluid-su2_solid-fenics
- *two-scale-heat-conduction_macro-nutils_micro-nutils

rust-bindings:
tutorials:
- *elastic-tube-1d_fluid-rust_solid-rust

solids4foam:
tutorials:
- *perpendicular-flap_fluid-openfoam_solid-solids4foam
Expand Down