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

Get CI running again #173

Merged
merged 14 commits into from
Jul 24, 2024
Merged

Get CI running again #173

merged 14 commits into from
Jul 24, 2024

Conversation

dstndstn
Copy link
Contributor

@dstndstn dstndstn commented Jul 22, 2024

  • remove test_suite() functions from test modules: the 'python setup.py test' they are meant to support is not the way we do that anymore (according to desiutil docs)
  • update python modules to versions matching DESI 24.4 at NERSC
  • update python to 3.10

Work In Progress -- I sent this as a PR to get the CI tests to run.

… test' they are meant to support is not the way we do that anymore (according to desiutil docs)
@dstndstn dstndstn marked this pull request as draft July 22, 2024 14:49
@sbailey
Copy link
Contributor

sbailey commented Jul 22, 2024

Thanks for working on this. FWIW, https://github.com/desihub/desispec/blob/main/.github/workflows/python-package.yml and https://github.com/desihub/redrock/blob/main/requirements.txt are approaches taken in other packages to ensure numpy<2.0. The first one does a downgrade post-facto after installing other packages; the second one restricts it in the requirements.txt file as part of the global installation solution.

@dstndstn
Copy link
Contributor Author

Thanks, I think I've got it working correctly now, by pinning matplotlib and scipy (which we probably should have been doing anyway).

@dstndstn dstndstn changed the title remove test_suite() functions from test modules: the 'python setup.py… Get CI running again Jul 22, 2024
@dstndstn dstndstn marked this pull request as ready for review July 23, 2024 12:12
@dstndstn dstndstn requested a review from sbailey July 23, 2024 21:11
Copy link
Contributor

@sbailey sbailey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm concerned about how specific you had to get on the package versions for matplotlib, scipy, numpy, fitsio, astropy. We could go ahead and accept this as working for now so that @dstndstn and @tskisner can get back to what they originally wanted to debug with desimodel, but this could be fragile and break in the future when one of those tags ages out of community repos. Maybe that is less of an issue for pip installs than it is for conda installs, where older specific package versions regularly disappear from conda-forge? Could you provide a bit more context about why you need to pin specific versions for 5 packages rather than something like numpy<2.0 for a single package?

Related: Is this PR a blocking factor for addressing the focal plane syncing issues? That could include the spirit of "get failing unit test cruft out of the way so that we can focus on the real problem".

@dstndstn
Copy link
Contributor Author

What was happening: we installed the numpy version we wanted, but then just asked for "matplotlib", which pulled in the newest version, which required a newer numpy.

I think we could solve this by installing all those packages in a single pip install line, like
> pip install matplotlib astropy scipy fitsio "numpy<2.0"

You prefer that to pinning to the DESI 24.4 versions?

And yes, more broadly, it's a matter of hygiene to have the CI running before trying to tackle the focal plane sync stuff; I don't want to break something else while I'm in there monkeying around!

@dstndstn
Copy link
Contributor Author

Okay, @sbailey this is ready for you to look at again. I realized that desiutil already installs numpy, matplotlib, healpy and astropy, so I only need to add scipy and fitsio in this repo.

Copy link
Contributor

@sbailey sbailey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. This dependency installation setup looks more maintainable. In general we want the CI tests to pull in the latest versions of external packages so that we know when we are no longer compatible with the latest version (like numpy 2.x), and we let the nightly tests at NERSC and pre-PR developer testing check the compatibility with the older pinned versions.

@sbailey sbailey merged commit 3b9af1e into main Jul 24, 2024
10 checks passed
@sbailey sbailey deleted the fix-ci branch July 24, 2024 16:54
@dstndstn
Copy link
Contributor Author

Thanks!!

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.

2 participants