From d250abcd208ebd9b67fe705d7536739aa69a00e9 Mon Sep 17 00:00:00 2001 From: Brad Barnett <127794626+bdbarnett@users.noreply.github.com> Date: Mon, 19 Oct 2026 14:22:50 -0500 Subject: [PATCH] cloud-workspace-install: stop cloning the four archived module repos; check the port matrix inside micropython-pydevices --- AGENTS.md | 2 +- scripts/cloud-workspace-install.sh | 21 +++++++++------------ 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 75f6ea2..1767d6f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -54,7 +54,7 @@ handing work from Cursor desktop to Cloud Agents. ├── micropython a clone at the tag micropython-pydevices pins, the patch series applied ├── circuitpython a clone at the pinned CircuitPython tag ├── micropython-pydevices -> /agent/repos/micropython-pydevices - ├── audiodsp, displayif, pygraphics, lvgl-* ... -> /agent/repos/ + ├── audiodsp, pygraphics, lvgl-* ... -> /agent/repos/ (displayif, audioif, cameraif and usbhost are in micropython-pydevices/modules/) ├── dotgithub -> /agent/repos/.github (this repo) ├── pydevices -> /agent/repos/pydevices ├── mpftp -> /agent/repos/mpftp diff --git a/scripts/cloud-workspace-install.sh b/scripts/cloud-workspace-install.sh index b319e1c..8281bab 100755 --- a/scripts/cloud-workspace-install.sh +++ b/scripts/cloud-workspace-install.sh @@ -17,10 +17,6 @@ ORG="${PYDEVICES_GITHUB_ORG:-PyDevices}" SIBLINGS=( micropython-pydevices audiodsp - audioif - usbif - cameraif - displayif pygraphics lvgl-bindings lvgl-circuitpython @@ -192,14 +188,14 @@ ensure_lv_cpython_lvgl_symlink() { verify_ready() { local name missing=0 - for name in micropython-pydevices audiodsp displayif pygraphics lvgl-bindings pydevices pydevices-examples palettes pdwidgets; do + for name in micropython-pydevices audiodsp pygraphics lvgl-bindings pydevices pydevices-examples palettes pdwidgets; do if [[ ! -d "$REPOS/$name/.git" && ! -L "$REPOS/$name" ]]; then log "ERROR: required repo missing: $REPOS/$name" missing=1 fi done - if [[ ! -e "$REPOS/displayif/docs/port-matrix.md" ]]; then - log "ERROR: displayif port matrix doc missing under $REPOS/displayif" + if [[ ! -e "$REPOS/micropython-pydevices/modules/displayif/docs/port-matrix.md" ]]; then + log "ERROR: displayif port matrix doc missing under $REPOS/micropython-pydevices/modules/displayif" missing=1 fi if [[ ! -d "$PD/micropython/.git" ]]; then @@ -232,11 +228,12 @@ link_pydevices pdwidgets "$REPOS/pdwidgets" link_pydevices pydevices-examples "$REPOS/pydevices-examples" link_pydevices android-template "$REPOS/android-template" -# Every module repository is a sibling at the workspace root: that is the -# layout micropython-pydevices' build_mp.py links into its modules/ (anything -# missing, ulab included, it clones at the commit modules.lock pins), and the -# one every build script in the org defaults to. -for s in micropython-pydevices audiodsp audioif usbif cameraif displayif pygraphics \ +# The C modules (displayif, audioif, cameraif, usbhost) live inside +# micropython-pydevices under modules/, so they need no checkout of their own; +# build_mp.py clones anything else it needs (ulab, say) at the commit +# modules.lock pins. The repositories below are siblings at the workspace root, +# the layout every build script in the org defaults to. +for s in micropython-pydevices audiodsp pygraphics \ lvgl-bindings lvgl-circuitpython lvgl-python lvgl-micropython; do [[ -d "$REPOS/$s" || -L "$REPOS/$s" ]] && link_pydevices "$s" "$REPOS/$s" done