Setup CI#177
Conversation
|
@soxofaan @clausmichele Some notes:
|
|
Hi @LukeWeidenwalker! Thanks for the effort, really like to see this going on. I'm not an expert in setting up CI pipelines, so I can't help you much here. About your last question: it would be nice to have a version which does not depend on the EODC set-up. For example, the save_result process currently has hard coded that the data in ODC should be stored in EQUI7: |
|
@clausmichele That's totally fine - the thing I'm most keen on getting feedback for is whether the new build process (as described in the updated README) works for everyone or whether the instructions need further clarifications. I.e. when you setup the new dev environment, can you actually get everything to run as you'd expect it to! ;) Ah, so in that question I was just referring to build variants, i.e. subsets of dependencies, for when you only want to use parts of this library! I totally agree though that these hardcoded EODC-specific bits want to go, but let's tackle that in a different issue! |
|
Ok I had a look at the README file. So, if you merge this we would be forced to use Visual Studio for updating/developing the repo? Or just for running the tests? Wouldn't be possible to include them as a GitHub action? |
|
I would certainly recommend it, but I don't want to force specific tooling on anyone - if you choose to develop outside of the devcontainer and if you already have GDAL installed on your system, you should also be able to create a local virtual environment to develop in using the step described in https://github.com/LukeWeidenwalker/openeo-processes-python#virtual-environment (as I said, please let me know whether that works for you!). With this you will be able to run the tests locally using |
|
Looks interesting! A couple of notes:
|
|
Indeed something like that. With the difference that a bare install would just be I don't know poetry very well, but it seem that it already supports "extras" (which is the feature I referred to): https://python-poetry.org/docs/pyproject/#extras |
|
Thanks for that, I missed that feature somehow - I've updated pyproject.toml to allow installing these variants. Note however, that unless everything is installed, the test suite won't run because Anyways, I think this is out of scope for this PR (but should be cleaned up at some point!). |
If that is the case, then it doesn't make sense to have optional dependencies. Anytime you do any sub-import like
We are pinned to a very old version 0.0.4 that does work without having and optional dependency like dask installed: https://github.com/Open-EO/openeo-python-driver/blob/master/setup.py#L44 There are several approaches to handling optional dependencies:
|
|
Yes, nothing will work until we've done this refactoring to wrap imports of potentially missing dependencies. |
This reverts commit b305423.
Sets up a CI pipeline to resolve #99.
More things to do before this can be merged: