brianpugh/Build MicroPython Native Module

Setup toolchains and build .mpy native modules for all supported architectures

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
architectureTarget architecture: x86, x64, armv6m, armv7m, armv7emsp, armv7emdp, xtensa, xtensawin, rv32imc, or "all" (default)noall
mpy-versionMPY subversion(s) to build - single value, comma-separated list, or "all". Valid: 6.3, 6.2, 6.1, 6, 5. Default: 6.3no""
micropython-versionAdvanced: Override MicroPython version directly instead of using mpy-version. Accepts release versions (v1.25.0), or a git branch/commit SHA (which requires mpy-version to declare the resulting MPY subversion). Release versions are mutually exclusive with mpy-version.no""
source-dirDirectory containing the native module source code and Makefileno.
output-nameBase name for the output .mpy file (without extension). If not specified, detected from Makefile MOD variable.no""
make-targetMake target to build (default: empty, uses default target)no""
make-argsAdditional arguments to pass to make (e.g., "DEBUG=1")no""
mpy-cross-argsAdditional arguments to pass to mpy-cross (e.g., "-march-flags=zba" for rv32imc)no""
static-const-workaroundApply "static const" -> "const" workaround for ESP32 and other platforms (see micropython#14429)nofalse
static-const-workaround-patternsGlob patterns for files to apply static const workaround (comma-separated)no**/*.c,**/*.h
cache-toolchainsEnable caching for slow toolchain builds (xtensa, xtensawin)notrue
esp-idf-versionESP-IDF version for xtensawin buildsnov5.0.6
esp-open-sdk-repoRepository for esp-open-sdk (xtensa builds)nohttps://github.com/BrianPugh/esp-open-sdk.git
esp-open-sdk-branchBranch for esp-open-sdknofix-ubuntu-21.10-build
parallel-buildsNumber of parallel builds (0 = sequential, 1-9 = max concurrent builds). Recommended: 2-4 for GitHub runners.no4
micropython-repoMicroPython repository URL (useful for testing with forks)nohttps://github.com/micropython/micropython
namedescription
mpy-filePath to the built .mpy file (single arch) or output directory (all archs)
mpy-filesJSON array of all built .mpy file paths
output-dirDirectory containing all built .mpy files
mpy-dirPath to the MicroPython directory (MPY_DIR environment variable)
architectureThe architecture input that was provided
architecturesJSON array of architectures that were successfully built
mpy-versionsJSON array of MPY subversions that were successfully built
micropython-versionsJSON array of MicroPython versions that were used for building
toolchain-cache-hitWhether the toolchain cache was hit (true/false, for xtensa/xtensawin)