pyiron / pyiron_workflow

Graph-and-node based workflows
BSD 3-Clause "New" or "Revised" License
10 stars 1 forks source link

:bug: readthedocs build is failing #350

Closed liamhuber closed 2 weeks ago

liamhuber commented 2 weeks ago

readthedocs log:

        × Building wheel for mpi4py (pyproject.toml) did not run successfully.
        │ exit code: 1
        ╰─> [228 lines of output]

        ...

            --------------------------------------------------------------------------
            The Open MPI wrapper compiler was unable to find the specified compiler
            x86_64-conda-linux-gnu-cc in your PATH.

            Note that this compiler was either specified at configure time or in
            one of several possible environment variables.
            --------------------------------------------------------------------------
            failure.

        ...

The same issue happens for pyiron_module_template, which only has the dependency pyiron_base, so the problem is not with the actual source code. The pyiron_base docs themselves, however, are passing, so there must still be a repo-specific problem here. I suspect I can config my way out of this problem.

jan-janssen commented 2 weeks ago

pyiron_base uses:

pip install versioneer[toml]==0.29
pip install . --no-deps --no-build-isolation

the --no-build-isolation part is important to prevent pip from building all dependencies.

liamhuber commented 2 weeks ago

I am failing ~before~ at the pip install

liamhuber commented 2 weeks ago
Screen Shot 2024-06-07 at 09 26 45
liamhuber commented 2 weeks ago

Found it -- pyiron_base .readthedocs.yml has a pre-build step I can add

liamhuber commented 2 weeks ago

The versioneer[toml] and build dependency made it into the docs check as a part of the pyiron/actions upgrades, but I failed to propagate it to .readthedocs.yml throughout.

liamhuber commented 2 weeks ago

It is still running python -m pip install --upgrade --upgrade-strategy only-if-needed --no-cache-dir . instead of pip install versioneer[toml]==0.29; pip install . --no-deps --no-build-isolation, my guess is that the trailing python: install: section of my yml is overriding the pre-build job.