From d05fb15820119aa1a84eee95589e07fda7416379 Mon Sep 17 00:00:00 2001 From: Brad Barnett <127794626+bdbarnett@users.noreply.github.com> Date: Fri, 9 Oct 2026 09:05:51 -0500 Subject: [PATCH] CI: build the CircuitPython leg on CircuitPython 11.0.0-alpha.1 as a user C module The CircuitPython leg of the Linux integration workflow, which the release workflow also runs, built against CircuitPython 10.3.0 through lvgl-circuitpython's patch script, so nothing gated the bindings on CircuitPython 11. It now checks out 11.0.0-alpha.1 and lvgl-circuitpython 46686eb, and hands lvgl-circuitpython to the unix port's make as USER_C_MODULES, the way lvgl-circuitpython's README builds it. --- .github/workflows/linux-integration.yml | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/.github/workflows/linux-integration.yml b/.github/workflows/linux-integration.yml index 54f3297..2d1821d 100644 --- a/.github/workflows/linux-integration.yml +++ b/.github/workflows/linux-integration.yml @@ -24,8 +24,8 @@ permissions: # The consumers are built the way a person builds them: the bindings, the # consumer repository and an upstream checkout as siblings, then upstream's # own make. MicroPython takes the consumer's manifest (its c_module() line -# names the usermod); CircuitPython takes the consumer's apply script, which -# copies its shared-bindings/shared-module into the tree. No aggregator. +# names the usermod); CircuitPython 11 takes the consumer directory as a user C +# module (USER_C_MODULES), with no patches to its tree. No aggregator. jobs: embedded-unix: name: ${{ matrix.runtime }} Unix build and smoke @@ -64,15 +64,15 @@ jobs: uses: actions/checkout@v7 with: repository: PyDevices/lvgl-circuitpython - ref: d1bd6defdaef5856827051be69bf453ad8f46013 + ref: 46686eba5dba179c269a2acde5cf569412171cae path: integration/lvgl-circuitpython - - name: Check out CircuitPython 10.3.0 + - name: Check out CircuitPython 11.0.0-alpha.1 if: matrix.runtime == 'circuitpython' uses: actions/checkout@v7 with: repository: adafruit/circuitpython - ref: 10.3.0 + ref: 11.0.0-alpha.1 path: integration/circuitpython - name: Install native build dependencies @@ -115,17 +115,16 @@ jobs: python -m pip install -r requirements-dev.txt python tools/ci_fetch_deps.py tests + # The consumer's micropython.mk finds the bindings under test as its + # sibling, and refuses them unless they match LVGL_BINDINGS_COMMIT, + # which the step above set to this checkout. - name: Build CircuitPython Unix if: matrix.runtime == 'circuitpython' working-directory: integration - env: - CP_DIR: ${{ github.workspace }}/integration/circuitpython - WORKSPACE_DIR: ${{ github.workspace }}/integration run: | - ./lvgl-circuitpython/apply_cp_patches.sh --apply --port unix --variant coverage make -C circuitpython/mpy-cross -j"$(nproc)" - make -C circuitpython/ports/unix VARIANT=coverage submodules make -C circuitpython/ports/unix -j"$(nproc)" VARIANT=coverage \ + USER_C_MODULES="$GITHUB_WORKSPACE/integration/lvgl-circuitpython" \ FROZEN_MANIFEST="$GITHUB_WORKSPACE/integration/lvgl-circuitpython/manifest.py" - name: Smoke CircuitPython Unix