Improve approach to obtain additional python packages needed for some use cases #839
Closed
21 tasks done
Labels
component: CI/CD
Continuous integration and deployment issues
component: external dependency
External dependency issue
component: testing
Software testing issue
priority: high
High Priority
requestor: METplus Team
METplus Development Team
type: enhancement
Improve something that it is currently doing
Milestone
I learned that the marine_and_coastal use case takes 15 seconds to run, but takes 35-40 minutes in GitHub Actions because it takes an extremely long time to obtain the xesmf package that is needed for that use case. A large portion of the processing time in all of the use cases that have additional packages involves obtaining packages.
Describe the Enhancement
Consider a new approach to getting python dependencies for use cases. A possible solution would be to create a Docker image that installs conda and creates conda environments for each group of package dependencies (i.e. if use case(s) needs X, Y, and Z packages, create an environment and add only those 3 packages to it). We could then create another Docker image used for these tests that is based on the METplus image but also adds the content from the environment image so that they are available for the use case tests. This would greatly reduce execution time in GitHub Actions and also help isolate the environments for the use cases to ensure only the package that we list as dependencies are required.
Time Estimate
~ 2-3 days
Sub-Issues
Consider breaking the enhancement down into sub-issues.
Relevant Deadlines
List relevant project deadlines here or state NONE.
Funding Source
2791541
Define the Metadata
Assignee
Labels
Projects and Milestone
Define Related Issue(s)
Consider the impact to the other METplus components.
Enhancement Checklist
See the METplus Workflow for details.
Branch name:
feature_<Issue Number>_<Description>
Pull request:
feature <Issue Number> <Description>
Select: Reviewer(s), Project(s), Milestone, and Linked issues
The text was updated successfully, but these errors were encountered: