Skip to content

Make systemtest runs portable and re-runnable from CI artifacts#724

Open
PranjalManhgaye wants to merge 1 commit into
precice:developfrom
PranjalManhgaye:fix-clean-scripts
Open

Make systemtest runs portable and re-runnable from CI artifacts#724
PranjalManhgaye wants to merge 1 commit into
precice:developfrom
PranjalManhgaye:fix-clean-scripts

Conversation

@PranjalManhgaye
Copy link
Copy Markdown
Contributor

@PranjalManhgaye PranjalManhgaye commented Feb 24, 2026

Summary

When a system test fails in CI, we often download the system_tests_run_*_full artifact to debug locally (#387). The old compose files used absolute runner paths, so replay on another machine usually broke unless you fixed paths by hand.

This PR makes run folders portable: relative paths, a rerun_systemtest.sh helper, TUTORIALS_REF default develop, and short README notes on replay.

Closes #387.

What changed

  • Systemtest.py: run_directory"..", dockerfiles → ../tools/tests/dockerfiles/<PLATFORM>, plus rerun_systemtest.sh (same commands as the Python runner). ( only + 66 -6 )
  • README.md: how to unzip a full artifact and re-run.
  • changelog-entries/724.md

After unzip, layout is runs/tools/ (shared) + one folder per test; you work inside the test folder.

Testing

I tested locally with quickstart (build, run, fieldcompare), rerun_systemtest.sh (original + copied tree), and one CI artifact replay. I did not run the full tests.yaml matrix here — happy if you trigger system tests on CI.

The #387 example artifact is expired; new runs after merge should work without path patching.

@MakisH MakisH added systemtests GSoC Contributed in the context of the Google Summer of Code labels Feb 24, 2026
@MakisH MakisH requested a review from Copilot February 24, 2026 21:00
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR aims to make system test run directories portable and re-runnable from downloaded CI artifacts by switching generated Docker Compose files to relative paths, adding a local rerun helper script, updating default tutorial refs, and documenting the workflow.

Changes:

  • Generate Docker Compose files using relative paths (intended to avoid CI-runner-specific absolute paths).
  • Create a rerun_systemtest.sh helper script inside each system test run directory.
  • Update TUTORIALS_REF defaults to develop and document how to rerun tests from CI artifacts.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

File Description
tools/tests/systemtests/Systemtest.py Switches compose generation to relative paths and adds a rerun helper script.
tools/tests/components.yaml Updates default TUTORIALS_REF from master to develop.
tools/tests/README.md Adds documentation for rerunning system tests from CI artifacts.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread tools/tests/systemtests/Systemtest.py Outdated
Comment thread tools/tests/systemtests/Systemtest.py Outdated
Comment thread tools/tests/systemtests/Systemtest.py Outdated
Comment thread tools/tests/systemtests/Systemtest.py
@PranjalManhgaye
Copy link
Copy Markdown
Contributor Author

PranjalManhgaye commented Feb 25, 2026

@MakisH i have resolved the suggested changes by copilot , review it once , thanks

@MakisH MakisH changed the title feat ; make systemtest runs portable and re-runnable from CI artifacts (closes #387) Make systemtest runs portable and re-runnable from CI artifacts May 9, 2026
@PranjalManhgaye PranjalManhgaye force-pushed the fix-clean-scripts branch 2 times, most recently from 9e05394 to 558edba Compare May 21, 2026 17:53
Use relative Docker Compose paths, generate rerun_systemtest.sh in each
run folder, and document replay from system_tests_run_*_full artifacts.
Closes precice#387.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

GSoC Contributed in the context of the Google Summer of Code systemtests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature: Run the systemtests locally after being executed in runner

3 participants