Skip to content

v0.7.1

Choose a tag to compare

@github-actions github-actions released this 05 Sep 15:44
· 25 commits to main since this release
e9cdf5d

Added

  • no-user-c-modules = true builds a stock, unmodified upstream MicroPython
    through the usermod path — no USER_C_MODULES, nothing of a consumer's own in
    the result.
    Mutually exclusive with user-c-modules (a load-time error, not
    a precedence rule); the empty USER_C_MODULES= this resolves to is a verified
    no-op on both build systems this project drives, confirmed live against a real
    v1.29.0 checkout — a stock unix binary correctly raising ImportError for
    a module never linked in, and the same binary succeeding once one is. Surfaced
    and fixed a real bug along the way: every per-port mount helper built
    Path(opts.user_c_modules) unconditionally, and an empty value is Path(".")
    — a relative path docker run -v rejects outright, not merely an
    unnecessary over-mount. [0056].
  • examples/bare-firmware, a real CI-built demonstration with no natmod/,
    no usermod/, no src/ — just a cibuildmp.toml naming one Make-driven
    target (unix x86_64) and one CMake-driven one (rp2 RPI_PICO), the two
    build-system shapes no-user-c-modules has to no-op on cleanly.
    build-examples.yml's new build-bare-firmware job activates the flag
    through CIBMP_NO_USER_C_MODULES rather than the TOML key, doubling as a live
    demonstration of the environment-variable form. README.md gets its own
    "Building stock upstream firmware" section for it — framed as a real
    capability (a cross-toolchain/board regression check with no C module
    needed), useful to this project's own consumers but arguably more useful to
    MicroPython's own maintainers.

Changed

  • "List built artifacts" CI steps use tree -a instead of ls -laR, across
    build-examples.yml, test-upstream-natmod.yml, test-upstream-usermodule.yml
    and verify-lv-binding-micropython.yml — more readable output for the same
    recursive listing; tree is already an apt package on the ubuntu-24.04
    runner image both ubuntu-latest and ubuntu-24.04-arm use.

Removed

  • CIBMP_SCRATCH_PATH. Every usermod port has built through its own
    Container/overlay since 0.6.x (record 0095), so the directory this
    variable named was never mounted or read by anything — setting it created a
    real host directory nothing wrote to. Record 0095's own addendum had flagged
    this as a live no-op and left "delete, repurpose, or keep as a no-op knob" as
    an open question; deleting it won. orchestrate._resolved_build_dir() now
    returns a fixed, container-internal path with no host directory, no env
    override and no cleanup to manage.