applications icon indicating copy to clipboard operation
applications copied to clipboard

.github/workflow : Added compile tests

Open akshaim opened this issue 3 years ago โ€ข 6 comments

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

akshaim avatar Sep 06 '22 08:09 akshaim

ping @miri64

akshaim avatar Sep 06 '22 09:09 akshaim

How can this be tested / what were the results?

Feel free to squash btw.

benpicco avatar Sep 06 '22 12:09 benpicco

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.

MrKevinWeiss avatar Sep 06 '22 12:09 MrKevinWeiss

@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 avatar Sep 09 '22 10:09 akshaim

@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 .

akshaim avatar Sep 09 '22 10:09 akshaim

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.

MrKevinWeiss avatar Sep 09 '22 16:09 MrKevinWeiss