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

Add ubuntu 24.04 to build_test.yml #204

Merged
merged 3 commits into from
Oct 21, 2024
Merged

Add ubuntu 24.04 to build_test.yml #204

merged 3 commits into from
Oct 21, 2024

Conversation

bennibbelink
Copy link
Contributor

Adds ubuntu 24.04 to CI.

Copy link

github-actions bot commented Oct 18, 2024

Build Status Report

Build FROM cycamore_20.04_apt/cycamore:latest - Success
Build FROM cycamore_20.04_apt/cycamore:stable - Success
Build FROM cycamore_20.04_conda/cycamore:latest - Success
Build FROM cycamore_20.04_conda/cycamore:stable - Success
Build FROM cycamore_22.04_apt/cycamore:latest - Success
Build FROM cycamore_22.04_apt/cycamore:stable - Success
Build FROM cycamore_22.04_conda/cycamore:latest - Success
Build FROM cycamore_22.04_conda/cycamore:stable - Success
Build FROM cycamore_24.04_apt/cycamore:latest - Success
Build FROM cycamore_24.04_apt/cycamore:stable - Failure
Build FROM cycamore_24.04_conda/cycamore:latest - Success
Build FROM cycamore_24.04_conda/cycamore:stable - Failure

@bennibbelink
Copy link
Contributor Author

bennibbelink commented Oct 18, 2024

Seeing the same failure here as in cyclus/cyclus#1816 on 24.04_apt. Cyclus is installed with the latest numpy from apt (numpy==1.26.4), but cymetric is installed with numpy from pip (numpy==2.12) which has a different API. This isn't an issue on our other apt builds because they have older versions of python that do not support numpy>==2.

Few ways I can think to resolve this:

  • pin numpy; this doesn't have a clear end in sight until either pytables v3.10 is available via apt or we stop supporting ubuntu 24.04
  • add the --no-deps flag to the pip install command. This way pip will not install dependencies and cymetric will just use the version of numpy alread installed on the system. The only issue with this is that matplotlib is not a dependency for cyclus or cymetric, so it does not exist on the system. It doesn't affect tests, but a user might need it (this is easily fixed by installing matplotlib in the cymetric dockerfile)
  • template pyproject.toml so that we can generate it on the fly to pin package versions to those that exist on the system already. This should be fairly straightforward, just requires some modifications to the setup script
  • install python dependencies upstream via pip on our apt builds. I'm not sure how this would affect .deb generation

@bennibbelink bennibbelink requested a review from gonuke October 20, 2024 00:19
@gonuke
Copy link
Member

gonuke commented Oct 20, 2024

My gut tells me that Canonical will need to address this for the 24.04 version at some point, as the upgrade to numpy 2.0 will be hitting a lot of people. It seems like numpy 2.x is also not available via apt for 24.04 which may limit pytables being updated too?

I think if we pin numpy for Cymetric to match what we have for Cyclus, that is probably the most consistent (and me in 18 months will be trying to remember why we did this)

@bennibbelink
Copy link
Contributor Author

I implemented the second bullet above. If we want to explicitly pin numpy, then we will likely need to modify the setup script to generate pyproject.toml dynamically. As it is now, it is (implicitly?) pinned to the existing version due to the fact that pip does not install any dependencies.

@bennibbelink bennibbelink marked this pull request as ready for review October 21, 2024 02:07
Copy link
Member

@gonuke gonuke left a comment

Choose a reason for hiding this comment

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

Thanks @bennibbelink

@gonuke gonuke merged commit 0a66166 into main Oct 21, 2024
27 checks passed
@bennibbelink bennibbelink deleted the noble-numbat branch October 22, 2024 12:01
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