pytest-dev / pytest-dev/pytest

Docs failing to build on latest/8.3.x

Open
#13,266 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type: docs
Dominant language
Python
Stars
14.5k
Forks
3.4k
Avg merge
2d 9h
Merged PRs (30d)
35

Description

We are getting this failure when building the docs for main and 8.3.x:

Traceback
=========

    Traceback (most recent call last):
      File "/home/docs/checkouts/readthedocs.org/user_builds/pytest/envs/8.3.x/lib/python3.12/site-packages/sphinx/cmd/build.py", line 432, in build_main
        app.build(args.force_all, args.filenames)
      File "/home/docs/checkouts/readthedocs.org/user_builds/pytest/envs/8.3.x/lib/python3.12/site-packages/sphinx/application.py", line 426, in build
        self.builder.build_update()
      File "/home/docs/checkouts/readthedocs.org/user_builds/pytest/envs/8.3.x/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 372, in build_update
        self.build(['__all__'], summary=to_build, method='update')
      File "/home/docs/checkouts/readthedocs.org/user_builds/pytest/envs/8.3.x/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 454, in build
        self.write(docnames, updated_docnames, method)
      File "/home/docs/checkouts/readthedocs.org/user_builds/pytest/envs/8.3.x/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 735, in write
        self.write_documents(docnames)
      File "/home/docs/checkouts/readthedocs.org/user_builds/pytest/envs/8.3.x/lib/python3.12/site-packages/sphinx/builders/latex/__init__.py", line 333, in write_documents
        doctree = self.assemble_doctree(
                  ^^^^^^^^^^^^^^^^^^^^^^
      File "/home/docs/checkouts/readthedocs.org/user_builds/pytest/envs/8.3.x/lib/python3.12/site-packages/sphinx/builders/latex/__init__.py", line 406, in assemble_doctree
        self.env.resolve_references(largetree, indexfile, self)
      File "/home/docs/checkouts/readthedocs.org/user_builds/pytest/envs/8.3.x/lib/python3.12/site-packages/sphinx/environment/__init__.py", line 759, in resolve_references
        self.apply_post_transforms(doctree, fromdocname)
      File "/home/docs/checkouts/readthedocs.org/user_builds/pytest/envs/8.3.x/lib/python3.12/site-packages/sphinx/environment/__init__.py", line 773, in apply_post_transforms
        transformer.apply_transforms()
      File "/home/docs/checkouts/readthedocs.org/user_builds/pytest/envs/8.3.x/lib/python3.12/site-packages/sphinx/transforms/__init__.py", line 92, in apply_transforms
        super().apply_transforms()  # type: ignore[misc]
        ^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/home/docs/checkouts/readthedocs.org/user_builds/pytest/envs/8.3.x/lib/python3.12/site-packages/docutils/transforms/__init__.py", line 182, in apply_transforms
        transform.apply(**kwargs)
      File "/home/docs/checkouts/readthedocs.org/user_builds/pytest/envs/8.3.x/lib/python3.12/site-packages/sphinx/transforms/post_transforms/images.py", line 38, in apply
        self.handle(node)
      File "/home/docs/checkouts/readthedocs.org/user_builds/pytest/envs/8.3.x/lib/python3.12/site-packages/sphinx/transforms/post_transforms/images.py", line 273, in handle
        if self.convert(abs_srcpath, destpath):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/home/docs/checkouts/readthedocs.org/user_builds/pytest/envs/8.3.x/lib/python3.12/site-packages/sphinxcontrib/inkscapeconverter.py", line 71, in convert
        args += ['--export-filename=' + _to, _from]
                 ~~~~~~~~~~~~~~~~~~~~~^~~~~
    TypeError: can only concatenate str (not "_StrPath") to str

(Raw logs: https://app.readthedocs.org/api/v2/build/27363375.txt)

https://app.readthedocs.org/projects/pytest/builds/27361294/
https://app.readthedocs.org/projects/pytest/builds/27363375/

Looking at the inkscapeconverter.py code, the traceback points to the latest version:

https://github.com/missinglinkelectronics/sphinxcontrib-svg2pdfconverter/blob/7ece3cbe92289f7014d6f25fc7fa7ea2d9de45b6/sphinxcontrib/inkscapeconverter.py#L71

This is unfortunately preventing the changelog from being built, and announcing 8.3.5.

Posting here in case anybody has a suggestion, otherwise I will post it back in the Sphinx tracker for advice.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Read the Docs raw logs and the referenced sphinxcontrib/inkscapeconverter.py line 71, where the traceback occurs during the LaTeX documentation build. Reproduce the failure for main or 8.3.x, then verify that the changelog and documentation build successfully without the TypeError.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, documentation
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.