-
Notifications
You must be signed in to change notification settings - Fork 318
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
ci: install mf6 development build for CI tests #1970
Conversation
* also, don't update flopy packages, test against current repository state
Codecov Report
@@ Coverage Diff @@
## develop #1970 +/- ##
=========================================
- Coverage 72.7% 72.7% -0.1%
=========================================
Files 257 257
Lines 57810 57810
=========================================
- Hits 42075 42057 -18
- Misses 15735 15753 +18 |
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.
This is good. I guess we will need to stay on top of any changes that we make on the MODFLOW 6 side. If we keep the definition files in flopy, we could compare flopy dfns with modflow6 dfns to help identify why there might be a failure? Or maybe there is a better way?
After thinking on this more
the second part seems right in principle, but now I wonder if flopy needs to version package classes. Flopy could cease versioning dfns and generated mf6 component classes, and instead package a copy of the latest dfns, and generate classes from it at install time. Flopy CI could fetch and test both the latest released dfns and the develop version. The flopy develop branch and releases could aim always to support (at minimum) the latest mf6 release and the develop version. Compatibility with older mf6 would need to be tested and if found lacking a recommendation to downgrade to a previous flopy seems appropriate? This could help to make mf6 version support policy explicit and limit overhead to keep flopy and mf6 in sync. Autotests could test multiple mf6 versions with fairly little extra effort It seems like this would not disturb the user experience — API reference would still be on ReadTheDocs, package classes would still be in the environment after installation, and it shouldn't add much time to the install process. Some possible downsides:
|
I think MF6 class generation could be deferred to install time with a custom setuptools build command by extending
|
The motivation here is that flopy's
develop
branch should test against the mf6 development build so the projects can be developed in sync. The move to update flopy packages in CI was misguided — we want to test the codebase as it exists in version control.Master and release branches are still tested against the latest official mf6 release.