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

Bug: Failed compilation of online documentation #1021

Closed
laurelgr opened this issue Oct 19, 2023 · 4 comments
Closed

Bug: Failed compilation of online documentation #1021

laurelgr opened this issue Oct 19, 2023 · 4 comments
Assignees
Labels
bug under investigation The issue is being investigated.

Comments

@laurelgr
Copy link

laurelgr commented Oct 19, 2023

Current behavior

I first noticed that the version of the Online documentation didn't match the more recent releases (3.1.5 from September 24th instead of latest 3.1.9).

I just looked into it a bit more, and it seems that the recent compilations are failing on Read the Docs.
Just putting up a notice in case you weren't aware of this issue.

Expected behavior

Successful compilation so latest documentation is available.

Environment

- Python online documentation

Any other information

No response

@laurelgr laurelgr added the bug label Oct 19, 2023
@jmcnamara
Copy link
Owner

jmcnamara commented Oct 19, 2023

Thanks. I spotted that and added the required .readthedocs.yaml file. However there was still an issue after that. Here is the build failure log in case you/someone else wants to take a look. If not I planned to tackle it on the weekend.

I use an old version of Sphinx (1.2.3) in my local env due to some issue with PDF generation in later versions (I think) so the issue may be with older conf.py options. It seems to be failing parsing the Changes file where I use some extlinks extensions for shortcuts to GitHub issues/PRs.

Here is the log:

