CI documentation (GitHub Actions) - reichlab/covid19-forecast-hub GitHub Wiki

Forecast Hub CI documentation

The forecast hub uses Github Actions for running CI builds on PRs as well as commits to the master branch. There are different Actions run for various triggers in the hub.
The various Actions used by the hub can be accessed under the Actions tab on the repo page (link here). Each action listed below can also be manually ran when necessary.

Name What does it do? Trigger Source (workflow file) Link
Node.js CI Runs validation code on current build trigger (PR if this build was triggered from a PR, or the commit on master that triggered the build on master) - upon PR creation/update - commit pushed to master YAML source link
Trigger zoltar upload This build does the following (in order): - Run validation on pending files (and adds entries to the locally_validated_files.csv. - Fetch latest JHU truth data and parses them to create the local truth CSV files in the data-truth folder. - Upload the truth data to Zoltar. - Upload all pending forecasts that have not been uploaded to Zoltar. - Copy the locally_validated_files.csv to validated_files.csv. The separate files are to ensure the validation files cache is not altered when running the validation locally. - Push all the changed files back to GitHub using this script - Every 6 hours YAML source link
Update JHU, NYTimes, USAFacts truth data weekly This action runs weekly to upload truth data from the three sources to Zoltar. (FYI: NYTimes recently changed their data format, so NYTimes truth have not been updating on Zoltar) weekly YAML source link
Update local visualization This action is triggered manually to update the local visualization files in the repository. none (manual runs only) YAML source link
Deploy to GitHub Pages This is a build triggered manually to deploy the visualization to GitHub pages. Please use this build with caution as this changes the live website contents none (manual runs only) YAML source link
Validate a single/pattern forecast file This build does a validation check on the input pattern specified while running the build. The pattern/filename is entered in the Forecast file name input box after pressing the Run workflow button. The input can be: - the filename itself (e.g. 2020-07-20-LANL-GrowthRate): Specifying this check only that particular forecast file. - model_abbr (e.g. LANL-GrowthRate): This will check all forecasts of that particular model (in this example, all LANL-GrowthRate forecasts. - team_abbr (e.g. CU): This will check all forecasts of all models with that team_abbr. none (manual runs only) YAML source link

Details/things to note: