* CI: Bump various build workflow versions.
* CI: Continue other jobs on failure.
Give a more complete overview of failures, rather than forcing the developer to play whack-a-mole.
* CI: Do not modify unix mpconfigport.h.
Since `MICROPY_PY_UHASHLIB` does not occur in unix/mpconfigport.h this would have simply
duplicated the config file and supplied it as `MP_CONFIGFILE` triggering a bug in how this
define is handled.
* Properly register submodules of ulab
This is related to
* https://github.com/adafruit/circuitpython/issues/6066
in which, after the merge of 1.18 into CircuitPython, we lost the ability
to import submodules of built-in modules.
While reconstructing the changes we had made locally to enable this,
I discovered that there was an easier way: simply register the dotted
module names via MP_REGISTER_MODULE.
* Fix finding processor count when no `python` executable is installed
debian likes to install only `python3`, and not `python` (which was,
for many decades, python2).
This was previously done for `build.sh` but not for `build-cp.sh`.
* Only use this submodule feature in CircuitPython
.. as it does not work properly in MicroPython.
Also, modules to be const. This saves a small amount of RAM
* Fix -Werror=undef diagnostic
Most CircuitPython ports build with -Werror=undef, so that use of an
undefined preprocessor flag is an error. Also, CircuitPython's micropython
version is old enough that MICROPY_VERSION is not (ever) defined.
Defensively check for this macro being defined, and use the older style
of MP_REGISTER_MODULE when it is not.
* Fix -Werror=discarded-qualifiers diagnostics
Most CircuitPython ports build with -Werror=discarded-qualifiers.
This detected a problem where string constants were passed to functions
with non-constant parameter types.
* bump version number
* Use MicroPython-compatible registration of submodules
* straggler
* Remove spurious casts
these were build errors for micropython
* Run tests for both nanbox and regular variant during CI
This is modified to better suit our needs, and because micropython
changes in the meantime were troublesome.
Expected outputs can be generated:
./run-tests -d tests --write-exp
Remove any incorrect .exp files before running as they won't be updated
otherwise.