Read the Docs build information Build id: 1279675 Project: canonical-craft-archives Version: latest Commit: b88fa8eb149b5c16beb7f9400483e0f6a147cef2 Date: 2023-02-01T14:33:14.697803Z State: finished Success: False [rtd-command-info] start-time: 2023-02-01T14:33:17.495439Z, end-time: 2023-02-01T14:33:18.187466Z, duration: 0, exit-code: 0 git clone --no-single-branch --depth 50 https://github.com/canonical/craft-archives.git . Cloning into '.'... [rtd-command-info] start-time: 2023-02-01T14:33:18.496826Z, end-time: 2023-02-01T14:33:18.586800Z, 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 b88fa8e Merge pull request #6 from lengau/docs-structure [rtd-command-info] start-time: 2023-02-01T14:33:18.785812Z, end-time: 2023-02-01T14:33:18.860850Z, duration: 0, exit-code: 0 git clean -d -f -f [rtd-command-info] start-time: 2023-02-01T14:33:19.906593Z, end-time: 2023-02-01T14:33:24.562122Z, duration: 4, exit-code: 0 python3.7 -mvirtualenv Using base prefix '/home/docs/.pyenv/versions/3.7.9' New python executable in /home/docs/checkouts/readthedocs.org/user_builds/canonical-craft-archives/envs/latest/bin/python3.7 Also creating executable in /home/docs/checkouts/readthedocs.org/user_builds/canonical-craft-archives/envs/latest/bin/python Installing setuptools, pip, wheel... done. [rtd-command-info] start-time: 2023-02-01T14:33:24.740188Z, end-time: 2023-02-01T14:33:26.497651Z, duration: 1, exit-code: 0 python -m pip install --upgrade --no-cache-dir pip setuptools<58.3.0 Requirement already satisfied: pip in /home/docs/checkouts/readthedocs.org/user_builds/canonical-craft-archives/envs/latest/lib/python3.7/site-packages (23.0) Collecting setuptools<58.3.0 Downloading setuptools-58.2.0-py3-none-any.whl (946 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 946.1/946.1 kB 33.6 MB/s eta 0:00:00 Installing collected packages: setuptools Attempting uninstall: setuptools Found existing installation: setuptools 67.0.0 Uninstalling setuptools-67.0.0: Successfully uninstalled setuptools-67.0.0 Successfully installed setuptools-58.2.0 [rtd-command-info] start-time: 2023-02-01T14:33:26.727827Z, end-time: 2023-02-01T14:33:34.037945Z, duration: 7, exit-code: 0 python -m pip install --upgrade --no-cache-dir pillow mock==1.0.1 alabaster>=0.7,<0.8,!=0.7.5 commonmark==0.9.1 recommonmark==0.5.0 sphinx sphinx-rtd-theme readthedocs-sphinx-ext<2.3 Collecting pillow Downloading Pillow-9.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 52.3 MB/s eta 0:00:00 Collecting mock==1.0.1 Downloading mock-1.0.1.zip (861 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 861.9/861.9 kB 241.6 MB/s eta 0:00:00 Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting alabaster!=0.7.5,<0.8,>=0.7 Downloading alabaster-0.7.13-py3-none-any.whl (13 kB) Collecting commonmark==0.9.1 Downloading commonmark-0.9.1-py2.py3-none-any.whl (51 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 51.1/51.1 kB 176.8 MB/s eta 0:00:00 Collecting recommonmark==0.5.0 Downloading recommonmark-0.5.0-py2.py3-none-any.whl (9.8 kB) Collecting sphinx Downloading sphinx-5.3.0-py3-none-any.whl (3.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2/3.2 MB 181.2 MB/s eta 0:00:00 Collecting sphinx-rtd-theme Downloading sphinx_rtd_theme-1.1.1-py2.py3-none-any.whl (2.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.8/2.8 MB 207.5 MB/s eta 0:00:00 Collecting readthedocs-sphinx-ext<2.3 Downloading readthedocs_sphinx_ext-2.2.0-py2.py3-none-any.whl (11 kB) Collecting docutils>=0.11 Downloading docutils-0.19-py3-none-any.whl (570 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 570.5/570.5 kB 235.3 MB/s eta 0:00:00 Collecting sphinxcontrib-devhelp Downloading sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl (84 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 84.7/84.7 kB 195.3 MB/s eta 0:00:00 Collecting sphinxcontrib-applehelp Downloading sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl (121 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 121.2/121.2 kB 217.5 MB/s eta 0:00:00 Collecting sphinxcontrib-jsmath Downloading sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl (5.1 kB) Collecting Jinja2>=3.0 Downloading Jinja2-3.1.2-py3-none-any.whl (133 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.1/133.1 kB 212.9 MB/s eta 0:00:00 Collecting imagesize>=1.3 Downloading imagesize-1.4.1-py2.py3-none-any.whl (8.8 kB) Collecting snowballstemmer>=2.0 Downloading snowballstemmer-2.2.0-py2.py3-none-any.whl (93 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 93.0/93.0 kB 204.9 MB/s eta 0:00:00 Collecting sphinxcontrib-serializinghtml>=1.1.5 Downloading sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl (94 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 94.0/94.0 kB 203.9 MB/s eta 0:00:00 Collecting requests>=2.5.0 Downloading requests-2.28.2-py3-none-any.whl (62 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.8/62.8 kB 188.2 MB/s eta 0:00:00 Collecting Pygments>=2.12 Downloading Pygments-2.14.0-py3-none-any.whl (1.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 242.1 MB/s eta 0:00:00 Collecting packaging>=21.0 Downloading packaging-23.0-py3-none-any.whl (42 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 42.7/42.7 kB 165.6 MB/s eta 0:00:00 Collecting importlib-metadata>=4.8 Downloading importlib_metadata-6.0.0-py3-none-any.whl (21 kB) Collecting babel>=2.9 Downloading Babel-2.11.0-py3-none-any.whl (9.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.5/9.5 MB 173.4 MB/s eta 0:00:00 Collecting sphinxcontrib-htmlhelp>=2.0.0 Downloading sphinxcontrib_htmlhelp-2.0.0-py2.py3-none-any.whl (100 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.5/100.5 kB 201.6 MB/s eta 0:00:00 Collecting sphinxcontrib-qthelp Downloading sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl (90 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6/90.6 kB 210.7 MB/s eta 0:00:00 Collecting docutils>=0.11 Downloading docutils-0.17.1-py2.py3-none-any.whl (575 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 575.5/575.5 kB 233.2 MB/s eta 0:00:00 Collecting pytz>=2015.7 Downloading pytz-2022.7.1-py2.py3-none-any.whl (499 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 499.4/499.4 kB 233.8 MB/s eta 0:00:00 Collecting typing-extensions>=3.6.4 Downloading typing_extensions-4.4.0-py3-none-any.whl (26 kB) Collecting zipp>=0.5 Downloading zipp-3.12.0-py3-none-any.whl (6.6 kB) Collecting MarkupSafe>=2.0 Downloading MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25 kB) Collecting certifi>=2017.4.17 Downloading certifi-2022.12.7-py3-none-any.whl (155 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 155.3/155.3 kB 203.6 MB/s eta 0:00:00 Collecting idna<4,>=2.5 Downloading idna-3.4-py3-none-any.whl (61 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.5/61.5 kB 181.3 MB/s eta 0:00:00 Collecting charset-normalizer<4,>=2 Downloading charset_normalizer-3.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (170 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 170.5/170.5 kB 219.0 MB/s eta 0:00:00 Collecting urllib3<1.27,>=1.21.1 Downloading urllib3-1.26.14-py2.py3-none-any.whl (140 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.6/140.6 kB 213.6 MB/s eta 0:00:00 Building wheels for collected packages: mock Building wheel for mock (setup.py): started Building wheel for mock (setup.py): finished with status 'done' Created wheel for mock: filename=mock-1.0.1-py3-none-any.whl size=23772 sha256=f1f67bab08e451f98cceb6fcd4d39ada15d6e62dc2451d8f2075bd6d81349d65 Stored in directory: /tmp/pip-ephem-wheel-cache-_h9s5krg/wheels/7a/94/b1/0fdc5339a5bd487a5cc15421ec200d9ba3e2aa7190e4a727f1 Successfully built mock Installing collected packages: snowballstemmer, pytz, mock, commonmark, charset-normalizer, zipp, urllib3, typing-extensions, sphinxcontrib-serializinghtml, sphinxcontrib-qthelp, sphinxcontrib-jsmath, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, Pygments, pillow, packaging, MarkupSafe, imagesize, idna, docutils, certifi, babel, alabaster, requests, Jinja2, importlib-metadata, sphinx, readthedocs-sphinx-ext, sphinx-rtd-theme, recommonmark Successfully installed Jinja2-3.1.2 MarkupSafe-2.1.2 Pygments-2.14.0 alabaster-0.7.13 babel-2.11.0 certifi-2022.12.7 charset-normalizer-3.0.1 commonmark-0.9.1 docutils-0.17.1 idna-3.4 imagesize-1.4.1 importlib-metadata-6.0.0 mock-1.0.1 packaging-23.0 pillow-9.4.0 pytz-2022.7.1 readthedocs-sphinx-ext-2.2.0 recommonmark-0.5.0 requests-2.28.2 snowballstemmer-2.2.0 sphinx-5.3.0 sphinx-rtd-theme-1.1.1 sphinxcontrib-applehelp-1.0.2 sphinxcontrib-devhelp-1.0.2 sphinxcontrib-htmlhelp-2.0.0 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-1.0.3 sphinxcontrib-serializinghtml-1.1.5 typing-extensions-4.4.0 urllib3-1.26.14 zipp-3.12.0 [rtd-command-info] start-time: 2023-02-01T14:33:35.530107Z, end-time: 2023-02-01T14:33:35.585928Z, duration: 0, exit-code: 0 cat docs/conf.py # Configuration file for the Sphinx documentation builder. # # For the full list of built-in configuration values, see the documentation: # https://www.sphinx-doc.org/en/master/usage/configuration.html # -- Project information ----------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information project = "craft-archives" copyright = "2023, Canonical" author = "Canonical" # region General configuration # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration extensions = [ "sphinx.ext.intersphinx", "sphinx.ext.viewcode", "sphinx.ext.coverage", "sphinx.ext.doctest", "sphinx_design", "sphinx_copybutton", "sphinx-pydantic", "sphinx_toolbox", "sphinx_toolbox.more_autodoc", "sphinx.ext.autodoc", # Must be loaded after more_autodoc ] templates_path = ["_templates"] exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] show_authors = False # endregion # region Options for HTML output # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output html_theme = "furo" html_static_path = ["_static"] # endregion # region Options for extensions # Intersphinx extension # https://www.sphinx-doc.org/en/master/usage/extensions/intersphinx.html#configuration intersphinx_mapping = { "python": ("https://docs.python.org/3", None), } # Type hints configuration set_type_checking_flag = True typehints_fully_qualified = False always_document_param_types = True # Github config github_username = "canonical" github_repository = "craft-archives" # endregion ########################################################################### # 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') # Add RTD Theme only if they aren't overriding it already using_rtd_theme = ( ( 'html_theme' in globals() and html_theme in ['default'] and # Allow people to bail with a hack of having an html_style 'html_style' not in globals() ) or 'html_theme' not in globals() ) if using_rtd_theme: theme = importlib.import_module('sphinx_rtd_theme') html_theme = 'sphinx_rtd_theme' html_style = None html_theme_options = {} if 'html_theme_path' in globals(): html_theme_path.append(theme.get_html_theme_path()) else: html_theme_path = [theme.get_html_theme_path()] if globals().get('websupport2_base_url', False): websupport2_base_url = 'https://readthedocs.com/websupport' websupport2_static_url = 'https://assets.readthedocs.com/' #Add project information to the template context. context = { 'using_theme': using_rtd_theme, 'html_theme': html_theme, 'current_version': "latest", 'version_slug': "latest", 'MEDIA_URL': "https://media.readthedocs.com/media/", 'STATIC_URL': "https://assets.readthedocs.com/", 'PRODUCTION_DOMAIN': "readthedocs.com", 'proxied_static_path': "/_/static/", 'versions': [ ], 'downloads': [ ], 'subprojects': [ ], 'slug': 'canonical-craft-archives', 'name': u'Craft Archives', 'rtd_language': u'en', 'programming_language': u'words', 'canonical_url': 'https://canonical-craft-archives.readthedocs-hosted.com/en/latest/', 'analytics_code': 'None', 'single_version': False, 'conf_py_path': '/docs/', 'api_host': 'https://readthedocs.com', 'github_user': 'canonical', 'proxied_api_host': '/_', 'github_repo': 'craft-archives', '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-2', 'commit': 'b88fa8eb', } # 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(): html_context.update(context) else: html_context = context # Add custom RTD extension if 'extensions' in globals(): # Insert at the beginning because it can interfere # with other extensions. # See https://github.com/rtfd/readthedocs.org/pull/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.com/projects/canonical-craft-archives/builds/1279675/' 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 # https://github.com/rtfd/readthedocs-docker-images/pull/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-02-01T14:33:35.762056Z, end-time: 2023-02-01T14:33:36.300730Z, duration: 0, exit-code: 2 python -m sphinx -T -E -b html -d _build/doctrees -D language=en . ../_readthedocs/html Running Sphinx v5.3.0 Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-craft-archives/envs/latest/lib/python3.7/site-packages/sphinx/registry.py", line 459, in load_extension mod = import_module(extname) File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-craft-archives/envs/latest/lib/python3.7/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1006, in _gcd_import File "", line 983, in _find_and_load File "", line 965, in _find_and_load_unlocked ModuleNotFoundError: No module named 'sphinx_design' The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-craft-archives/envs/latest/lib/python3.7/site-packages/sphinx/cmd/build.py", line 280, in build_main args.pdb) File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-craft-archives/envs/latest/lib/python3.7/site-packages/sphinx/application.py", line 223, in __init__ self.setup_extension(extension) File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-craft-archives/envs/latest/lib/python3.7/site-packages/sphinx/application.py", line 398, in setup_extension self.registry.load_extension(self, extname) File "/home/docs/checkouts/readthedocs.org/user_builds/canonical-craft-archives/envs/latest/lib/python3.7/site-packages/sphinx/registry.py", line 463, in load_extension err) from err sphinx.errors.ExtensionError: Could not import extension sphinx_design (exception: No module named 'sphinx_design') Extension error: Could not import extension sphinx_design (exception: No module named 'sphinx_design')