Add self-hosted runners and HIL tests for all supported devices
Currently we have HIL tests running on some devices and not others. Obviously, we would eventually like to have full coverage. For various reasons this is not possible at this specific point in time, but we'll get there.
- [ ] ESP32
- [x] ESP32-C2
- [x] ESP32-C3
- [x] ESP32-C6
- [x] ESP32-H2
- [x] ESP32-S2
- [x] ESP32-S3
Work is underway on adding a runner for the ESP32-S3, however we're having some strange issues with that unfortunately, so it will likely be delayed.
Next, @SergioGasquez will work on getting a runner set up for the ESP32-C2.
Next, @SergioGasquez will work on getting a runner set up for the ESP32-C2.
We won't be able to make changes in our lab, hence we won't be able to set up the ESP32-C2 or fix the ESP32-S3 runners until the week starting by March 15. The reason is that the lab manager will take some vacations, and he'll attend embedded world.
When adding the new targets, we may need to modify the pins that are currently being used or add some cfgs to use different pins based on the target.
Currently, installed devkits:
- ESP32-C3-DevKit-RUST-1 Pinout
- Available GPIOs: 0, 1, 2, 3, 4, 5, 6, 7, 8, 18, 19, 20, 21
- ESP32-C6-DevKitC-1 Pinout
- Available GPIOs: 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 23
- ESP32-H2-DevKitM-1Pinout
- Available GPIOs: 0, 1, 2, 3, 4, 5, 10, 11, 12, 13, 14, 22, 23, 24, 25, 26, 27
- ESP32-S3-DevKitC-1 Pinout
- Available GPIOs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 47, 48
Missing devkits:
- ESP32-DevKitC Pinout
- JTAG Pins: 12, 13, 14, 15
- Available GPIOs: 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 32, 33, 34, 35, 36, 39
- ESP8684-DevKitM-1 Pinout
- JTAG Pins: 4, 5, 6, 7
- Available GPIOs: 0, 1, 2, 3, 9, 10, 18, 20
- ESP32-S2-DevkitC-1 Pinout
- JTAG Pins: 39, 40, 41, 42
- Available GPIOs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 33, 34, 35, 37, 38, 43, 44
Available GPIOs ignore JTAG (if being used) and strapping pins. The following pins are available for all those devkits: 2, 3 Pins that are available in most of the devkits:
- GPIO 5 is availale in all but ESP32
- GPIO 6, 7 and 8 are available in all but H2 and C2
- GPIO 18 is available in all but H2.
Did a round of local testing and here are the status udpate for all the targets:
- ESP32 fails with https://github.com/probe-rs/probe-rs/issues/2354
- C2 fails with some probe-rs errors, see https://github.com/probe-rs/probe-rs/pull/2365 and https://github.com/probe-rs/probe-rs/issues/2310
- C3, C6, H2, S2, S3: All test working locally with https://github.com/SergioGasquez/esp-hal/tree/feat/pin-updates
We are not able to add new targets until we resolve our out-of-memory issues, see https://github.com/esp-rs/esp-hal/pull/1470#issuecomment-2066063950
With #1513 merged we have restored our HIL pipeline to working order (I hope 😁).
Only remaining targets at this point are the ESP32 and ESP32-C2, both are which are in-progress to varying degrees.
Only remaining targets at this point are the ESP32 and ESP32-C2, both are which are in-progress to varying degrees.
ESP32-C2 can run the test suite locally, we will try to set up the self-hosted-runner in the upcoming weeks. As for ESP32, we still need to improve probe-rs as it currently can't flash the tests (https://github.com/probe-rs/probe-rs/issues/2354)
ESP32-C2 HIL tests were just added! we are just missing ESP32, which is blocked due to https://github.com/probe-rs/probe-rs/issues/2354
With https://github.com/esp-rs/esp-hal/pull/1977 merged, all our devices are covered in HIL! There are still a few tests disabled for some targets, see https://github.com/esp-rs/esp-hal/issues/1524