Skip to content

Commit 47f98fe

Browse files
robtaylorclaude
andcommitted
Disable AutoAPI generation due to CI import issues
AutoAPI is encountering "Unable to read file" warnings for all modules in the CI environment, preventing documentation from building. The root cause appears to be related to module import resolution in CI that does not occur locally. Adds manual API documentation using sphinx.ext.autodoc directives to ensure comprehensive API coverage. Changes: - Set autoapi_generate_api_docs = False in docs/conf.py - Removed duplicate ../chipflow_lib/platforms from autoapi_dirs - Removed all autoapi references from documentation files - Documentation now relies on manual API documentation in platform-api.rst - Add api to docs/platform-api.rst - Organized API docs by category: Platforms, Build Steps, IO Signatures, IO Configuration, Utilities, and Constants Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 89208ac commit 47f98fe

File tree

6 files changed

+188
-28
lines changed

6 files changed

+188
-28
lines changed

docs/architecture.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ When you run ``chipflow pin lock``:
116116
117117
The ``pins.lock`` file maps abstract interface names to concrete package pin locations:
118118

119-
.. code-block:: json
119+
.. code-block:: javascript
120120
121121
{
122122
"uart.tx": {"pin": "42", "loc": "A12"},
@@ -270,7 +270,7 @@ The annotation system is central to how ChipFlow propagates metadata:
270270

271271
Pydantic TypeAdapter generates JSON schema from TypedDict:
272272

273-
.. code-block:: json
273+
.. code-block:: javascript
274274
275275
{
276276
"$schema": "https://json-schema.org/draft/2020-12/schema",

docs/conf.py

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
'sphinx.ext.duration',
3434
'sphinx.ext.intersphinx',
3535
'sphinx.ext.napoleon',
36-
'autoapi.extension',
36+
# 'autoapi.extension', # Temporarily disabled due to CI import issues
3737
'sphinxcontrib.autoprogram',
3838
'sphinxcontrib.autodoc_pydantic',
3939
'sphinx_design',
@@ -55,24 +55,37 @@
5555

5656
autodoc_typehints = 'description'
5757

58-
autoapi_dirs = [
59-
"../chipflow_lib/platforms",
60-
"../chipflow_lib",
61-
]
62-
autoapi_generate_api_docs = True
63-
autoapi_template_dir = "_templates/autoapi"
64-
# autoapi_verbose_visibility = 2
65-
autoapi_keep_files = True
66-
autoapi_options = [
67-
'members',
68-
'show-inheritance',
69-
'show-module-summary',
70-
'imported-members',
71-
]
72-
73-
# Exclude autoapi templates and in-progress stuff
58+
# AutoAPI configuration - temporarily disabled due to CI import issues
59+
#
60+
# AutoAPI is encountering "Unable to read file" errors for ALL Python modules
61+
# in the CI environment, preventing it from generating any API documentation.
62+
# This appears to be related to import-time issues during the refactoring work.
63+
#
64+
# Root cause investigation needed:
65+
# - Possible circular imports preventing module loading
66+
# - Import-time side effects that fail in CI but not locally
67+
# - Python path or module resolution differences in CI
68+
#
69+
# Workaround: Using manual sphinx.ext.autodoc directives in platform-api.rst
70+
# TODO: Re-enable AutoAPI once import issues are resolved
71+
#
72+
# autoapi_dirs = [
73+
# "../chipflow_lib",
74+
# ]
75+
# autoapi_generate_api_docs = False
76+
# autoapi_template_dir = "_templates/autoapi"
77+
# # autoapi_verbose_visibility = 2
78+
# autoapi_keep_files = True
79+
# autoapi_options = [
80+
# 'members',
81+
# 'show-inheritance',
82+
# 'show-module-summary',
83+
# 'imported-members',
84+
# ]
85+
86+
# Exclude in-progress stuff and template files
7487
exclude_patterns = [
75-
autoapi_template_dir,
88+
"_templates", # Exclude template files from being read as RST
7689
"unfinished",
7790
]
7891

docs/contributor-pin-signature-internals.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -779,4 +779,3 @@ See Also
779779
--------
780780

781781
- :doc:`using-pin-signatures` - User-facing guide for using pin signatures
782-
- :doc:`autoapi/chipflow_lib/platform/index` - Full platform API reference

docs/index.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ It is developed at https://github.com/chipFlow/chipflow-lib/ and licensed `BSD 2
1515
chipflow-toml-guide
1616
chipflow-commands
1717
using-pin-signatures
18-
API Reference <autoapi/index>
1918
platform-api
2019

2120
.. toctree::

docs/platform-api.rst

Lines changed: 155 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,165 @@ Platform API Reference
33

44
This page documents the complete public API of the ``chipflow_lib.platform`` module.
55

6-
For auto-generated documentation, see :doc:`autoapi/chipflow_lib/platform/index`.
6+
All symbols listed here are re-exported from submodules for convenience and can be imported directly from ``chipflow_lib.platform``.
77

8-
Re-exported Symbols
9-
-------------------
10-
11-
The following symbols are re-exported from submodules for convenience:
8+
Platforms
9+
---------
1210

1311
.. autoclass:: chipflow_lib.platform.sim.SimPlatform
1412
:members:
1513
:undoc-members:
14+
:show-inheritance:
15+
16+
.. autoclass:: chipflow_lib.platform.silicon.SiliconPlatform
17+
:members:
18+
:undoc-members:
19+
:show-inheritance:
20+
21+
.. autoclass:: chipflow_lib.platform.silicon.SiliconPlatformPort
22+
:members:
23+
:undoc-members:
24+
:show-inheritance:
25+
26+
.. autoclass:: chipflow_lib.platform.software.SoftwarePlatform
27+
:members:
28+
:undoc-members:
29+
:show-inheritance:
30+
31+
Build Steps
32+
-----------
33+
34+
.. autoclass:: chipflow_lib.platform.base.StepBase
35+
:members:
36+
:undoc-members:
37+
:show-inheritance:
38+
39+
.. autoclass:: chipflow_lib.platform.sim_step.SimStep
40+
:members:
41+
:undoc-members:
42+
:show-inheritance:
43+
44+
.. autoclass:: chipflow_lib.platform.silicon_step.SiliconStep
45+
:members:
46+
:undoc-members:
47+
:show-inheritance:
48+
49+
.. autoclass:: chipflow_lib.platform.software_step.SoftwareStep
50+
:members:
51+
:undoc-members:
52+
:show-inheritance:
53+
54+
.. autoclass:: chipflow_lib.platform.board_step.BoardStep
55+
:members:
56+
:undoc-members:
57+
:show-inheritance:
58+
59+
IO Signatures
60+
-------------
61+
62+
Base IO Signatures
63+
~~~~~~~~~~~~~~~~~~
64+
65+
.. autoclass:: chipflow_lib.platform.io.iosignature.IOSignature
66+
:members:
67+
:undoc-members:
68+
:show-inheritance:
69+
70+
.. autoclass:: chipflow_lib.platform.io.iosignature.OutputIOSignature
71+
:members:
72+
:undoc-members:
73+
:show-inheritance:
74+
75+
.. autoclass:: chipflow_lib.platform.io.iosignature.InputIOSignature
76+
:members:
77+
:undoc-members:
78+
:show-inheritance:
79+
80+
.. autoclass:: chipflow_lib.platform.io.iosignature.BidirIOSignature
81+
:members:
82+
:undoc-members:
83+
:show-inheritance:
84+
85+
Protocol-Specific Signatures
86+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
87+
88+
.. autoclass:: chipflow_lib.platform.io.signatures.UARTSignature
89+
:members:
90+
:undoc-members:
91+
:show-inheritance:
92+
93+
.. autoclass:: chipflow_lib.platform.io.signatures.GPIOSignature
94+
:members:
95+
:undoc-members:
96+
:show-inheritance:
97+
98+
.. autoclass:: chipflow_lib.platform.io.signatures.SPISignature
99+
:members:
100+
:undoc-members:
101+
:show-inheritance:
102+
103+
.. autoclass:: chipflow_lib.platform.io.signatures.I2CSignature
104+
:members:
105+
:undoc-members:
106+
:show-inheritance:
107+
108+
.. autoclass:: chipflow_lib.platform.io.signatures.QSPIFlashSignature
109+
:members:
110+
:undoc-members:
111+
:show-inheritance:
112+
113+
.. autoclass:: chipflow_lib.platform.io.signatures.JTAGSignature
114+
:members:
115+
:undoc-members:
116+
:show-inheritance:
117+
118+
Software Integration
119+
~~~~~~~~~~~~~~~~~~~~
120+
121+
.. autoclass:: chipflow_lib.platform.io.signatures.SoftwareDriverSignature
122+
:members:
123+
:undoc-members:
124+
:show-inheritance:
125+
126+
.. autoclass:: chipflow_lib.platform.io.signatures.SoftwareBuild
127+
:members:
128+
:undoc-members:
129+
:show-inheritance:
16130

17131
.. autofunction:: chipflow_lib.platform.io.signatures.attach_data
132+
133+
IO Configuration
134+
----------------
135+
136+
.. autoclass:: chipflow_lib.platform.io.iosignature.IOModel
137+
:members:
138+
:undoc-members:
139+
140+
.. autoclass:: chipflow_lib.platform.io.iosignature.IOModelOptions
141+
:members:
142+
:undoc-members:
143+
144+
.. autoclass:: chipflow_lib.platform.io.iosignature.IOTripPoint
145+
:members:
146+
:undoc-members:
147+
:show-inheritance:
148+
149+
.. autoclass:: chipflow_lib.platform.io.sky130.Sky130DriveMode
150+
:members:
151+
:undoc-members:
152+
:show-inheritance:
153+
154+
Utility Functions
155+
-----------------
156+
157+
.. autofunction:: chipflow_lib.platform.base.setup_amaranth_tools
158+
159+
.. autofunction:: chipflow_lib.platform.utils.top_components
160+
161+
.. autofunction:: chipflow_lib.platform.utils.get_software_builds
162+
163+
Constants
164+
---------
165+
166+
.. autodata:: chipflow_lib.platform.io.iosignature.IO_ANNOTATION_SCHEMA
167+
:annotation:

docs/using-pin-signatures.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,5 +399,4 @@ See Also
399399
--------
400400

401401
- :doc:`chipflow-toml-guide` - Configuring your ChipFlow project
402-
- :doc:`autoapi/chipflow_lib/platform/index` - Platform API reference
403402
- :doc:`platform-api` - Complete platform API including SimPlatform and attach_data

0 commit comments

Comments
 (0)