External Libraries Testing - - — Arduino ESP32 latest documentation (original) (raw)

Arduino ESP32

About

External libraries testing is a compilation test for listed libraries on arduino-esp32 master branch. The test was made for users, so they can check which libraries are compiling without errors on which SoC. External libraries test is running periodically (once a week) against master branch and can also run on PR by adding a label lib_test. The test is running on all supported ESP32 chips.

Note

As the test is just a compilation of example, that does not guarantee that the library/sketch will run without any problems after flashing it on your device.

How to Add Library to Test

To add a library to the CI test you need to add your library to the lib.json. file located in ./github/workflows/.

Note

Please add the libraries to the lib.json in alphabetical order, thanks.

List of parameters:

Where the library will be installed from (use only 1 option):

Required:

Optional:

Example of library addition from Arduino Library Manager with ESP32-S2 excluded:

{ "name": "ArduinoBLE", "exclude_targets": [ "esp32s2" ], "sketch_path": [ "~/Arduino/libraries/ArduinoBLE/examples/Central/Scan/Scan.ino" ] }

Example of library addition from Github URL with required library:

{ "source-url": "https://github.com/me-no-dev/ESPAsyncWebServer.git", "required-libs": [ {"source-url": "https://github.com/me-no-dev/AsyncTCP.git"} ], "exclude_targets": [], "sketch_path": [ "/Arduino/libraries/ESPAsyncWebServer/examples/CaptivePortal/CaptivePortal.ino", "/Arduino/libraries/ESPAsyncWebServer/examples/ESP_AsyncFSBrowser/ESP_AsyncFSBrowser.ino", "/Arduino/libraries/ESPAsyncWebServer/examples/regex_patterns/regex_patterns.ino", "/Arduino/libraries/ESPAsyncWebServer/examples/simple_server/simple_server.ino" ] },

Submit a PR

Test Results

Icons meaning

There is a number before each icon, which means the number of examples which were compiled with that result.

Scheduled test result

You can check the results in LIBRARIES_TEST.md.

The results file example:

_images/external_library_test_schedule.png

Pull Request test result

If the test run on Pull Request, it will compile all libraries and sketches 2 times (before/after changes in PR) to see, if the PR is breaking/fixing libraries. In the table the results are in order BEFORE -> AFTER.

_images/external_library_test_pr.png