Skip to content

Feature/rt automation#403

Merged
junwang-noaa merged 159 commits into
ufs-community:developfrom
BrianCurtis-NOAA:feature/rt-automation
Feb 25, 2021
Merged

Feature/rt automation#403
junwang-noaa merged 159 commits into
ufs-community:developfrom
BrianCurtis-NOAA:feature/rt-automation

Conversation

@BrianCurtis-NOAA
Copy link
Copy Markdown
Collaborator

@BrianCurtis-NOAA BrianCurtis-NOAA commented Feb 1, 2021

Description

Automation of Regression Testing

This PR adds the directory auto to tests that contains three files rt_auto.yml, rt_auto.sh and rt_auto.py.

Code managers will add labels to PR's that are ready for regression testing and eventually a CRON job will run this script every 20 minutes.

  1. rt_auto.py: Python code to be used on our supported HPC's to automatically check all pull requests to a specific repository for a specific label. Each label will contain three parts, for example a label is named Auto-RT-hera
    A: Auto which tells the python code that label is to be processed.
    B: RT which is the test requested to run (check rt_auto.yml for test labels).
    C: hera which specifies the machine the test is to be run on.
    Currently Auto-RT-hera Auto-RT-orion Auto-RT-gaea are working. I'm looking to get python packages added on Jet first.
  2. rt_auto.yml: Specific information the code needs to run
  3. rt_auto.sh: a bash script to run the python code, soon to be implemented through cron jobs.

Current functions:

  1. Automatically clones the PR repo
  2. Automatically runs the full regression test suite
  3. Commits/Pushes logs to the PR repo
  4. Deletes the cloned repo it created to run tests (NOTE: Does NOT yet delete the stmp run data automatically)
  5. Each run, checks for closed PR's and deleted the directory it had created to run those regression tests. (NOTE: Also does not delete the stmp run dir)

Planned future functions:

  • Automatically delete the STMP run dir
  • Automatically create new baselines
  • Automatically run full regression test suite on new baselines
  • Automatically add new baselines to baseline directory

Discussion Topics:

  • Currently the planned CRON job implementation will use BrianCurtis-NOAA HPC accounts and GitHub credentials to run. This optimally should move to a bot GitHub account and a generic user account on NOAA HPC's.

Issue(s) addressed

Fixes #306

Testing

The use of this new script will be used as its test.

Dependencies

None

Do PRs in upstream repositories need to be merged first?
No, these changes are independent of the main functionality of the repo.

BuildTools and others added 30 commits November 23, 2020 08:45
Comment thread tests/auto/rt_auto.sh Outdated
Comment thread tests/auto/rt_auto.sh Outdated
Comment thread tests/auto/rt_auto.py Outdated
Comment thread tests/auto/rt_auto.py Outdated
* Log location sent as comment, not log itself.
* fixed extra code in sh export.
* renamed runFunction to run_function.
* removed extra debug for issue to be addressed later.
* exception fixes
* skip-ci
@BrianCurtis-NOAA
Copy link
Copy Markdown
Collaborator Author

Log Name:rt_auto_hera.intel_20210224184321.log
Log Location:/scratch1/NCEPDEV/nems/Brian.Curtis/git2/BrianCurtis-NOAA/ufs-weather-model-rt/tests/auto
Logs are kept for one month

Copy link
Copy Markdown
Collaborator

@junwang-noaa junwang-noaa left a comment

Choose a reason for hiding this comment

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

This PR is the first of the incremental automatic RT commits. It adds two files and does not have any impact to the model.

Copy link
Copy Markdown
Collaborator

@climbfuji climbfuji left a comment

Choose a reason for hiding this comment

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

I am approving based on the fact that it doesn't impact the current code. I am looking forward to the tutorial next week and then I will hopefully be able to give a more educated feedback on the Python script.

Comment thread tests/auto/rt_auto.sh
Comment thread tests/auto/rt_auto.sh Outdated
Copy link
Copy Markdown
Collaborator

@DeniseWorthen DeniseWorthen left a comment

Choose a reason for hiding this comment

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

Approving, on the basis of no impact to the current tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Automate regression testing through triggers in PR comments

7 participants