Expectations for Developers - ufs-community/ufs-weather-model GitHub Wiki
- Run the full RT suite, preferably on Ursa, Hercules, or Derecho (unless changes are specific to a different machine).
Developers often choose to add the
-eor-roptions, too, to expedite testing:./rt.sh -a <account> -e - Commit and push the updated
test_changes.listfile. - Commit and push the log file (
RegressionTests_<machine>.log-- underufs-weather-model/tests/logs). In the case of baseline changes, this log file will show failures, but this is fine as long as the failures are reasonable (e.g., a comparison failure because a test has baseline updates). It is the developer's responsibility to assess whether the failures are reasonable and whether code is scientifically valid. - Exceptions: Regression testing is not required for WM-level text-only changes, such as documentation updates, or for updates to the WM CI, which do not touch the model code.
Important
Do NOT run with the -c option when producing the log and test_changes.list file that you plan to upload.
Code managers need to see which tests (if any) will fail using the current baselines. Using the -c option will produce passes for baseline-changing tests, and the tests will not be added to test_changes.list.
Code managers will recreate baselines when necessary as part of the PR merge process. Developers are welcome to test with -c and run against their newly created baselines using -m as part of their own testing process to ensure reproducibility, but the logs produced from these steps should not be the ones uploaded to the PR.
Before we can schedule a PR for testing:
- All subcomponent PRs must be approved with the correct number of reviewers on each.
- Pretesting must be complete:
- Push a log (
RegressionTests_<machine>.log) with results from a run of the full RT suite on the most recent code.- No increased warnings or remarks
- Push
test_changes.list(even if empty)
- Push a log (
- Fill out PR template. The PR should include:
- Description
- Commit message
- Priority
- Links to issues that the PR will close
- Links to sub-PRs
- Information on baseline changes, input data changes, library updates