I'm setting up Read the Docs for multiple projects with private GitHub repositories and facing issues with intersphinx configuration. My goal is to enable intersphinx references across these projects, each having its own style and user permissions.
Current Setup:
- Private GitHub repositories.
- Basic Business subscription on Read the Docs.
Issues Encountered:
FileNotFoundErrorfor 'submodules/project-2/build/html/objects.inv'.ValueErrorfor intersphinx inventories due to an 'invalid inventory header' from 'https://readthedocs-hosted.com'.- Intersphinx inventory URL redirection error.
Methods Tried:
- Sphinx's multiproject and intersphinx.
- Subprojects with intersphinx.
- Submodules and intersphinx (also configured as subprojects)
Project Tree:
Main Project
├── .gitmodules
├── .readthedocs.yaml
├── make.bat
├── Makefile
│
├── .vscode
│ └── settings.json
│
├── build
│ ├── doctrees
│ │
│ └── html
│ └── index.html
│
├── source
│ ├── conf.py
│ ├── index.rst
│ ├── requirements.txt
│ └── _static
│
└── submodules
├── subproject 1
│ ├── source
│ │ ├── conf.py
│ │ ├── index.rst
│ │ └── requirements.txt
│ └── build
├── subproject 2
│ ├── ...
│ └── build
└── subproject 3
├── ...
└── build
I would really like to use sphinx.ext.intersphinx
Here is what I have for intersphinx_mapping:
intersphinx_mapping = {
'project-1': (
'https://readthedocs-hosted.com/projects/project1/en/latest',
'/submodules/project-1/build/html/objects.inv'
),
'project-2': (
'https://readthedocs-hosted.com/projects/project2/en/latest',
'/submodules/project-2/build/html/objects.inv'
),
'project-3': (
'https://readthedocs-hosted.com/projects/project3/en/latest',
'/submodules/project-3'/build/html/objects.inv'
)
Other Info:
I Added the public SSH key from the Read the Docs project to the main repository and each of its submodules.
I am using one GitHub account as a MachineUser, to give RTD access to each private repository.
submodules are nested within the source.
I get this from the Read the Docs printout:
- WARNING: html_static_path entry '_static' does not exist
- loading intersphinx inventory from (does so for each submodule)
Some of the intersphinx references work for project-1 and project-2, but not all. It won't find a lot of labels or references in either one.
So, why doesn't my intersphinx mapping correctly use the local objects.inv file? Or how can I get RTD to look in the right location?