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

Docker workflow failing because of IDAKLU solver decoupling #4896

Open
santacodes opened this issue Mar 7, 2025 · 4 comments
Open

Docker workflow failing because of IDAKLU solver decoupling #4896

santacodes opened this issue Mar 7, 2025 · 4 comments
Assignees
Labels
CI/CD Related to continuous integration, continuous deployment (GitHub Actions, workflows, testing, etc.) difficulty: easy A good issue for someone new. Can be done in a few hours priority: medium To be resolved if time allows

Comments

@santacodes
Copy link
Member

PyBaMM Version

25.1.1

Python Version

3.11

Describe the bug

The docker workflow has been failing because of decoupled IDAKLU solver. I think it would be better to refactor the Dockerfile completely as pybammsolvers is an independent dependency now and can be installed through pip instead of compiling it within the Dockerfile itself. This would make the Dockerfile much simpler with less dependencies to install and overall less build steps.

Steps to Reproduce

Reference workflow URL - https://github.com/pybamm-team/PyBaMM/actions/runs/13685113885/job/38266614422

Relevant log output

#35 57.40   × Failed to build `pybammsolvers==0.1.0`
#35 57.40   ├─▶ The build backend returned an error
#35 57.41   ╰─▶ Call to `setuptools.build_meta.build_wheel` failed (exit status: 1)
#35 57.41 
#35 57.41       [stdout]
#35 57.41       running bdist_wheel
#35 57.41       running build
#35 57.41       running build_py
#35 57.41       creating build/lib.linux-aarch64-cpython-312/pybammsolvers
#35 57.41       copying src/pybammsolvers/version.py ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers
#35 57.41       copying src/pybammsolvers/__init__.py ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers
#35 57.41       running egg_info
#35 57.41       writing src/pybammsolvers.egg-info/PKG-INFO
#35 57.41       writing dependency_links to
#35 57.41       src/pybammsolvers.egg-info/dependency_links.txt
#35 57.41       writing requirements to src/pybammsolvers.egg-info/requires.txt
#35 57.41       writing top-level names to src/pybammsolvers.egg-info/top_level.txt
#35 57.41       reading manifest file 'src/pybammsolvers.egg-info/SOURCES.txt'
#35 57.41       adding license file 'LICENSE'
#35 57.41       writing manifest file 'src/pybammsolvers.egg-info/SOURCES.txt'
#35 57.41       copying src/pybammsolvers/idaklu.cpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers
#35 57.41       creating build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/IDAKLUSolver.cpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/IDAKLUSolver.hpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/IDAKLUSolverGroup.cpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/IDAKLUSolverGroup.hpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/IDAKLUSolverOpenMP.hpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/IDAKLUSolverOpenMP.inl ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/IDAKLUSolverOpenMP_solvers.cpp
#35 57.41       -> build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/IDAKLUSolverOpenMP_solvers.hpp
#35 57.41       -> build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/IdakluJax.cpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/IdakluJax.hpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/Options.cpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/Options.hpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/Solution.cpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/Solution.hpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/SolutionData.cpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/SolutionData.hpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/common.cpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/common.hpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/idaklu_solver.hpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/observe.cpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/observe.hpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/sundials_functions.hpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       copying src/pybammsolvers/idaklu_source/sundials_functions.inl ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source
#35 57.41       creating
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source/Expressions
#35 57.41       copying src/pybammsolvers/idaklu_source/Expressions/Expressions.hpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source/Expressions
#35 57.41       creating
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source/Expressions/Base
#35 57.41       copying src/pybammsolvers/idaklu_source/Expressions/Base/Expression.hpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source/Expressions/Base
#35 57.41       copying
#35 57.41       src/pybammsolvers/idaklu_source/Expressions/Base/ExpressionSet.hpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source/Expressions/Base
#35 57.41       copying
#35 57.41       src/pybammsolvers/idaklu_source/Expressions/Base/ExpressionTypes.hpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source/Expressions/Base
#35 57.41       creating
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source/Expressions/Casadi
#35 57.41       copying
#35 57.41       src/pybammsolvers/idaklu_source/Expressions/Casadi/CasadiFunctions.cpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source/Expressions/Casadi
#35 57.41       copying
#35 57.41       src/pybammsolvers/idaklu_source/Expressions/Casadi/CasadiFunctions.hpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source/Expressions/Casadi
#35 57.41       creating
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source/Expressions/IREE
#35 57.41       copying
#35 57.41       src/pybammsolvers/idaklu_source/Expressions/IREE/IREEBaseFunction.hpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source/Expressions/IREE
#35 57.41       copying
#35 57.41       src/pybammsolvers/idaklu_source/Expressions/IREE/IREEFunction.hpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source/Expressions/IREE
#35 57.41       copying
#35 57.41       src/pybammsolvers/idaklu_source/Expressions/IREE/IREEFunctions.cpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source/Expressions/IREE
#35 57.41       copying
#35 57.41       src/pybammsolvers/idaklu_source/Expressions/IREE/IREEFunctions.hpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source/Expressions/IREE
#35 57.41       copying
#35 57.41       src/pybammsolvers/idaklu_source/Expressions/IREE/ModuleParser.cpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source/Expressions/IREE
#35 57.41       copying
#35 57.41       src/pybammsolvers/idaklu_source/Expressions/IREE/ModuleParser.hpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source/Expressions/IREE
#35 57.41       copying src/pybammsolvers/idaklu_source/Expressions/IREE/iree_jit.cpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source/Expressions/IREE
#35 57.41       copying src/pybammsolvers/idaklu_source/Expressions/IREE/iree_jit.hpp ->
#35 57.41       build/lib.linux-aarch64-cpython-312/pybammsolvers/idaklu_source/Expressions/IREE
#35 57.41       running build_ext
#35 57.41       ---------- Running CMake for IDAKLU solver
#35 57.41       ----------------------------------------
#35 57.41 
#35 57.41       [stderr]
#35 57.41       /home/pybamm/.cache/uv/builds-v0/.tmpGLrdF0/lib/python3.12/site-packages/setuptools/command/build_py.py:212:
#35 57.41       _Warning: Package 'pybammsolvers.idaklu_source' is absent from the
#35 57.41       `packages` configuration.
#35 57.41       !!
@santacodes santacodes added CI/CD Related to continuous integration, continuous deployment (GitHub Actions, workflows, testing, etc.) difficulty: easy A good issue for someone new. Can be done in a few hours priority: medium To be resolved if time allows labels Mar 7, 2025
@agriyakhetarpal
Copy link
Member

Thanks, @santacodes. We should also remove the arm64 Docker images as they won't work without pybamm-team/pybammsolvers#19 and #4821 being resolved.

@medha-14
Copy link
Contributor

medha-14 commented Mar 7, 2025

Hey @santacodes, could you assign this one to me ?

@RohitP2005
Copy link
Contributor

Is this still being worked on @medha-14 ?

@medha-14
Copy link
Contributor

medha-14 commented Mar 13, 2025

Yes, I am working on it currently.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI/CD Related to continuous integration, continuous deployment (GitHub Actions, workflows, testing, etc.) difficulty: easy A good issue for someone new. Can be done in a few hours priority: medium To be resolved if time allows
Projects
None yet
Development

No branches or pull requests

4 participants