With efforts and reviews from community, the nuttx and apps github action pull request check build CI now take effect.
To summarize, Github action CI workflow steps as below: a. Pull docker container with build essential tools preinstalled b. Clone nuttx, apps and testing repos c. Do check job: nxstyle check pull request with checkpatch.sh d. Do matrix jobs builds: use testing cibuild.sh to do builds As to github action detailed review and dicussions, refer to: https://github.com/apache/incubator-nuttx/pull/261 https://github.com/apache/incubator-nuttx-apps/pull/113 But there is still some improvement need from community: 1. Build the remaining configs (total 78) and suppport for Windows(native, cygwin, msys) and macOS build enviroment As @davids5 asked, what % of board configs are being built (n of N)? As for now, the check build covers the following archs board configs: arm/sim/mips/risc-v/x86 arm 455/478 sim 30/34 mips 11/11 risc-v 7/9 x86 2/2 But we haven't enabled the following archs build since lack of toolchains or because of build breaks. If available, we could update the docker container to preinstall their toolchains and update testlist (https://github.com/apache/incubator-nuttx-testing/tree/master/testlist) in testing repo to build them. avr 0/11 hc 0/2 misoc 0/2 or1k 0/1 renesas 0/10 x86_64 0/1 // link issue need resolved xtensa 0/3 z16 0/2 z80 0/17 For github action free version, there are 20 jobs upper limit. And now we used 17 jobs (each job runs about 30 configs in an 2-cores cpu VM/container) here under Ubuntu build enviroment. So we reserve 3 jobs interntionally for Windows and MacOS builds in future to add support. 2. Refine the github action workflow: As @btashton and @xiaoxiang suggests, reduce size of docker images to save time and adding build artifacts to run the testsuite or some validation automatically. So If you are interested in them, feel free to make PR to improve any of them. Let's make the nuttx CI more productive.