-
-
Notifications
You must be signed in to change notification settings - Fork 186
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add system tests workflow #2052
base: develop
Are you sure you want to change the base?
Conversation
Related documentation PR: precice/tutorials#550 |
mmh, seems there is still a problem. @MakisH any quick guess? |
You can click on the The issue is independent of the system tests: it's the familiar NumPy 2.0 incompatibility. To fix it, we would need a bugfix release in the tutorials (which I cannot prepare this week). |
I switched to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We still get numpy 2. From the stdout.log
of the flow-over-heated-plate OpenFOAM-FEniCS:
#25 [solid-fenics fenics_adapter 3/4] RUN pip3 install --user fenics-ufl
#25 0.911 Collecting fenics-ufl
#25 0.948 Downloading fenics_ufl-2024.1.0.post1-py3-none-any.whl.metadata (2.6 kB)
#25 0.961 Requirement already satisfied: numpy in /home/precice/.local/lib/python3.10/site-packages (from fenics-ufl) (2.0.0)
I can fix all these issues myself, just not right now.
Current state:
|
Looking into the failing job, trying to understand the regression in the perpendicular flap, which is now also raised in precice/tutorials#573. The reference results used have been created with (download the
Watchpoint for OpenFOAM-CalculiX: Watchpoint for SU2-FEniCS: How it should be: https://precice.org/tutorials-perpendicular-flap.html#post-processing Related commits in the tutorials repository: https://github.com/precice/tutorials/commits/develop/perpendicular-flap |
Now that precice/tutorials#573 is fixed, one test is still failing (Perpendicular flap (fluid-openfoam, solid-calculix)), which completes but reports deviations above tolerance. Note that I had to manually trigger the system tests to use the released preCICE v3.1.2, because the current develop has changed the names of the exported files, as discussed in #2053 (comment):
I will now investigate which of the components causes the deviation and update this comment. Update:
|
The reason for the still failing test was the different OpenFOAM version. I downgraded to v2312 and waiting for the follow-up to #2053 (comment) |
Now all the Python-related system tests fail with the same segfault, but I cannot reproduce this locally. I suspect this has something to do with the layer caching. Full output of an example: stdout.log I will now clear all the Docker cache and try again. -> did not help (potentially related issue: precice/tutorials#584) |
After debugging a bit with @fsimonis, we found out that the issue currently is in preCICE, since the migration of the exporters to samples (e414c76). Commit a41d1a2 (one before) does not show the segfault. The issue is not related to Python, as it also happens in OpenFOAM and in the elastic_tube_1d C++. What the failing cases have in common: nearest-neighbor read-consistent mapping and serial-implicit scheme. One case has data initialization, but the other does not. |
Another system tests run that reproduces the issue, with debug and trace information.
|
We are getting closer: <participant name="Solid">
<provide-mesh name="Solid-Nodes-Mesh" />
<receive-mesh name="Fluid-Nodes-Mesh" from="Fluid" />
<write-data name="CrossSectionLength" mesh="Solid-Nodes-Mesh" />
<read-data name="Pressure" mesh="Solid-Nodes-Mesh" />
<mapping:nearest-neighbor
direction="read"
from="Fluid-Nodes-Mesh"
to="Solid-Nodes-Mesh"
constraint="consistent" />
<export:vtk />
</participant> We assert here: Lines 153 to 154 in 736cbf2
For |
Main changes of this PR
Adds a workflow to run the "release" testsuite, which gets triggered by the
trigger-system-tests
label.Motivation and additional information
We have the system tests now. Let's use them.
Author's checklist
pre-commit
hook to prevent dirty commits and usedpre-commit run --all
to format old commits.Reviewers' checklist