``` Read the Docs build information Build id: 22277933 Project: xlsxwriter Version: latest Commit: 9c5fb67 Date: 2023-10-19T08:03:16.611160Z State: finished Success: False

[rtd-command-info] start-time: 2023-10-19T08:03:23.058572Z, end-time: 2023-10-19T08:03:25.640946Z, duration: 2, exit-code: 0
git clone --depth 1 https://github.com/jmcnamara/XlsxWriter.git .
Cloning into '.'...

[rtd-command-info] start-time: 2023-10-19T08:03:26.130999Z, end-time: 2023-10-19T08:03:30.067741Z, duration: 3, exit-code: 0
git fetch origin --force --prune --prune-tags --depth 50 refs/heads/main:refs/remotes/origin/main
From https://github.com/jmcnamara/XlsxWriter

  • [new tag] RELEASE_3.0.9 -> RELEASE_3.0.9
  • [new tag] RELEASE_3.1.0 -> RELEASE_3.1.0
  • [new tag] RELEASE_3.1.1 -> RELEASE_3.1.1
  • [new tag] RELEASE_3.1.2 -> RELEASE_3.1.2
  • [new tag] RELEASE_3.1.3 -> RELEASE_3.1.3
  • [new tag] RELEASE_3.1.4 -> RELEASE_3.1.4
  • [new tag] RELEASE_3.1.5 -> RELEASE_3.1.5
  • [new tag] RELEASE_3.1.6 -> RELEASE_3.1.6
  • [new tag] RELEASE_3.1.7 -> RELEASE_3.1.7
  • [new tag] RELEASE_3.1.8 -> RELEASE_3.1.8

[rtd-command-info] start-time: 2023-10-19T08:03:30.756975Z, end-time: 2023-10-19T08:03:31.233052Z, duration: 0, exit-code: 0
git checkout --force origin/main
Note: switching to 'origin/main'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

git switch -c

Or undo this operation with:

git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 9c5fb67 Prep for release 3.1.9

[rtd-command-info] start-time: 2023-10-19T08:03:31.880172Z, end-time: 2023-10-19T08:03:31.938633Z, duration: 0, exit-code: 0
git clean -d -f -f

[rtd-command-info] start-time: 2023-10-19T08:03:32.554301Z, end-time: 2023-10-19T08:03:32.612417Z, duration: 0, exit-code: 0
cat .readthedocs.yaml

.readthedocs.yaml

Read the Docs configuration file

See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

Required

version: 2

Set the version of Python and other tools you might need

build:
os: ubuntu-22.04
tools:
python: "3.11"

Build documentation in the docs/ directory with Sphinx

sphinx:
configuration: dev/docs/source/conf.py

We recommend specifying your dependencies to enable reproducible builds:

https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html

python:

install:

- requirements: docs/requirements.txt

[rtd-command-info] start-time: 2023-10-19T08:03:41.163485Z, end-time: 2023-10-19T08:03:41.237206Z, duration: 0, exit-code: 0
asdf global python 3.11.6

[rtd-command-info] start-time: 2023-10-19T08:03:42.131728Z, end-time: 2023-10-19T08:03:43.169698Z, duration: 1, exit-code: 0
python -mvirtualenv $READTHEDOCS_VIRTUALENV_PATH
created virtual environment CPython3.11.6.final.0-64 in 731ms
creator CPython3Posix(dest=/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/docs/.local/share/virtualenv)
added seed packages: pip==23.1, setuptools==67.6.1, wheel==0.40.0
activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator

[rtd-command-info] start-time: 2023-10-19T08:03:43.659026Z, end-time: 2023-10-19T08:03:54.268989Z, duration: 10, exit-code: 0
python -m pip install --upgrade --no-cache-dir pip setuptools
Requirement already satisfied: pip in /home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages (23.1)
Collecting pip
Downloading pip-23.3-py3-none-any.whl (2.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 9.9 MB/s eta 0:00:00
Requirement already satisfied: setuptools in /home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages (67.6.1)
Collecting setuptools
Downloading setuptools-68.2.2-py3-none-any.whl (807 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 807.9/807.9 kB 22.6 MB/s eta 0:00:00
Installing collected packages: setuptools, pip
Attempting uninstall: setuptools
Found existing installation: setuptools 67.6.1
Uninstalling setuptools-67.6.1:
Successfully uninstalled setuptools-67.6.1
Attempting uninstall: pip
Found existing installation: pip 23.1
Uninstalling pip-23.1:
Successfully uninstalled pip-23.1
Successfully installed pip-23.3 setuptools-68.2.2

[rtd-command-info] start-time: 2023-10-19T08:03:54.808287Z, end-time: 2023-10-19T08:04:00.290756Z, duration: 5, exit-code: 0
python -m pip install --upgrade --no-cache-dir sphinx readthedocs-sphinx-ext
Collecting sphinx
Downloading sphinx-7.2.6-py3-none-any.whl.metadata (5.9 kB)
Collecting readthedocs-sphinx-ext
Downloading readthedocs_sphinx_ext-2.2.3-py2.py3-none-any.whl.metadata (1.5 kB)
Collecting sphinxcontrib-applehelp (from sphinx)
Downloading sphinxcontrib_applehelp-1.0.7-py3-none-any.whl.metadata (2.2 kB)
Collecting sphinxcontrib-devhelp (from sphinx)
Downloading sphinxcontrib_devhelp-1.0.5-py3-none-any.whl.metadata (2.2 kB)
Collecting sphinxcontrib-jsmath (from sphinx)
Downloading sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl (5.1 kB)
Collecting sphinxcontrib-htmlhelp>=2.0.0 (from sphinx)
Downloading sphinxcontrib_htmlhelp-2.0.4-py3-none-any.whl.metadata (2.2 kB)
Collecting sphinxcontrib-serializinghtml>=1.1.9 (from sphinx)
Downloading sphinxcontrib_serializinghtml-1.1.9-py3-none-any.whl.metadata (2.3 kB)
Collecting sphinxcontrib-qthelp (from sphinx)
Downloading sphinxcontrib_qthelp-1.0.6-py3-none-any.whl.metadata (2.2 kB)
Collecting Jinja2>=3.0 (from sphinx)
Downloading Jinja2-3.1.2-py3-none-any.whl (133 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.1/133.1 kB 7.9 MB/s eta 0:00:00
Collecting Pygments>=2.14 (from sphinx)
Downloading Pygments-2.16.1-py3-none-any.whl.metadata (2.5 kB)
Collecting docutils<0.21,>=0.18.1 (from sphinx)
Downloading docutils-0.20.1-py3-none-any.whl.metadata (2.8 kB)
Collecting snowballstemmer>=2.0 (from sphinx)
Downloading snowballstemmer-2.2.0-py2.py3-none-any.whl (93 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 93.0/93.0 kB 129.1 MB/s eta 0:00:00
Collecting babel>=2.9 (from sphinx)
Downloading Babel-2.13.0-py3-none-any.whl.metadata (1.6 kB)
Collecting alabaster<0.8,>=0.7 (from sphinx)
Downloading alabaster-0.7.13-py3-none-any.whl (13 kB)
Collecting imagesize>=1.3 (from sphinx)
Downloading imagesize-1.4.1-py2.py3-none-any.whl (8.8 kB)
Collecting requests>=2.25.0 (from sphinx)
Downloading requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
Collecting packaging>=21.0 (from sphinx)
Downloading packaging-23.2-py3-none-any.whl.metadata (3.2 kB)
Collecting MarkupSafe>=2.0 (from Jinja2>=3.0->sphinx)
Downloading MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.0 kB)
Collecting charset-normalizer<4,>=2 (from requests>=2.25.0->sphinx)
Downloading charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (32 kB)
Collecting idna<4,>=2.5 (from requests>=2.25.0->sphinx)
Downloading idna-3.4-py3-none-any.whl (61 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.5/61.5 kB 246.2 MB/s eta 0:00:00
Collecting urllib3<3,>=1.21.1 (from requests>=2.25.0->sphinx)
Downloading urllib3-2.0.7-py3-none-any.whl.metadata (6.6 kB)
Collecting certifi>=2017.4.17 (from requests>=2.25.0->sphinx)
Downloading certifi-2023.7.22-py3-none-any.whl.metadata (2.2 kB)
Downloading sphinx-7.2.6-py3-none-any.whl (3.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2/3.2 MB 100.9 MB/s eta 0:00:00
Downloading readthedocs_sphinx_ext-2.2.3-py2.py3-none-any.whl (11 kB)
Downloading Babel-2.13.0-py3-none-any.whl (10.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.1/10.1 MB 208.5 MB/s eta 0:00:00
Downloading docutils-0.20.1-py3-none-any.whl (572 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 572.7/572.7 kB 292.9 MB/s eta 0:00:00
Downloading packaging-23.2-py3-none-any.whl (53 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 53.0/53.0 kB 232.5 MB/s eta 0:00:00
Downloading Pygments-2.16.1-py3-none-any.whl (1.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 283.7 MB/s eta 0:00:00
Downloading requests-2.31.0-py3-none-any.whl (62 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.6/62.6 kB 247.7 MB/s eta 0:00:00
Downloading sphinxcontrib_htmlhelp-2.0.4-py3-none-any.whl (99 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 99.2/99.2 kB 239.9 MB/s eta 0:00:00
Downloading sphinxcontrib_serializinghtml-1.1.9-py3-none-any.whl (92 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 92.7/92.7 kB 266.7 MB/s eta 0:00:00
Downloading sphinxcontrib_applehelp-1.0.7-py3-none-any.whl (120 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 120.0/120.0 kB 271.8 MB/s eta 0:00:00
Downloading sphinxcontrib_devhelp-1.0.5-py3-none-any.whl (83 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 83.5/83.5 kB 259.4 MB/s eta 0:00:00
Downloading sphinxcontrib_qthelp-1.0.6-py3-none-any.whl (89 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 89.4/89.4 kB 200.5 MB/s eta 0:00:00
Downloading certifi-2023.7.22-py3-none-any.whl (158 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 158.3/158.3 kB 273.5 MB/s eta 0:00:00
Downloading charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (137 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 137.1/137.1 kB 274.7 MB/s eta 0:00:00
Downloading MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (28 kB)
Downloading urllib3-2.0.7-py3-none-any.whl (124 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 124.2/124.2 kB 270.3 MB/s eta 0:00:00
Installing collected packages: snowballstemmer, urllib3, sphinxcontrib-jsmath, Pygments, packaging, MarkupSafe, imagesize, idna, docutils, charset-normalizer, certifi, babel, alabaster, requests, Jinja2, readthedocs-sphinx-ext, sphinxcontrib-serializinghtml, sphinxcontrib-qthelp, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, sphinx
Successfully installed Jinja2-3.1.2 MarkupSafe-2.1.3 Pygments-2.16.1 alabaster-0.7.13 babel-2.13.0 certifi-2023.7.22 charset-normalizer-3.3.0 docutils-0.20.1 idna-3.4 imagesize-1.4.1 packaging-23.2 readthedocs-sphinx-ext-2.2.3 requests-2.31.0 snowballstemmer-2.2.0 sphinx-7.2.6 sphinxcontrib-applehelp-1.0.7 sphinxcontrib-devhelp-1.0.5 sphinxcontrib-htmlhelp-2.0.4 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-1.0.6 sphinxcontrib-serializinghtml-1.1.9 urllib3-2.0.7

[rtd-command-info] start-time: 2023-10-19T08:04:08.681572Z, end-time: 2023-10-19T08:04:08.734940Z, duration: 0, exit-code: 0
cat dev/docs/source/conf.py
import sys
import os

extensions = ['sphinx.ext.intersphinx', 'sphinx.ext.extlinks']
source_suffix = '.rst'
master_doc = 'index'

project = u'XlsxWriter'
copyright = u'2013-2023, John McNamara'

version = '3.1.9'
release = version

exclude_patterns = []
pygments_style = 'sphinx'
intersphinx_mapping = {'python': ('https://docs.python.org/3', None)}

sys.path.append(os.path.abspath('_themes'))
html_theme_path = ['_themes']
html_theme = 'bootstrap'
html_theme_options = {'nosidebar': True}
html_title = "XlsxWriter Documentation"
html_static_path = ['_static']
html_show_sphinx = True
html_show_copyright = True
htmlhelp_basename = 'XlsxWriterdoc'
html_add_permalinks = ""

latex_elements = {
'pointsize': '11pt',
'preamble': '',
}
latex_documents = [
('index', 'XlsxWriter.tex',
'Creating Excel files with Python and XlsxWriter',
'John McNamara', 'manual'),
]

latex_logo = '_images/logo.png'
man_pages = [
('index', 'xlsxwriter',
'XlsxWriter Documentation',
['John McNamara'], 1)
]

texinfo_documents = [
('index',
'XlsxWriter',
'XlsxWriter Documentation',
'John McNamara',
'XlsxWriter',
'Creating Excel files with Python and XlsxWriter',
'Miscellaneous'),
]

epub_title = 'XlsxWriter'
epub_author = 'John McNamara'
epub_publisher = 'John McNamara'
epub_copyright = '2013-2023, John McNamara'

linkcheck_ignore = ["https://www.paypal.com"]

extlinks = {'issue': ('https://github.com/jmcnamara/XlsxWriter/issues/%s', 'Issue #'),
'feature': ('https://github.com/jmcnamara/XlsxWriter/issues/%s', 'Feature Request #'),
'pull': ('https://github.com/jmcnamara/XlsxWriter/pull/%s', 'Pull Request #')}

###########################################################################

auto-created readthedocs.org specific configuration

###########################################################################

The following code was added during an automated build on readthedocs.org

It is auto created and injected for every build. The result is based on the

conf.py.tmpl file found in the readthedocs.org codebase:

https://github.com/rtfd/readthedocs.org/blob/main/readthedocs/doc_builder/templates/doc_builder/conf.py.tmpl

Note: this file shouldn't rely on extra dependencies.

import importlib
import sys
import os.path

Borrowed from six.

PY3 = sys.version_info[0] == 3
string_types = str if PY3 else basestring

from sphinx import version_info

Get suffix for proper linking to GitHub

This is deprecated in Sphinx 1.3+,

as each page can have its own suffix

if globals().get('source_suffix', False):
if isinstance(source_suffix, string_types):
SUFFIX = source_suffix
elif isinstance(source_suffix, (list, tuple)):
# Sphinx >= 1.3 supports list/tuple to define multiple suffixes
SUFFIX = source_suffix[0]
elif isinstance(source_suffix, dict):
# Sphinx >= 1.8 supports a mapping dictionary for multiple suffixes
SUFFIX = list(source_suffix.keys())[0] # make a list() for py2/py3 compatibility
else:
# default to .rst
SUFFIX = '.rst'
else:
SUFFIX = '.rst'

Add RTD Static Path. Add to the end because it overwrites previous files.

if not 'html_static_path' in globals():
html_static_path = []
if os.path.exists('_static'):
html_static_path.append('_static')

Define this variable in case it's not defined by the user.

It defaults to alabaster which is the default from Sphinx.

https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-html_theme

html_theme = globals().get('html_theme', 'alabaster')

#Add project information to the template context.
context = {
'html_theme': html_theme,
'current_version': "latest",
'version_slug': "latest",
'MEDIA_URL': "https://media.readthedocs.org/",
'STATIC_URL': "https://assets.readthedocs.org/static/",
'PRODUCTION_DOMAIN': "readthedocs.org",
'proxied_static_path': "//static/",
'versions': [
("latest", "/en/latest/"),
],
'downloads': [
("html", "//xlsxwriter.readthedocs.io/
/downloads/en/latest/htmlzip/"),
],
'subprojects': [
],
'slug': 'xlsxwriter',
'name': u'XlsxWriter',
'rtd_language': u'en',
'programming_language': u'py',
'canonical_url': '',
'analytics_code': 'None',
'single_version': False,
'conf_py_path': '/dev/docs/source/',
'api_host': 'https://readthedocs.org',
'github_user': 'jmcnamara',
'proxied_api_host': '/_',
'github_repo': 'XlsxWriter',
'github_version': 'main',
'display_github': True,
'bitbucket_user': 'None',
'bitbucket_repo': 'None',
'bitbucket_version': 'main',
'display_bitbucket': False,
'gitlab_user': 'None',
'gitlab_repo': 'None',
'gitlab_version': 'main',
'display_gitlab': False,
'READTHEDOCS': True,
'using_theme': (html_theme == "default"),
'new_theme': (html_theme == "sphinx_rtd_theme"),
'source_suffix': SUFFIX,
'ad_free': False,
'docsearch_disabled': False,
'user_analytics_code': '',
'global_analytics_code': 'UA-17997319-1',
'commit': '9c5fb674',
}

For sphinx >=1.8 we can use html_baseurl to set the canonical URL.

https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-html_baseurl

if version_info >= (1, 8):
if not globals().get('html_baseurl'):
html_baseurl = context['canonical_url']
context['canonical_url'] = None

if 'html_context' in globals():
for key in context:
if key not in html_context:
html_context[key] = context[key]
else:
html_context = context

Add custom RTD extension

if 'extensions' in globals():
# Insert at the beginning because it can interfere
# with other extensions.
# See readthedocs/readthedocs.org#4054
extensions.insert(0, "readthedocs_ext.readthedocs")
else:
extensions = ["readthedocs_ext.readthedocs"]

Add External version warning banner to the external version documentation

if 'branch' == 'external':
extensions.insert(1, "readthedocs_ext.external_version_warning")
readthedocs_vcs_url = 'None'
readthedocs_build_url = 'https://readthedocs.org/projects/xlsxwriter/builds/22277933/'

project_language = 'en'

User's Sphinx configurations

language_user = globals().get('language', None)
latex_engine_user = globals().get('latex_engine', None)
latex_elements_user = globals().get('latex_elements', None)

Remove this once xindy gets installed in Docker image and XINDYOPS

env variable is supported

readthedocs/readthedocs-docker-images#98

latex_use_xindy = False

chinese = any([
language_user in ('zh_CN', 'zh_TW'),
project_language in ('zh_CN', 'zh_TW'),
])

japanese = any([
language_user == 'ja',
project_language == 'ja',
])

if chinese:
latex_engine = latex_engine_user or 'xelatex'

latex_elements_rtd = {
    'preamble': '\\usepackage[UTF8]{ctex}\n',
}
latex_elements = latex_elements_user or latex_elements_rtd

elif japanese:
latex_engine = latex_engine_user or 'platex'

Make sure our build directory is always excluded

exclude_patterns = globals().get('exclude_patterns', [])
exclude_patterns.extend(['_build'])

[rtd-command-info] start-time: 2023-10-19T08:04:09.302138Z, end-time: 2023-10-19T08:04:10.160070Z, duration: 0, exit-code: 2
python -m sphinx -T -E -b html -d _build/doctrees -D language=en . $READTHEDOCS_OUTPUT/html
Running Sphinx v7.2.6
making output directory... done
loading intersphinx inventory from https://docs.python.org/3/objects.inv...
building [mo]: targets for 0 po files that are out of date
writing output...
building [html]: targets for 138 source files that are out of date
updating environment: [new config] 138 added, 0 changed, 0 removed
�[2Kreading sources... [ 1%] alternatives
�[2Kreading sources... [ 1%] author
�[2Kreading sources... [ 2%] bugs
�[2Kreading sources... [ 3%] changes
Traceback (most recent call last):
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/sphinx/cmd/build.py", line 298, in build_main
app.build(args.force_all, args.filenames)
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/sphinx/application.py", line 355, in build
self.builder.build_update()
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/sphinx/builders/init.py", line 293, in build_update
self.build(to_build,
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/sphinx/builders/init.py", line 313, in build
updated_docnames = set(self.read())
^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/sphinx/builders/init.py", line 420, in read
self._read_serial(docnames)
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/sphinx/builders/init.py", line 441, in _read_serial
self.read_doc(docname)
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/sphinx/builders/init.py", line 498, in read_doc
publisher.publish()
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/core.py", line 234, in publish
self.document = self.reader.read(self.source, self.parser,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/sphinx/io.py", line 105, in read
self.parse()
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/readers/init.py", line 76, in parse
self.parser.parse(self.input, document)
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/sphinx/parsers.py", line 81, in parse
self.statemachine.run(inputlines, document, inliner=self.inliner)
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/parsers/rst/states.py", line 169, in run
results = StateMachineWS.run(self, input_lines, input_offset,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/statemachine.py", line 233, in run
context, next_state, result = self.check_line(
^^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/statemachine.py", line 445, in check_line
return method(match, context, next_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/parsers/rst/states.py", line 2785, in underline
self.section(title, source, style, lineno - 1, messages)
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/parsers/rst/states.py", line 325, in section
self.new_subsection(title, lineno, messages)
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/parsers/rst/states.py", line 391, in new_subsection
newabsoffset = self.nested_parse(
^^^^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/parsers/rst/states.py", line 279, in nested_parse
state_machine.run(block, input_offset, memo=self.memo,
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/parsers/rst/states.py", line 195, in run
results = StateMachineWS.run(self, input_lines, input_offset)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/statemachine.py", line 233, in run
context, next_state, result = self.check_line(
^^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/statemachine.py", line 445, in check_line
return method(match, context, next_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/parsers/rst/states.py", line 2785, in underline
self.section(title, source, style, lineno - 1, messages)
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/parsers/rst/states.py", line 325, in section
self.new_subsection(title, lineno, messages)
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/parsers/rst/states.py", line 391, in new_subsection
newabsoffset = self.nested_parse(
^^^^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/parsers/rst/states.py", line 279, in nested_parse
state_machine.run(block, input_offset, memo=self.memo,
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/parsers/rst/states.py", line 195, in run
results = StateMachineWS.run(self, input_lines, input_offset)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/statemachine.py", line 233, in run
context, next_state, result = self.check_line(
^^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/statemachine.py", line 445, in check_line
return method(match, context, next_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/parsers/rst/states.py", line 1273, in bullet
i, blank_finish = self.list_item(match.end())
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/parsers/rst/states.py", line 1295, in list_item
self.nested_parse(indented, input_offset=line_offset,
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/parsers/rst/states.py", line 279, in nested_parse
state_machine.run(block, input_offset, memo=self.memo,
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/parsers/rst/states.py", line 195, in run
results = StateMachineWS.run(self, input_lines, input_offset)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/statemachine.py", line 233, in run
context, next_state, result = self.check_line(
^^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/statemachine.py", line 445, in check_line
return method(match, context, next_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/parsers/rst/states.py", line 2716, in blank
paragraph, literalnext = self.paragraph(
^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/parsers/rst/states.py", line 416, in paragraph
textnodes, messages = self.inline_text(text, lineno)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/parsers/rst/states.py", line 425, in inline_text
nodes, messages = self.inliner.parse(text, lineno,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/parsers/rst/states.py", line 649, in parse
before, inlines, remaining, sysmessages = method(self, match,
^^^^^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/parsers/rst/states.py", line 792, in interpreted_or_phrase_ref
nodelist, messages = self.interpreted(rawsource, escaped, role,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/docutils/parsers/rst/states.py", line 889, in interpreted
nodes, messages2 = role_fn(role, rawsource, text, lineno, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/sphinx/ext/extlinks.py", line 108, in role
title = caption % part
~~~~~~~~^~~~~~
TypeError: not all arguments converted during string formatting

Exception occurred:
File "/home/docs/checkouts/readthedocs.org/user_builds/xlsxwriter/envs/latest/lib/python3.11/site-packages/sphinx/ext/extlinks.py", line 108, in role
title = caption % part
~~~~~~~~^~~~~~
TypeError: not all arguments converted during string formatting
The full traceback has been saved in /tmp/sphinx-err-lpkpy9uy.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at https://github.com/sphinx-doc/sphinx/issues. Thanks!

</details>

@jmcnamara jmcnamara self-assigned this Oct 19, 2023
@jmcnamara jmcnamara added the under investigation The issue is being investigated. label Oct 19, 2023
jmcnamara added a commit that referenced this issue Oct 19, 2023
@jmcnamara
Copy link
Owner

I fixed the build error but the output docs are fubarred now. I'll look into it.

jmcnamara added a commit that referenced this issue Oct 19, 2023
jmcnamara added a commit that referenced this issue Oct 19, 2023
jmcnamara added a commit that referenced this issue Oct 19, 2023
jmcnamara added a commit that referenced this issue Oct 19, 2023
jmcnamara added a commit that referenced this issue Oct 19, 2023
@jmcnamara
Copy link
Owner

I've reverted to the readthedocs theme for now and I will work to reinstate the bootstrap theme when I get a chance.

jmcnamara added a commit that referenced this issue Oct 19, 2023
@jmcnamara
Copy link
Owner

I moved to using the pydata theme which was closest to the original Bootstrap theme that I originally used. It seems to have better accessibility choices as well.

Anyway the docs should be up to date now.

Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug under investigation The issue is being investigated.
Projects
None yet
Development

No branches or pull requests

2 participants