-
Notifications
You must be signed in to change notification settings - Fork 230
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
Move Regression Testing in to the CI #2390
Conversation
Codecov Report
@@ Coverage Diff @@
## main #2390 +/- ##
==========================================
- Coverage 48.31% 48.11% -0.20%
==========================================
Files 110 110
Lines 30654 30650 -4
Branches 7994 7995 +1
==========================================
- Hits 14810 14748 -62
- Misses 14301 14366 +65
+ Partials 1543 1536 -7 see 4 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
2433840
to
d648fd8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@JacksonBurns and I met in person today and he explained the whole PR to me, and it looks good to me. It's probably better to have someone who is more familiar with the RMG-tests like @mjohnson541 to review it before we merge. We should also remember to rebase & uncomment some parts of the code before we merge.
maybe we can only do the precompilation step after linking `python-jl` to `python`?
also fix the upload of the results (again)
sigh there goes another 3 hours
2ea5881
to
7dce868
Compare
We had a discussion today at RMG subgroup, and we had Bill's agreement to merge this change. |
Final Updates before review (cd69831) (7 April 2023):
Below is a complete list of all changes made in this PR as well as the reasoning for each change. I believe this will completely replace the existing RMG-tests structure without loss of any functionality, and also adds functionality with (1) scheduled testing and (2) upload of detailed files for failed runs for easier analysis.
Changes, from least complex to most:
test/regression
(future PRs, see Breaking Change on Aug. 1: Switch fromnosetest
topytest
and Overhaul Testing Layout #2380, will move other types of tests intotest
)test/regression
to the.gitignore
except the above files to avoid anyone accidentally committing output from the regression tests when running locally.travis.yml
since we no longer use travisREADME.md
which refer to travis, codacy (which is no longer used), and gitter (also no longer used)Makefile
trigger-rmg-tests.sh
since the regression testing is now done on this repositoryCI.yml
to improve performance, increase maintainability, and add regression testingHigh-level summary of how the CI now works:
Basically, every day or whenever we merge to main we run all the regression examples and save the results. Whenever someone makes a commit to a non-main branch, we attempt to run the regression examples and compare it to this saved result.
Because this has dramatically simplified the procedure of regression testing and we now only build the environment once, total execution time is less than half of RMG-tests. We also can now actually change the environment and compare regression results - RMG-tests did not allow this.
Before merging, we will need to un-comment the indicated step where the results are retrieved. This will only work once the changes are merged into main. This means that after approval we will have to make an additional commit that would typically require re-approval, but we will need to bypass that requirement.
Original PR description continues below:
Move the Regression testing from RMG-tests to RMG-Py, as described here.
Updates as of commit 9718ae1 (5 April 2023):
Changes to
CI.yml
Changes to the repo in general:
trigger_rmg_tests.sh
since it is not longer usedMakefile
related to use on windows (which is no longer supported) and with travis (which is also no longer in use)I believe this action will need to be copied into RMG-Database to match the behavior of RMG-Tests being triggered on commits to either RMG-Py or RMG-Database