Open kloczek opened 1 year ago
Interesting @henryiii, are the latest sphinx versions not pulled in the CI? This seems like an upstream/dependency issue, but I'm surprised it was not picked up in the CI.
@kloczek Can you test with different versions of sphinx
? From the traceback it looks like it's a sphinx specific deprecation, although the tests could be relaxed on this package side to not error on deprecation outside of the CI environment.
I'm using sphinx with +50% of all my packages
[tkloczko@pers-jacek SPECS]$ grep ^%sphinx_build_man python-* | wc -l; ls -1 python-*|wc -l
605
1174
to generate module documentation as man page. I've tested that many modules still is not ready for sphinx 7.x. About 70 modules from above 605 have some issues when sphinx 7.1.0 was (which usually means that those modules needs to be updated). I've tested that 3 weeks ago so until I'll not at least flag those issues to maintainers I'm holding sphinx upgrade to 7.x.
It would require check some past build logs from my build infra however IIRC your module had similar pytest issues with sphinx 7.x however as I wrote I'm not ATM 100% and cannot check that today.
@kloczek Try it out locally on your system with only different sphinx version. The CI does not say which sphinx version it is using: https://github.com/scikit-build/moderncmakedomain/actions/runs/5594294188/job/15153138220, and the traceback indicates that the deprecation warning is coming from sphinx
or sphinxcontrib-htmlhelp
. So try looking there for updates.
But these are also only deprecation warnings, which should only be in the CI, so until that is changed, you can try to manually add that to the ignored warnings: https://github.com/scikit-build/moderncmakedomain/blob/0d6b2779d27932f577d081936d4276b6754f6ea0/pyproject.toml#L53.
Looks like sphinx is loading all extensions that are installed, and you've got one that's not updated. It's not modernsphinxdomain's fault (we don't use this method at all), it's only a problem with turning on warnings as errors.
The modules we depend on are fine, AFAICT. But if you install other ones (sphinxcontrib.htmlhelp, for example), then Sphinx will produce warnings that become errors when it's loading all entry points. I'm guessing you have one large environment with lots of things installed instead of one just for this package?
You can manually ignore there errors there with -W ignore:...
, or (better) report the warning to that package.
I'm guessing you have one large environment with lots of things installed instead of one just for this package?
No I have per rpm package build spawned build env in which are only installed only packages listed in rpm BuildRequires (and its dependencies). In this case list of BuildRequires looks like below:
BuildRequires: python3dist(build)
BuildRequires: python3dist(hatchling)
BuildRequires: python3dist(installer)
BuildRequires: python3dist(wheel)
# ChcekRequires:
BuildRequires: python3dist(docutils)
BuildRequires: python3dist(pygments)
BuildRequires: python3dist(pytest)
BuildRequires: python3dist(setuptools)
BuildRequires: python3dist(sphinx)
FYI: setuptools
is on that list because 9d267a27.
That was cleared a bit ago:
I'm packaging your module as an rpm package so I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.
python3 -sBm build -w --no-isolation
build
with--no-isolation
I'm using during all processes only locally installed modulescut off from access to the public network
(pytest is executed with-m "not network"
)Here is pytest output:
Here is list of installed modules in build env