Skip to content
This repository was archived by the owner on Jan 23, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions .github/workflows/documentation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,27 @@ jobs:
with:
path: ./docs/build

check-warnings:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true

- name: Install the latest version of uv
uses: astral-sh/setup-uv@v1
with:
version: "latest"
enable-cache: true
cache-dependency-glob: "uv.lock"

- name: Install Python
run: uv python install

- name: Build the documentation for the current version (no warnings allowed)
run: make sync && make docs

# Deployment job
deploy:
environment:
Expand Down
6 changes: 6 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@ PKG_TARGETS = $(subst packages/,,$(wildcard packages/*))

default: build

docs-singlehtml:
uv run --isolated --all-packages --group docs $(MAKE) -C docs singlehtml

docs:
uv run --isolated --all-packages --group docs $(MAKE) -C docs html SPHINXOPTS="-W --keep-going -n"

docs-all:
uv run --isolated --all-packages --group docs $(MAKE) -C docs multiversion

Expand Down
5 changes: 5 additions & 0 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,11 @@

mermaid_version = "10.9.1"

suppress_warnings = [
"ref.class", # suppress unresolved Python class references (external references
# are warnings otherwise)
Copy link
Copy Markdown
Member Author

@mangelajo mangelajo Apr 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had to add this to avoid issues like:

/Users/ajo/work/jumpstarter/packages/jumpstarter-driver-can/jumpstarter_driver_can/client.py:docstring of jumpstarter_driver_can.client.CanClient.protocol:1: WARNING: py:class reference target not found: can.bus.CanProtocol [ref.class]

or 

/Users/ajo/work/jumpstarter/packages/jumpstarter-driver-network/jumpstarter_driver_network/adapters/portforward.py:docstring of jumpstarter_driver_network.adapters.portforward.UnixPortforwardAdapter:1: WARNING: py:class reference target not found: os.PathLike [ref.class]

... 

referencing external code, there is intersphinx, and may be at the future we could consider that, but not enough time now, and also there was the whole mkdocs discussion :)

]

# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output

Expand Down
5 changes: 1 addition & 4 deletions docs/source/introduction/adapters.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,4 @@ Unlike [Drivers](./drivers.md), which establish the foundational connections to

## Types of Adapters

```{include} ../api-reference/adapters/index.md
:start-after: "## Types of Adapters"
:end-before: "```{toctree}"
```
* 📡 [Network](../api-reference/adapters/network.md): Adapters that transform network connections and streams into different protocols or connection types.
18 changes: 12 additions & 6 deletions docs/source/introduction/drivers.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,18 @@ patterns and examples, see the [Driver Classes and Architecture](../api-referenc

Drivers are often used with [Adapters](./adapters.md), which transform driver connections into different forms or interfaces for specific use cases.

## Types of Drivers

```{include} ../api-reference/drivers/index.md
:start-after: "## Types of Drivers"
:end-before: "```{toctree}"
```
## Driver Types

The API reference of the documentation provides a complete list of all drivers,
you can find it here: [Driver API Reference](../api-reference/drivers/index.md).

Some categories of drivers include:
* ⚡ [System Control](../api-reference/drivers/index.md#system-control-drivers): Control power to devices, or general control.
* 📡 [Communication](../api-reference/drivers/index.md#communication-drivers): Provide protocols for network communication, such as TCP/IP, Serial, CAN bus, etc.
* 💾 [Storage And Data](../api-reference/drivers/index.md#storage-and-data-drivers): Control storage devices, such as SD cards or USB drives, and data.
* 📹 [Media](../api-reference/drivers/index.md#media-drivers): Provide interfaces for media capture and playback, such as video or audio.
* 🐞 [Debug and Programming](../api-reference/drivers/index.md#debug-and-programming-drivers): Provide interfaces for debugging and programming devices, such as JTAG or SWD, remote flashing, emulation, etc.
* 🛠️ [Utility](../api-reference/drivers/index.md#utility-drivers): Provide utility functions, such as shell driver commands on a exporter.

### Composite Drivers

Expand Down
4 changes: 0 additions & 4 deletions packages/jumpstarter-driver-corellium/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,6 @@ export:
# device_build: "Critical Application Monitor (Baremetal)"
```

## API Reference

For more examples, check the [examples folder](./examples).

### ExporterConfig Example

You can run an exporter by running: `jmp exporter shell -c $file`:
Expand Down