Skip to content
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

remove obsolete version restriction for SciPy #835

Merged
merged 1 commit into from
Sep 8, 2023

Conversation

KrisThielemans
Copy link
Member

temporarily addresses #834

@KrisThielemans KrisThielemans added this to the v3.5 milestone Aug 15, 2023
@KrisThielemans
Copy link
Member Author

KrisThielemans commented Aug 15, 2023

This built ok, but it seems we're not running any CIL tests on the docker images, see https://github.com/SyneRBI/SIRF-SuperBuild/actions/runs/5867753842/job/15909452350?pr=835#step:6:25667
that isn't great.

@KrisThielemans
Copy link
Member Author

we're not running any CIL tests on the docker images

This is due to #836.

@paskino @casperdcl @gfardell is there a way to test a conda install of CIL?

@casperdcl
Copy link
Member

The CIL conda recipe does include a test key, so I guess yes... but presumably SIRF only needs to test the points of integration with CIL, not actually run the full CIL test suite.

@KrisThielemans
Copy link
Member Author

Well, arguably if you put full CIL on our docker image, maybe it should be tested anyway, although I presume that if a conda build it is found&installed, it can be presumed to work?

But certainly, cross-CIL-SIRF tests are the most important. I'm not sure where they are now. Might need @paskino.

@gfardell
Copy link

Well, arguably if you put full CIL on our docker image, maybe it should be tested anyway, although I presume that if a conda build it is found&installed, it can be presumed to work?

We build and test all the binaries we push, this broadly tests numpy and python versions combinations. But we don't have version caps on our dependencies, so when they are updated, conda starts resolving with the newer version and issues can appear due to backward incompatibilities. I think we've had this with SciPy and matplotlib in the past.

To run the tests you need the extra dependencies in the conda test requirements that @casperdcl pointed out, but the tests aren't packaged in to the conda build (as far as a recall!) so you'd have to get them from our repo.

@KrisThielemans
Copy link
Member Author

@gfardell or anyone else, could you write a small script for CIL testing of an existing installation (i.e. clone, install dependencies, run tests, clean-up). Adding a call to that in the Dockerfile would be reassuring.

@casperdcl
Copy link
Member

@paskino
Copy link
Contributor

paskino commented Sep 7, 2023

Integration tests with SIRF and CIL are in the CIL test suite https://github.com/TomographicImaging/CIL/blob/master/Wrappers/Python/test/test_SIRF.py

They are not run in CIL CI as we don't have SIRF. They should be run when BUILD_CIL=ON but they have been commented out because they used to fail. I believe I fixed that recently.

# add_test(NAME CIL_SIRF_TESTS
# COMMAND ${PYTHON_EXECUTABLE} -m unittest discover -p test_SIRF*.py
# WORKING_DIRECTORY ${${proj}_SOURCE_DIR}/Wrappers/Python/test)

@paskino
Copy link
Contributor

paskino commented Sep 7, 2023

@casperdcl can we easily extract the test requirements of CIL from the meta.yaml?

@paskino
Copy link
Contributor

paskino commented Sep 7, 2023

@gfardell or anyone else, could you write a small script for CIL testing of an existing installation (i.e. clone, install dependencies, run tests, clean-up). Adding a call to that in the Dockerfile would be reassuring.

Isn't it preferrable to BUILD_CIL=ON also in Docker? This would simplify this and close #836 after #837

@paskino
Copy link
Contributor

paskino commented Sep 7, 2023

I just had a look at the Docker files. I don't think that CIL is installed at all on our docker images, see requirements.yaml and requirements-service.yml

It is installed on the jupyterhub image via conda.

@KrisThielemans
Copy link
Member Author

KrisThielemans commented Sep 7, 2023

I just had a look at the Docker files. I don't think that CIL is installed at all on our docker images, see requirements.yaml and requirements-service.yml

It is now installed via SIRF-Exercises/environment.yml, done in #821 at my request...

Isn't it preferrable to BUILD_CIL=ON also in Docker? This would simplify this and close #836 after #837

I think we have a problem with dependencies as we mix conda and hand-build stuff. If we do BUILD_CIL=ON, I believe that we will still install it via conda as well, due to the above.

It's of course a mess, which #821 probably made larger. The best way around it is to do everything via conda (but we cannot), or nothing... I suggest we merge this and either do

  • a manual check on the docker images
  • do minimal work to run some CIL tests automatically on docker
    Then we release, and clean it up.

@casperdcl
Copy link
Member

casperdcl commented Sep 7, 2023

can we easily extract the test requirements of CIL from the meta.yaml?

yez :)

pip install yq
sed s/{{.*}}/./g CIL/recipe/meta.yaml | yq -r .test.requires[]

@paskino paskino merged commit ff7bfae into SyneRBI:master Sep 8, 2023
8 checks passed
@KrisThielemans KrisThielemans deleted the requirementsFix branch September 8, 2023 10:21
@casperdcl casperdcl mentioned this pull request Sep 12, 2023
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants