RIOT-OS / applications

Some useful RIOT applications
GNU Lesser General Public License v2.1
41 stars 36 forks source link

.github/workflow : Added compile tests #79

Open akshaim opened 2 years ago

akshaim commented 2 years ago

Added compile tests so that the compilation tests are triggered in the event that the submodule is updated.

akshaim commented 2 years ago

ping @miri64

benpicco commented 2 years ago

How can this be tested / what were the results?

Feel free to squash btw.

MrKevinWeiss commented 2 years ago

We had a small discussion at the summit. Maybe it would be better to use docker rather than a hard coded version of gcc. We could also try to run full build tests either but the make info-boards-supported or with the compile_and_test_for_board.py script.

When I have more time I will investigate.

akshaim commented 2 years ago

@benpicco Here you go. results while doing a dry run in my system using act.

``` *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-1] ๐Ÿš€ Start image=catthehacker/ubuntu:act-latest *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-2] ๐Ÿš€ Start image=catthehacker/ubuntu:act-latest *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-3] ๐Ÿš€ Start image=catthehacker/ubuntu:act-latest *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-2] ๐Ÿณ docker pull image=catthehacker/ubuntu:act-latest platform= username= forcePull=false *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-3] ๐Ÿณ docker pull image=catthehacker/ubuntu:act-latest platform= username= forcePull=false *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-1] ๐Ÿณ docker pull image=catthehacker/ubuntu:act-latest platform= username= forcePull=false *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-2] ๐Ÿณ docker create image=catthehacker/ubuntu:act-latest platform= entrypoint=["/usr/bin/tail" "-f" "/dev/null"] cmd=[] *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-2] ๐Ÿณ docker run image=catthehacker/ubuntu:act-latest platform= entrypoint=["/usr/bin/tail" "-f" "/dev/null"] cmd=[] *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-3] ๐Ÿณ docker create image=catthehacker/ubuntu:act-latest platform= entrypoint=["/usr/bin/tail" "-f" "/dev/null"] cmd=[] *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-3] ๐Ÿณ docker run image=catthehacker/ubuntu:act-latest platform= entrypoint=["/usr/bin/tail" "-f" "/dev/null"] cmd=[] *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-1] ๐Ÿณ docker create image=catthehacker/ubuntu:act-latest platform= entrypoint=["/usr/bin/tail" "-f" "/dev/null"] cmd=[] *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-1] ๐Ÿณ docker run image=catthehacker/ubuntu:act-latest platform= entrypoint=["/usr/bin/tail" "-f" "/dev/null"] cmd=[] *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-2] ๐Ÿงช Matrix: map[applications:sniffer] *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-3] ๐Ÿงช Matrix: map[applications:spectrum-scanner] *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-1] ๐Ÿงช Matrix: map[applications:coap-chat] *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-3] โญ Run Main actions/checkout@v2 *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-1] โญ Run Main actions/checkout@v2 *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-2] โญ Run Main actions/checkout@v2 *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-1] โœ… Success - Main actions/checkout@v2 *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-3] โœ… Success - Main actions/checkout@v2 *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-2] โœ… Success - Main actions/checkout@v2 *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-2] โญ Run Main Pull the latest riotbuild docker image *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-1] โญ Run Main Pull the latest riotbuild docker image *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-3] โญ Run Main Pull the latest riotbuild docker image *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-2] โœ… Success - Main Pull the latest riotbuild docker image *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-1] โœ… Success - Main Pull the latest riotbuild docker image *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-3] โœ… Success - Main Pull the latest riotbuild docker image *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-2] โญ Run Main Run compile tests *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-3] โญ Run Main Run compile tests *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-2] โœ… Success - Main Run compile tests *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-1] โญ Run Main Run compile tests *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-3] โœ… Success - Main Run compile tests *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-1] โœ… Success - Main Run compile tests *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-2] ๐Ÿ Job succeeded *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-3] ๐Ÿ Job succeeded *DRYRUN* [Compilation tests for RIOT-OS submodule update/build-1] ๐Ÿ Job succeeded ```
akshaim commented 2 years ago

@MrKevinWeiss Do we really need to run the compilation tests on all targets from make info-boards-supported? Applications (unlike examples )are usually meant for specific boards, right?

compile_and_test_for_board.py however runs and tests it in the target as well this would need the HW connected to it or maybe use renode .

MrKevinWeiss commented 2 years ago

You are right, compile_and_test_for_board.py is probably not the correct thing. Though it would be nice to build test every board, I don't know how big that would be. Maybe for now we just say native and add some script foo later, or even a preselected list of the most important boards.