-
Notifications
You must be signed in to change notification settings - Fork 189
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
State of testing in Pangeo #544
Comments
Good points to bring up. Thanks @alando46.
I think we're mostly waiting for someone with some bandwidth to work on these things. If any of these pieces interest you, I'd be happy to work with you to get things integrated. |
Thanks for sharing thoughts @jhamman. Please see my responses below
The minikube deploy seems like a good idea that we could potentially get other test functionality out of.
Ok, thanks for clarifying. There is at least one example (Rasterio) where a package can be successfully installed but not fully function due to dependency issues. Given the importance of GDAL/Rasterio to a lot of geo workflows, would it make sense to brainstorm about an additional layer of functionality testing?
I can do some further research on options for this. Tying into the previous comment, it seems like it might be useful to test certain critical functionalities for the most common Pangeo use cases. I'm imagining a series of "feature" tests where a user server is started, a notebook opened, and a series of critical features are tested, maybe including:
In regards to checking dependencies, again this is coming from somebody without a great sense of testing best practices but it seems like Pangeo has 2 core docker dependencies (right now ZeroToJupyter for notebook and worker images). Would it make sense to configure something to check that the images referenced in the Helm Chart are the latest version of these images? |
@alando46 - I've opened pangeo-data/helm-chart#81 to get the helm chart CI conversation going. |
@alando46 - I would be interested in hearing your ideas for integration testing. I have a few ideas.
To be clear, none of this exists right now but depending on what you testing, these are all options. |
What sorts of integration tests do you see as being best suited to run in a single container?
It seems like one way forward could be to create some sort of default binder configuration which, once a user configures their cluster, could run automatically on each commit to master (if they wanted). Originally I thought about trying to configure Minikube for this as we discussed, but after doing about 30 minutes of internet research, I was unable to find anyone else testing k8s deployments in such a fashion. My inference is this could mean it's not a best practice. Even if it turns out it makes sense to do some sort of Minikube testing, the workflow of Validation - End-to-end Testing: https://kubernetes.io/docs/getting-started-guides/ubuntu/validation/ Additional information: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-testing/e2e-tests.md thoughts @jhamman? |
I think it will be a constant challenge to just test integration points and not just the core functionality of individual libraries. For example, the test suites in dask-kubernetes and xarray should cover your three tests -- unless there is something unique to your use case (e.g. the configuration of the k8s cluster or the input COGS). I'm not apposed to testing on a production k8s cluster either but I think it should be possible to also test on a minikube like thing. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Let's keep this alive. @alando46 - haven't heard from you in a while! How are things going on your end. In terms of testing, you might be interested to see the stuff we have going in:
|
@rabernat hey there! Things have gotten pretty busy at Radiant these last two months and I've had to temporarily put my Pangeo contributions on hold. But the dust is settling somewhat and I plan on picking up where I left off soon. Thanks for sharing those links! I'll probably initially submit as a WIP pr, but regardless hope to have something up in the very near future. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
This issue has been automatically closed because it had not seen recent activity. The issue can always be reopened at a later date. |
I'm hoping to understand more about how testing works with Pangeo deployments. After digging around a bit I wasn't able to find any documentation of the exact process, so if this exists and I missed it, please feel free to close this issue. Also, I should mention that I don't have any significant experience with setting up CI/CD so if my apologies in advance if I mistake some concepts.
Is there an overview of the types of tests that are run when a PR is made?
It seems like the following tests may be valuable:
Just a few ideas. Sorry if this already exists somewhere but just thought I'd raise the issue just in case it doesn't. If these don't yet exist and the community feels they could be valuable, happy to get the ball rolling on getting these tests set up.
The text was updated successfully, but these errors were encountered: