CICD: failure to upload is reflected in pipeline status.
pio test always returns 0 if run with --without-building and --without-uploading.
This prevents the pipeline from catching upload failures.
On the contrary, pio run -t upload returns a meaningful status code; however it must be
run necessarily with -t nobuild, otherwise Platformio rebuilds the whole project.
Moreover, for pio run -t upload -t nobuild to correctly "accept" the firmware built in
the previous stage, we have to pass the checksum of the project together with the firmware
files.
[skip hw container] [skip examples]
Edited by Pietro Saccardi