arduino-libraries/Arduino_Pro_Tutorials

Modernize GitHub Actions based CI to latest standard

aentinger opened this issue · 6 comments

Modernize GitHub Actions based CI to latest standard

Hey!
The problem is that some sketches are specifically for the M4 or M7 so I will need to add a list to compile each sketch on the correct core.
If not its going to fail the compile allways

What are the target platforms for those tutorials? I just want to avoid excluding a platform from the CI build process that actually needs to be compiled.

I will need to add a list to compile each sketch on the correct core.

OK, that's definitely important. I have found this to be the most challenging part of setting up "smoke test" sketch compilation CI checks for Arduino's firmware. Without an in depth understanding of the code, it can be difficult to understand whether a compilation failure represents a genuine deficiency in the code, or is only the result of an incorrect workflow configuration causing a sketch to be compiled for a board it was never intended to be compatible with.

@marqdevx if you'll provide the list here, I'm happy to handle the update of the workflow's configuration accordingly, if that would be welcome.

What are the target platforms for those tutorials?

Obviously the only "Pro" platform currently available is Portenta H7 🤦 @marqdevx compiling certain sketches only for M4, others only for M7 and others again for both M4 and M7 is not a problem. If you can provide a list which sketches should be targeted in which way @per1234 can set you up with our modern CI in no time at all 😉

├─── BLE Connectivity on Portenta H7
│ └───PortentaBLE
│ PortentaBLE.ino (M7)

├───Creating a Flash-Optimised Key-Value Store
│ └───FlashKeyValue
│ FlashIAPLimits.h
│ FlashKeyValue.ino (M7)

├───Dual Core Processing
│ ├───BlinkBothCores
│ │ BlinkBothCores.ino (BOTH)
│ │
│ ├───BlinkGreenLed_M4
│ │ BlinkGreenLed_M4.ino (M4)
│ │
│ ├───BlinkRedLed
│ │ BlinkRedLed.ino (M7)
│ │
│ └───BlinkRedLed_M7
│ BlinkRedLed_M7.ino (M7)

├───Portenta H7 as a USB Host
│ └───LEDKeyboardController
│ LEDKeyboardController.ino (M7)

├───Portenta H7 as a WiFi Access Point
│ └───SimpleWebServer
│ arduino_secrets.h
│ SimpleWebServer.ino (M7)

└───Setting Up Portenta H7 For Arduino
│ └───Blink
│ Blink.ino (M7)

Thanks! @per1234 @aentinger
Let me know if I can help somehow! :)