esp-hal icon indicating copy to clipboard operation
esp-hal copied to clipboard

Add self-hosted runners and HIL tests for all supported devices

Open jessebraham opened this issue 1 year ago • 8 comments

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

jessebraham avatar Mar 21 '24 22:03 jessebraham

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.

jessebraham avatar Apr 03 '24 18:04 jessebraham

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.

SergioGasquez avatar Apr 04 '24 06:04 SergioGasquez

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:

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.

SergioGasquez avatar Apr 16 '24 13:04 SergioGasquez

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

SergioGasquez avatar Apr 17 '24 12:04 SergioGasquez

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

SergioGasquez avatar Apr 19 '24 08:04 SergioGasquez

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.

jessebraham avatar May 02 '24 16:05 jessebraham

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)

SergioGasquez avatar May 02 '24 16:05 SergioGasquez

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

SergioGasquez avatar Jun 28 '24 14:06 SergioGasquez

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

SergioGasquez avatar Sep 06 '24 09:09 SergioGasquez