From 2600a42d35a512281b9e7d84c6111b5aaa78ac8f Mon Sep 17 00:00:00 2001 From: Miguel Angel Ajo Pelayo Date: Wed, 15 Apr 2026 11:38:51 +0200 Subject: [PATCH 1/2] docs: list Renode driver and drop broken ADR link Include jumpstarter-driver-renode in the drivers reference index and hidden toctree so Sphinx no longer warns that renode.md is orphaned. Remove the Design Decisions link to the old ADR path from the Renode README (also published via the renode.md symlink) to avoid myst cross-reference failures until a stable internal doc link exists. Made-with: Cursor --- python/docs/source/reference/package-apis/drivers/index.md | 2 ++ python/packages/jumpstarter-driver-renode/README.md | 3 --- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/python/docs/source/reference/package-apis/drivers/index.md b/python/docs/source/reference/package-apis/drivers/index.md index fab9c2f02..8fafb8a4a 100644 --- a/python/docs/source/reference/package-apis/drivers/index.md +++ b/python/docs/source/reference/package-apis/drivers/index.md @@ -98,6 +98,7 @@ Drivers for debugging and programming devices: * **[Android Emulator](androidemulator.md)** (`jumpstarter-driver-androidemulator`) - Android emulator lifecycle management with ADB tunneling * **[QEMU](qemu.md)** (`jumpstarter-driver-qemu`) - QEMU virtualization platform +* **[Renode](renode.md)** (`jumpstarter-driver-renode`) - Renode embedded systems emulation * **[Corellium](corellium.md)** (`jumpstarter-driver-corellium`) - Corellium virtualization platform * **[U-Boot](uboot.md)** (`jumpstarter-driver-uboot`) - Universal Bootloader @@ -136,6 +137,7 @@ power.md probe-rs.md pyserial.md qemu.md +renode.md gpiod.md ridesx.md sdwire.md diff --git a/python/packages/jumpstarter-driver-renode/README.md b/python/packages/jumpstarter-driver-renode/README.md index 3d20bb8a9..fe2430c15 100644 --- a/python/packages/jumpstarter-driver-renode/README.md +++ b/python/packages/jumpstarter-driver-renode/README.md @@ -112,9 +112,6 @@ The `monitor` CLI subcommand is also available inside a `jmp shell` session. ## Design Decisions -The architectural choices for this driver are documented in -[ADR-0001: Renode Integration Approach](../../docs/source/contributing/adr/0001-renode-integration.md). - Key decisions: - **Control interface**: Telnet monitor via `anyio.connect_tcp` (no From 505f24369a47e9d2358bbe8494896569ebfa5655 Mon Sep 17 00:00:00 2001 From: Miguel Angel Ajo Pelayo Date: Wed, 15 Apr 2026 11:44:05 +0200 Subject: [PATCH 2/2] ci: install Renode on macOS only when Renode driver changes Add a paths-filter rule for jumpstarter-driver-renode and gate the slow Homebrew install on that output (or workflow_dispatch for full manual runs). Linux keeps the fast .deb install for every matrix job. Made-with: Cursor --- .github/workflows/python-tests.yaml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/python-tests.yaml b/.github/workflows/python-tests.yaml index 33f4f5412..ccb77d6d6 100644 --- a/.github/workflows/python-tests.yaml +++ b/.github/workflows/python-tests.yaml @@ -19,6 +19,7 @@ jobs: runs-on: ubuntu-latest outputs: should_run: ${{ steps.filter.outputs.python }} + renode_driver: ${{ steps.filter.outputs.renode_driver }} steps: - uses: actions/checkout@v4 with: @@ -31,6 +32,8 @@ jobs: python: - 'python/**' - '.github/workflows/python-tests.yaml' + renode_driver: + - 'python/packages/jumpstarter-driver-renode/**' pytest-matrix: needs: changes @@ -84,8 +87,14 @@ jobs: run: | brew install qemu + # Homebrew Renode is slow (~5+ minutes per job). Install on macOS only when this run + # touches the Renode driver, or on workflow_dispatch (full manual run). Linux still + # installs Renode from the .deb in all jobs (fast). - name: Install Renode (macOS) - if: runner.os == 'macOS' + if: >- + runner.os == 'macOS' + && (needs.changes.outputs.renode_driver == 'true' + || github.event_name == 'workflow_dispatch') run: | brew install renode/tap/renode