diff --git a/.github/workflows/generate_reference_results_manual.yml b/.github/workflows/generate-reference-results-manual.yml similarity index 94% rename from .github/workflows/generate_reference_results_manual.yml rename to .github/workflows/generate-reference-results-manual.yml index 1d0d52d08..413223f66 100644 --- a/.github/workflows/generate_reference_results_manual.yml +++ b/.github/workflows/generate-reference-results-manual.yml @@ -32,7 +32,7 @@ on: jobs: generate_reference_results_manual: - uses: ./.github/workflows/generate_reference_results_workflow.yml + uses: ./.github/workflows/generate-reference-results.yml with: from_ref: ${{ inputs.from_ref }} commit_msg: ${{ inputs.commit_msg }} diff --git a/.github/workflows/generate_reference_results_workflow.yml b/.github/workflows/generate-reference-results.yml similarity index 98% rename from .github/workflows/generate_reference_results_workflow.yml rename to .github/workflows/generate-reference-results.yml index 0c4b8e3e0..e22e28f63 100644 --- a/.github/workflows/generate_reference_results_workflow.yml +++ b/.github/workflows/generate-reference-results.yml @@ -1,4 +1,4 @@ -name: Generate reference results workflow +name: Generate reference results (called) on: workflow_call: inputs: diff --git a/.github/workflows/run_testsuite_manual.yml b/.github/workflows/run_testsuite_manual.yml deleted file mode 100644 index 25c4e820e..000000000 --- a/.github/workflows/run_testsuite_manual.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: Run Testsuite (manual) # Unfortunately, we cannot modify the name: https://github.community/t/github-actions-dynamic-name-of-the-workflow-with-workflow-dispatch/150327 -on: - workflow_dispatch: - inputs: - suites: - description: 'Test suites to execute (comma-separated)' - required: true - default: 'release' - type: string - build_args: - description: 'Build arguments (override component defaults)' - default: 'PRECICE_REF:v3.4.1,TUTORIALS_REF:develop' - type: string - system_tests_branch: - description: 'Git ref for tools/tests/' - default: 'develop' - type: string - upload_artifacts: - description: 'Upload the complete case files also on success (always true for failure)' - default: 'TRUE' - type: choice - options: - - 'FALSE' - - 'TRUE' - log_level: - description: 'Logging verbosity of systemtests.py' - default: 'INFO' - type: choice - options: - - 'INFO' - - 'DEBUG' - - -jobs: - run_testsuite_manual: - uses: ./.github/workflows/run_testsuite_workflow.yml - with: - suites: ${{ inputs.suites }} - build_args: ${{ inputs.build_args }} - system_tests_branch: ${{ inputs.system_tests_branch }} - log_level: ${{ inputs.log_level }} - upload_artifacts: ${{ inputs.upload_artifacts }} diff --git a/.github/workflows/system-tests-latest-components.yml b/.github/workflows/system-tests-latest-components.yml index f48ab4eb1..4109768b7 100644 --- a/.github/workflows/system-tests-latest-components.yml +++ b/.github/workflows/system-tests-latest-components.yml @@ -1,4 +1,4 @@ -name: System tests (latest components) +name: System tests (manual/nightly) on: schedule: @@ -52,7 +52,7 @@ on: jobs: run-system-tests: name: Trigger system tests - uses: precice/tutorials/.github/workflows/run_testsuite_workflow.yml@develop + uses: precice/tutorials/.github/workflows/system-tests.yml@develop with: suites: ${{ inputs.suites || 'release' }} build_args: "PRECICE_REF:${{ inputs.ref-precice }},\ diff --git a/.github/workflows/system-tests-pr.yml b/.github/workflows/system-tests-pr.yml index 98b32a349..a2ab0fc48 100644 --- a/.github/workflows/system-tests-pr.yml +++ b/.github/workflows/system-tests-pr.yml @@ -8,7 +8,7 @@ jobs: run-system-tests: name: Trigger system tests if: ${{ github.event.label.name == 'trigger-system-tests' }} - uses: precice/tutorials/.github/workflows/run_testsuite_workflow.yml@develop + uses: precice/tutorials/.github/workflows/system-tests.yml@develop with: suites: release build_args: "TUTORIALS_REF:${{ github.event.pull_request.head.sha }}" diff --git a/.github/workflows/run_testsuite_workflow.yml b/.github/workflows/system-tests.yml similarity index 98% rename from .github/workflows/run_testsuite_workflow.yml rename to .github/workflows/system-tests.yml index 23659e354..53e6bb0a6 100644 --- a/.github/workflows/run_testsuite_workflow.yml +++ b/.github/workflows/system-tests.yml @@ -1,4 +1,4 @@ -name: Run Testsuite reusable workflow +name: System tests (called) on: workflow_call: inputs: @@ -22,7 +22,7 @@ on: default: 'TRUE' type: string jobs: - run_testsuite: + run_system_tests: runs-on: [self-hosted, linux, x64, precice-tests-vm] steps: - name: Display a quick job summary diff --git a/changelog-entries/843.md b/changelog-entries/843.md new file mode 100644 index 000000000..7b1a24b30 --- /dev/null +++ b/changelog-entries/843.md @@ -0,0 +1 @@ +- Renamed the system tests GitHub Actions workflows [#843](https://github.com/precice/tutorials/pull/843) \ No newline at end of file diff --git a/tools/tests/README.md b/tools/tests/README.md index 35c983a1f..164ed6962 100644 --- a/tools/tests/README.md +++ b/tools/tests/README.md @@ -25,9 +25,17 @@ Workflow for the preCICE v3 release testing: 3. Trigger the GitHub Actions Workflow. Until we merge the workflow to develop, this can only happen via the [GitHub CLI](https://cli.github.com/): ```bash - gh workflow run run_testsuite_manual.yml -f suites=release -f build_args="PRECICE_REF:v3.1.1,PRECICE_PRESET:production-audit,OPENFOAM_ADAPTER_REF:v1.3.0,PYTHON_BINDINGS_REF:v3.1.0,FENICS_ADAPTER_REF:v2.1.0,SU2_VERSION:7.5.1,SU2_ADAPTER_REF:64d4aff,DEALII_ADAPTER_REF:02c5d18,TUTORIALS_REF:340b447" --ref=develop + gh workflow run system-tests-latest-components.yml -f suites=release ``` + More arguments are available, for example: + + ```bash + gh workflow run system-tests-latest-components.yml -f suites=release -f build_args="PLATFORM:ubuntu2404,PRECICE_REF:develop" -f log_level="DEBUG" --ref=develop + ``` + + The `build_args` override the defaults set in `tools/tests/components.yaml`. + 4. Go to the tutorials [Actions](https://github.com/precice/tutorials/actions) page and find the running workflow 5. Check the status and the runtimes of each tutorial: @@ -54,18 +62,18 @@ To be able to fill in the right case tuple into the `tests.yaml`, you can use th ## Running the system tests on GitHub Actions -Go to Actions > [Run Testsuite (manual)](https://github.com/precice/tutorials/actions/workflows/run_testsuite_manual.yml) to see this workflow. +Go to Actions > [System tests (latest components)](https://github.com/precice/tutorials/actions/workflows/system-tests-latest-components.yml) to see this workflow. After bringing these changes to `master`, the manual triggering option should be visible on the top right. Until that happens, we can only trigger this workflow manually from the [GitHub CLI](https://github.blog/changelog/2021-04-15-github-cli-1-9-enables-you-to-work-with-github-actions-from-your-terminal/): ```shell -gh workflow run run_testsuite_manual.yml -f suites=fenics-adapter --ref=develop +gh workflow run system-tests-latest-components.yml -f suites=fenics-adapter --ref=develop ``` Another example, to use the latest releases and enable debug information of the tests: ```shell -gh workflow run run_testsuite_manual.yml -f suites=fenics-adapter -f build_args="PRECICE_REF:v3.1.1,PRECICE_PRESET:production-audit,OPENFOAM_ADAPTER_REF:v1.3.0,PYTHON_BINDINGS_REF:v3.1.0,FENICS_ADAPTER_REF:v2.1.0,SU2_VERSION:7.5.1,SU2_ADAPTER_REF:64d4aff,DEALII_ADAPTER_REF:02c5d18,TUTORIALS_REF:340b447" -f log_level=DEBUG --ref=develop +gh workflow run system-tests-latest-components.yml -f suites=fenics-adapter -f build_args="PRECICE_REF:v3.1.1,PRECICE_PRESET:production-audit,OPENFOAM_ADAPTER_REF:v1.3.0,PYTHON_BINDINGS_REF:v3.1.0,FENICS_ADAPTER_REF:v2.1.0,SU2_VERSION:7.5.1,SU2_ADAPTER_REF:64d4aff,DEALII_ADAPTER_REF:02c5d18,TUTORIALS_REF:340b447" -f log_level=DEBUG --ref=develop ``` where the `*_REF` should be a specific [commit-ish](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefcommit-ishacommit-ishalsocommittish). @@ -152,8 +160,8 @@ The multi-stage Docker build allows building each component separately from the Metadata and workflow/script files: - `.github/workflows/` - - `run_testsuite_workflow.yml`: workflow for running the tests, triggered by other workflows (e.g., other repositories) - - `run_testsuite_manual.yml`: manual triggering front-end for `run_testsuite_workflow.yml` + - `system-tests.yml`: workflow for running the tests, triggered by other workflows (e.g., other repositories) + - `system-tests-latest-components.yml`: manual triggering front-end for `system-tests.yml` - `flow-over-a-heated-plate/` - `fluid-openfoam/` - `run.sh`: describes how to execute the respective case @@ -276,10 +284,10 @@ This `openfoam-adapter` component has the following attributes: Since the docker containers are still a bit mixed in terms of capabilities and support for different build_argument combinations the following rules apply: -- A build argument ending in `_REF` refers to a git commit-ish (like a tag or commit) being used to build the image. It is important to not use branch names here as we heavily rely on Docker's build cache to speedup things. But since the input variable to the docker builder will not change, we might have wrong cache hits. +- A build argument ending in `_REF` refers to a git commit-ish (like a tag or commit) being used to build the image. - Some workflows set variables ending in `_PR`. These specify the GitHub pull request which provides the above `_REF` and can be on a fork. - A build argument ending in `_VERSION` refers to the version of a third-party dependency to use (e.g., DUNE). -- All other build_arguments are free of rules and up to the container maintainer. +- All other `build_arguments` are free of rules and up to the container maintainer. ### Component templates