-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Review CI system #2867
Comments
PROCESS CI PlanIntroductionThe PROCESS CI system contains several core components that work together to ensure comprehensive testing and tracking of the PROCESS systems code.
PROCESS regression testing consists of two jobs: a no-tolerance job, and a 5% tolerance job. The no-tolerance job will fail if any of the checked quantities in the MFile are not exactly identical. The 5% job will only fail if any of the checked quantities change by more than 5%. Any new model or model change is expected to change the optima which we converge to, and thus a lot of quantities can change as the result of a change. Generally, a reviewer will look at the change in iteration variables' final values to validate these differences. HistoryOn GitLab, PROCESS had a less-than-ideal solution to changing test artefacts: each main pipeline would make a commit back to main that overwrite the MFile test assets with the results from main. Branches that were made off of main then benchmarked their changes against the MFile on main at the time the branch was created. This workflow was not implemented into GitHub actions due to the hacky nature. AimTo provide a framework that maintains accountability for a branches' changes. That is, the regression test differences should only reflect the changes made on a feature branch. The proposalflowchart TB
subgraph "Feature 1"
commit_f1_ba(("Commit BA"))
commit_f1_bb(("Commit BB"))
commit_f1_ba --- commit_f1_bb
end
subgraph main
commit_a((("Commit A")))
commit_b((("Commit B")))
commit_c((("Commit C")))
commit_d((("Commit D")))
commit_a --- commit_b
commit_b --- commit_c
commit_c --- commit_d
end
commit_b --- commit_f1_ba
subgraph "Feature 2"
commit_f2_ca(("Commit CA"))
commit_f2_cb(("Commit CB"))
commit_f2_ca --- commit_f2_cb
end
commit_c --- commit_f2_ca
subgraph legend
legend_circle((" ")) ~~~ |A commit with no tracking data| legend_dcircle
legend_dcircle(((" "))) ~~~ |A commit with tracking data| null:::hidden
classDef hidden display: none;
end
The above graph models a typical Git setup of the PROCESS repository. Commits A-D are features which have been merged into the The proposal is that each commit (merge commit) onto
Benefits:
Drawbacks and considerations:
ActionsImmediate:
Short term:
Medium term:
|
New issues created to complete the short and medium term features |
Now on github, we should review the CI system and think about any future tasks. This relates to #2862 .
The text was updated successfully, but these errors were encountered: