This uses a step output from the test job to set the build matrix
for the board build jobs. The built boards depends on which files
were changed.
* Changes contained within ports/*/boards/ will build each board.
* Changes contained within ports/* will build all boards from the
port.
* All other file changes will build all boards.
All boards will be build for pushes in `adafruit/circuitpython` as
well.
A side-effect is that we no longer need to explicitly list the
boards to build. It will automatically update as new folders are
added.
Related to #4009
this is only tested to come up to the REPL & mount CIRCUITPY. Pin
assignments should be right but were not double-checked. The screen
is unsupported so far.
This board depends on the I/O pull ups for the I2C bus (verified by
schematic) so this adds a compile time option that enables pull ups
for ANY i2c bus on a board.
Coverage calculated by Codecov has the same reliability/deterministic
issues as Coveralls did, so the problem is likely to do with the output of
lcov/gcov, rather than the analysis and display of the data.
Switch from lcov to gcov for data generation to try and simplify this
process of computing coverage.
Signed-off-by: Damien George <damien@micropython.org>
As discussed in #7455, Coveralls doesn't work properly anymore, it has
many spurious errors with reduced coverage.
Signed-off-by: Damien George <damien@micropython.org>
nRF CircuitPython boards will now provide the file transfer
service defined here: https://github.com/adafruit/Adafruit_CircuitPython_BLE_File_Transfer
USB capable boards will only advertise if previously bonded to a
device or if the reset button is pressed during the fast blue
flashes on start up. When pressed, the board will restart again but
the blue period will not flash.
Boards without USB will always advertise.
When previously bonded, the advertisement is private so that no
other peers can connect. If advertising publicly, the tx power is
lowered to reduce the likelihood of bonding from a distance.
This PR also fixes issues with loading identities of bonded peers
so that our address can now be resolved and we can resolve others'
addresses when scanning.
* so that excess files are not included in sdist, perform build down
in circuitpython-stubs
* This means we need to
* Remove the need-pypi check
* Copy a setup.py, README, and MANIFEST.in into the stubs build location
* Revamp how the overall `mypy --strict` check lists its inputs
* Add a new test that actually installing the stubs lets us do type
checking (tools/test-stubs.sh)
* Add a missing return type to a __init__ function (why was this not
an error under `mypy --strict`, I wonder)
.. this board is nearly the same as the "1.2" version originally
released, but makes a few changes to reduce pin conflicts between the 13-pin
camera header and the bootstrapping pins. "1.3" was introduced in summer
2020-- check the bottom of your board silk to find out whether you have a 1.2
or a 1.3, because it's not clear whether there is remaining 1.2 stock.
Another vexing fact about the 1.3 is that its LCD can have one of two
chipets, and the chipset used is not marked anywhere!
Following on from ef16834887, this adds a
coverage build and running of the test suite on an ARM 32-bit Linux-based
architecture.
Signed-off-by: Damien George <damien@micropython.org>
This configuration is used by @ladyada and more often than it should
we've discovered late that a change introduced problems building
there.
By adding this to regular CI, hopefully we learn about and fix these
issues sooner rather than later.
This adds a coverage build and running of the test suite on a MIPS 32-bit
big endian architecture. It uses the feature of qemu to execute foreign
code as though it were native to the system (using qemu user mode). The
code compiled for MIPS will run under the qemu VM, but all syscalls made by
this code go to the host (Linux) system.
See related #7268 and #7273.
Signed-off-by: Damien George <damien@micropython.org>
Added board definition for the Sparkfun MicroMod RP2040.
Mostly followed the format for pins from the MicroMod nRF52840 board
definition, as MicroMod tries to standardize pins across
microcontrollers.
This update to the PR retains the earlier board rev (with a rename) so
that backward binary compatibility is not lost for the earlier board
revision. The primary name 'vina-d51' is retained for the latest
revision to make it easy for customers to select the proper UF2
download - because the name matches the commercial name.
Details:
Replace bdmicro_vina_d51 with bdmicro_vina_d51_pcb7 (revision 7 of
PCB) with boardfiles unmodified. Add _pcb7 to the workflow build.
Replace bdmicro_vina_d51 boardfile content with latest PCB updates
(revision 10 ov PCB). Add minimal comments in the board files to make
it clear which PCB revision is implemented. Update the USB PID to
reflect an updated board revision.
Multiple times it has occurred that people left this line in a PR by mistake. it makes it look like they failed to include some useful information, but really is just a misunderstanding. Delete the text to reduce the chance of misunderstanding.
Print Failure Info is for printing differences detected by 'Test all'. When some other step fails, then "*.exp" doesn't match any files at all, and _this_ step fails too.
We will assume that Github Actions always runs with bash as the shell (as it does today). In this case, we can set the "nullglob" shell option, so that a non-existent glob expands to nothing, instead of to itself.