Hi Lup, please add to the guide "gh auth login" so that users can upload the results
Best regards Alin On Mon, Oct 28, 2024 at 9:12 AM Lee, Lup Yuen <lu...@appkaki.com> wrote: > << please add to the guide "apt install gh " on host os >> > > Yep thanks Alin! I have updated the article: > > https://lupyuen.codeberg.page/articles/ci2.html#build-nuttx-for-all-target-groups > > ## Download the scriptsgit clone > https://github.com/lupyuen/nuttx-releasecd nuttx-release > ## Login to GitHub in Headless Modesudo apt install ghsudo gh auth login > ## Run the Build Job forever: arm-01 ... arm-14sudo ./run-ci.sh > > > Lup > > On Mon, Oct 28, 2024 at 4:05 PM Alin Jerpelea <jerpe...@gmail.com> wrote: > > > Hi Lup > > > > please add to the guide > > "apt install gh " > > on host os > > > > Best regards > > Alin > > > > On Mon, Oct 28, 2024 at 8:50 AM Lee, Lup Yuen <lu...@appkaki.com> wrote: > > > > > Thanks Alin, I think the fix is here: > > > https://github.com/apache/nuttx/pull/14527 > > > > > > Lup > > > > > > On Mon, Oct 28, 2024 at 3:43 PM Alin Jerpelea <jerpe...@gmail.com> > > wrote: > > > > > > > Cmake in present: stm32f334-disco/nsh,CONFIG_ARM_TOOLCHAIN_CLANG > > > > Configuration/Tool: stm32f334-disco/nsh,CONFIG_ARM_TOOLCHAIN_CLANG > > > > 2024-10-28 07:41:50 > > > > > > > > > > > > > > ------------------------------------------------------------------------------------ > > > > Cleaning... > > > > Configuring... > > > > CMake Warning at cmake/nuttx_kconfig.cmake:171 (message): > > > > Kconfig Configuration Error: warning: STM32_HAVE_HRTIM1_PLLCLK > > (defined > > > > at > > > > arch/arm/src/stm32/Kconfig:8109) has direct dependencies > STM32_HRTIM > > && > > > > ARCH_CHIP_STM32 && ARCH_ARM with value n, but is currently being > > > > y-selected > > > > by the following symbols: > > > > > > > > - STM32_STM32F33XX (defined at arch/arm/src/stm32/Kconfig:1533), > > with > > > > value y, direct dependencies ARCH_CHIP_STM32 && ARCH_ARM (value: y), > > and > > > > select condition ARCH_CHIP_STM32 && ARCH_ARM (value: y) > > > > > > > > Call Stack (most recent call first): > > > > CMakeLists.txt:322 (nuttx_olddefconfig) > > > > > > > > > > > > Select HOST_LINUX=y > > > > CMake Warning at cmake/nuttx_kconfig.cmake:192 (message): > > > > Kconfig Configuration Error: warning: STM32_HAVE_HRTIM1_PLLCLK > > (defined > > > > at > > > > arch/arm/src/stm32/Kconfig:8109) has direct dependencies > STM32_HRTIM > > && > > > > ARCH_CHIP_STM32 && ARCH_ARM with value n, but is currently being > > > > y-selected > > > > by the following symbols: > > > > > > > > - STM32_STM32F33XX (defined at arch/arm/src/stm32/Kconfig:1533), > > with > > > > value y, direct dependencies ARCH_CHIP_STM32 && ARCH_ARM (value: y), > > and > > > > select condition ARCH_CHIP_STM32 && ARCH_ARM (value: y) > > > > > > > > Call Stack (most recent call first): > > > > cmake/nuttx_sethost.cmake:107 (nuttx_setconfig) > > > > CMakeLists.txt:333 (nuttx_sethost) > > > > > > > > > > > > Disabling CONFIG_ARM_TOOLCHAIN_BUILDROOT > > > > Enabling CONFIG_ARM_TOOLCHAIN_CLANG > > > > Building NuttX... > > > > > > > > On Mon, Oct 28, 2024 at 8:18 AM Alin Jerpelea <jerpe...@gmail.com> > > > wrote: > > > > > > > > > HI Lup > > > > > I found another one > > > > > > > > > > Cmake in present: nucleo-f334r8/adc,CONFIG_ARM_TOOLCHAIN_CLANG > > > > > Configuration/Tool: nucleo-f334r8/adc,CONFIG_ARM_TOOLCHAIN_CLANG > > > > > 2024-10-28 07:17:15 > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------------ > > > > > Cleaning... > > > > > Configuring... > > > > > CMake Warning at cmake/nuttx_kconfig.cmake:171 (message): > > > > > Kconfig Configuration Error: warning: STM32_HAVE_HRTIM1_PLLCLK > > > (defined > > > > > at > > > > > arch/arm/src/stm32/Kconfig:8109) has direct dependencies > > STM32_HRTIM > > > && > > > > > ARCH_CHIP_STM32 && ARCH_ARM with value n, but is currently being > > > > > y-selected > > > > > by the following symbols: > > > > > > > > > > - STM32_STM32F33XX (defined at arch/arm/src/stm32/Kconfig:1533), > > > with > > > > > value y, direct dependencies ARCH_CHIP_STM32 && ARCH_ARM (value: > y), > > > and > > > > > select condition ARCH_CHIP_STM32 && ARCH_ARM (value: y) > > > > > > > > > > Call Stack (most recent call first): > > > > > CMakeLists.txt:322 (nuttx_olddefconfig) > > > > > > > > > > > > > > > Select HOST_LINUX=y > > > > > CMake Warning at cmake/nuttx_kconfig.cmake:192 (message): > > > > > Kconfig Configuration Error: warning: STM32_HAVE_HRTIM1_PLLCLK > > > (defined > > > > > at > > > > > arch/arm/src/stm32/Kconfig:8109) has direct dependencies > > STM32_HRTIM > > > && > > > > > ARCH_CHIP_STM32 && ARCH_ARM with value n, but is currently being > > > > > y-selected > > > > > by the following symbols: > > > > > > > > > > - STM32_STM32F33XX (defined at arch/arm/src/stm32/Kconfig:1533), > > > with > > > > > value y, direct dependencies ARCH_CHIP_STM32 && ARCH_ARM (value: > y), > > > and > > > > > select condition ARCH_CHIP_STM32 && ARCH_ARM (value: y) > > > > > > > > > > Call Stack (most recent call first): > > > > > cmake/nuttx_sethost.cmake:107 (nuttx_setconfig) > > > > > CMakeLists.txt:333 (nuttx_sethost) > > > > > > > > > > > > > > > Disabling CONFIG_ARM_TOOLCHAIN_GNU_EABI > > > > > Enabling CONFIG_ARM_TOOLCHAIN_CLANG > > > > > Building NuttX... > > > > > > > > > > Thanks > > > > > Alin > > > > > > > > > > On Mon, Oct 28, 2024 at 4:40 AM Lee, Lup Yuen <lu...@appkaki.com> > > > wrote: > > > > > > > > > >> << needed on host machine (please update the article) > > > > >> apt install gcc-arm-none-eabi binutils-arm-none-eabi genromfs >> > > > > >> > > > > >> Hi Alin: This is super strange. genromfs isn't installed on my > Host > > > > >> Machine: > > > > >> > > > > >> ## genromfs isn't installed on my Host Machine > > > > >> $ genromfs -h > > > > >> Command 'genromfs' not found > > > > >> > > > > >> ## genromfs works fine inside Docker > > > > >> $ sudo docker run -it \ > > > > >> ghcr.io/apache/nuttx/apache-nuttx-ci-linux:latest \ > > > > >> /bin/bash -c "genromfs -h" > > > > >> genromfs 0.5.2 > > > > >> > > > > >> Is anyone else having problems building NuttX with our Docker > Image? > > > > >> Please > > > > >> lemme know thanks! > > > > >> > > > > >> << /usr/bin/bash: line 1: arm-nuttx-eabi-gcc: command not found >> > > > > >> > > > > >> This is a harmless message, we're tracking the issue here: > > > > >> https://github.com/apache/nuttx/issues/14374 > > > > >> > > > > >> Lup > > > > >> > > > > >> On Mon, Oct 28, 2024 at 11:23 AM Alin Jerpelea < > jerpe...@gmail.com> > > > > >> wrote: > > > > >> > > > > >> > Hi Lup, > > > > >> > > > > > >> > needed on host machine (please update the article) > > > > >> > > > > > >> > apt install gcc-arm-none-eabi binutils-arm-none-eabi genromfs > > > > >> > > > > > >> > error still unidentified > > > > >> > > > > > >> > onfiguration/Tool: > c5471evm/nettest,CONFIG_ARM_TOOLCHAIN_GNU_EABI > > > > >> > 2024-10-28 04:20:28 > > > > >> > > > > > >> > > > > > >> > > > > > > > > > > ------------------------------------------------------------------------------------ > > > > >> > Cleaning... > > > > >> > Configuring... > > > > >> > Disabling CONFIG_ARM_TOOLCHAIN_BUILDROOT > > > > >> > Enabling CONFIG_ARM_TOOLCHAIN_GNU_EABI > > > > >> > Building NuttX... > > > > >> > Normalize c5471evm/nettest > > > > >> > /usr/bin/bash: line 1: arm-nuttx-eabi-gcc: command not found > > > > >> > /usr/bin/bash: line 1: arm-nuttx-eabi-gcc: command not found > > > > >> > > > > > >> > Best Regards > > > > >> > > > > > >> > Alin > > > > >> > > > > > >> > > > > > >> > On Mon, Oct 28, 2024 at 3:25 AM Lee, Lup Yuen < > lu...@appkaki.com> > > > > >> wrote: > > > > >> > > > > > >> > > << /usr/bin/bash: line 1: genromfs: command not found >> > > > > >> > > > > > > >> > > Hi Alin: That's very odd, genromfs is inside the Docker Image > so > > > it > > > > >> > > shouldn't fail (unless we're running outside Docker?). Here's > > how > > > we > > > > >> > check > > > > >> > > genromfs: > > > > >> > > > > > > >> > > ## This will show "genromfs 0.5.2" > > > > >> > > sudo docker run -it \ > > > > >> > > ghcr.io/apache/nuttx/apache-nuttx-ci-linux:latest \ > > > > >> > > /bin/bash -c "genromfs -h" > > > > >> > > > > > > >> > > Also spresense:elf builds OK on my Ubuntu PC: > > > > >> > > > > > > >> > > > > > > >> > > > > > >> > > > > > > > > > > https://gist.github.com/nuttxpr/8a203426383b84626c8a5bd06168bf9b#file-ci-arm-01-log-L359 > > > > >> > > > > > > >> > > Could you try this (from my article) and lemme know if it > works? > > > > >> Thanks! > > > > >> > > > > > > >> > > ## Compile Target Group arm-01, including spresense/elf > > > > >> > > job=arm-01 > > > > >> > > sudo docker run -it \ > > > > >> > > ghcr.io/apache/nuttx/apache-nuttx-ci-linux:latest \ > > > > >> > > /bin/bash -c " > > > > >> > > cd ; > > > > >> > > pwd ; > > > > >> > > git clone https://github.com/apache/nuttx ; > > > > >> > > git clone https://github.com/apache/nuttx-apps apps ; > > > > >> > > pushd nuttx ; echo NuttX Source: > > > > >> > > https://github.com/apache/nuttx/tree/\$(git rev-parse HEAD) ; > > > popd > > > > ; > > > > >> > > pushd apps ; echo NuttX Apps: > > > > >> > > https://github.com/apache/nuttx-apps/tree/\$(git rev-parse > > HEAD) > > > ; > > > > >> popd > > > > >> > ; > > > > >> > > sleep 10 ; > > > > >> > > cd nuttx/tools/ci ; > > > > >> > > (./cibuild.sh -c -A -N -R testlist/$job.dat || echo '***** > > BUILD > > > > >> > FAILED') > > > > >> > > ; > > > > >> > > " > > > > >> > > > > > > >> > > Lup > > > > >> > > > > > > >> > > On Mon, Oct 28, 2024 at 10:01 AM Alin Jerpelea < > > > jerpe...@gmail.com> > > > > >> > wrote: > > > > >> > > > > > > >> > > > Hi Lup > > > > >> > > > I started the test and I found a fiew issues > > > > >> > > > > > > > >> > > > Configuration/Tool: > > spresense/elf,CONFIG_ARM_TOOLCHAIN_GNU_EABI > > > > >> > > > 2024-10-28 02:49:20 > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > > > > > > > ------------------------------------------------------------------------------------ > > > > >> > > > Cleaning... > > > > >> > > > Configuring... > > > > >> > > > Disabling CONFIG_ARM_TOOLCHAIN_GNU_EABI > > > > >> > > > Enabling CONFIG_ARM_TOOLCHAIN_GNU_EABI > > > > >> > > > Building NuttX... > > > > >> > > > /usr/bin/bash: line 1: genromfs: command not found > > > > >> > > > make[3]: *** [Makefile:81: > > > > >> > > > /awork/nuttx/NuttX/farm/apps/examples/elf/tests/romfs.img] > > Error > > > > 127 > > > > >> > > > make[3]: Target 'all' not remade because of errors. > > > > >> > > > make[2]: *** [Makefile:59: build] Error 2 > > > > >> > > > make[2]: Target 'all' not remade because of errors. > > > > >> > > > make[1]: *** [Makefile:52: > > > > >> > /awork/nuttx/NuttX/farm/apps/examples/elf_all] > > > > >> > > > Error 2 > > > > >> > > > make[1]: Target 'all' not remade because of errors. > > > > >> > > > make: *** [tools/LibTargets.mk:232: > > > > >> > > /awork/nuttx/NuttX/farm/apps/libapps.a] > > > > >> > > > Error 2 > > > > >> > > > make: Target 'all' not remade because of errors. > > > > >> > > > /awork/nuttx/NuttX/farm/nuttx/tools/testbuild.sh: line 385: > > > > >> > > > /awork/nuttx/NuttX/farm/nuttx/../nuttx/nuttx.manifest: No > such > > > > file > > > > >> or > > > > >> > > > directory > > > > >> > > > Normalize spresense/elf > > > > >> > > > > > > > >> > > > Configuration/Tool: > > > > >> spresense/posix_spawn,CONFIG_ARM_TOOLCHAIN_GNU_EABI > > > > >> > > > 2024-10-28 02:51:17 > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > > > > > > > ------------------------------------------------------------------------------------ > > > > >> > > > Cleaning... > > > > >> > > > Configuring... > > > > >> > > > Disabling CONFIG_ARM_TOOLCHAIN_GNU_EABI > > > > >> > > > Enabling CONFIG_ARM_TOOLCHAIN_GNU_EABI > > > > >> > > > Building NuttX... > > > > >> > > > /usr/bin/bash: line 1: genromfs: command not found > > > > >> > > > make[3]: *** [Makefile:50: > > > > >> > > > > > > > >> > > > /awork/nuttx/NuttX/farm/apps/examples/posix_spawn/filesystem/romfs.img] > > > > >> > > > Error 127 > > > > >> > > > make[3]: Target 'all' not remade because of errors. > > > > >> > > > make[2]: *** [Makefile:47: build] Error 2 > > > > >> > > > make[2]: Target 'all' not remade because of errors. > > > > >> > > > make[1]: *** [Makefile:52: > > > > >> > > > /awork/nuttx/NuttX/farm/apps/examples/posix_spawn_all] > Error 2 > > > > >> > > > make[1]: Target 'all' not remade because of errors. > > > > >> > > > make: *** [tools/LibTargets.mk:232: > > > > >> > > /awork/nuttx/NuttX/farm/apps/libapps.a] > > > > >> > > > Error 2 > > > > >> > > > make: Target 'all' not remade because of errors. > > > > >> > > > /awork/nuttx/NuttX/farm/nuttx/tools/testbuild.sh: line 385: > > > > >> > > > /awork/nuttx/NuttX/farm/nuttx/../nuttx/nuttx.manifest: No > such > > > > file > > > > >> or > > > > >> > > > directory > > > > >> > > > Normalize spresense/posix_spawn > > > > >> > > > > > > > >> > > > Can you please take a look > > > > >> > > > > > > > >> > > > Best regards > > > > >> > > > > > > > >> > > > On Sun, Oct 27, 2024 at 11:47 PM Lee, Lup Yuen < > > > lu...@appkaki.com > > > > > > > > > >> > > wrote: > > > > >> > > > > > > > >> > > > > << 1) Regarding the script that uploads CI results to > github > > > > >> gists: > > > > >> > > will > > > > >> > > > > this > > > > >> > > > > work for anyone who runs the docker image? If not, what > > should > > > > be > > > > >> > done > > > > >> > > > with > > > > >> > > > > the results? >> > > > > >> > > > > > > > > >> > > > > Thanks Nathan! I'm using GitHub Gists as a simple way to > > push > > > > our > > > > >> > Build > > > > >> > > > > Logs to the cloud for further processing and alerting. > > (There > > > > >> might > > > > >> > be > > > > >> > > a > > > > >> > > > > better way) > > > > >> > > > > > > > > >> > > > > I'm running my Build Server logged in as the `nuttxpr` > > GitHub > > > > >> Account > > > > >> > > > (via > > > > >> > > > > `gh login auth`), so all Gists will be published under the > > > > >> `nuttxpr` > > > > >> > > > > account. Someone who runs the Docker Image will probably > > > create > > > > a > > > > >> new > > > > >> > > > > GitHub Account to publish the Gists: > > > > >> https://gist.github.com/nuttxpr > > > > >> > > > > > > > > >> > > > > What we need next: A script that will (1) Consolidate the > > > Gists > > > > >> > > > > across Multiple GitHub Accounts (2) Scan the Build Logs > for > > > > Errors > > > > >> > and > > > > >> > > > > Warnings (3) Alert somebody. > > > > >> > > > > > > > > >> > > > > << 2) Is there a way to detect (like a GPIO rising or > > falling > > > > >> edge, > > > > >> > for > > > > >> > > > > lack > > > > >> > > > > of a better description) that a build that previously > > > succeeded > > > > is > > > > >> > > > failing, > > > > >> > > > > or a build that was previously failing succeeds again, to > > > notify > > > > >> only > > > > >> > > > about > > > > >> > > > > targets that change status? >> > > > > >> > > > > > > > > >> > > > > We have a problem: There doesn't seem to be an easy to > scan > > > our > > > > >> Build > > > > >> > > > Logs > > > > >> > > > > for Errors and Warnings: > > > > >> > > > > > > > > >> > > > > > > >> > > > > > > https://lupyuen.codeberg.page/articles/ci2.html#find-errors-and-warnings > > > > >> > > > > > > > > >> > > > > We should implement this Log Scanning in the script that I > > > > >> mentioned > > > > >> > > > > earlier. Then we can detect Failed Builds and alert > > somebody. > > > > >> Maybe > > > > >> > > > through > > > > >> > > > > open-source Prometheus + Grafana: > > > > >> > > > > https://lupyuen.github.io/articles/prometheus > > > > >> > > > > > > > > >> > > > > << 3) Regarding M1 macs not being able to run the CI > > builds, I > > > > >> > suggest > > > > >> > > to > > > > >> > > > > state that as a call to action, e.g., help wanted to make > > the > > > > >> build > > > > >> > > > succeed > > > > >> > > > > on M1 macs, please see such-and-such issue on github... >> > > > > >> > > > > > > > > >> > > > > Yep I'll post an Issue at our NuttX Repo. I'll explain > what > > > > >> happens > > > > >> > > when > > > > >> > > > I > > > > >> > > > > run the CI Build on my M2 Mac. Thanks! > > > > >> > > > > > > > > >> > > > > Lup > > > > >> > > > > > > > > >> > > > > On Mon, Oct 28, 2024 at 12:15 AM Nathan Hartman < > > > > >> > > > hartman.nat...@gmail.com> > > > > >> > > > > wrote: > > > > >> > > > > > > > > >> > > > > > Nice article Lup! Thank you. A few questions: > > > > >> > > > > > > > > > >> > > > > > 1) Regarding the script that uploads CI results to > github > > > > gists: > > > > >> > will > > > > >> > > > > this > > > > >> > > > > > work for anyone who runs the docker image? If not, what > > > should > > > > >> be > > > > >> > > done > > > > >> > > > > with > > > > >> > > > > > the results? > > > > >> > > > > > > > > > >> > > > > > 2) Is there a way to detect (like a GPIO rising or > falling > > > > edge, > > > > >> > for > > > > >> > > > lack > > > > >> > > > > > of a better description) that a build that previously > > > > succeeded > > > > >> is > > > > >> > > > > failing, > > > > >> > > > > > or a build that was previously failing succeeds again, > to > > > > notify > > > > >> > only > > > > >> > > > > about > > > > >> > > > > > targets that change status? > > > > >> > > > > > > > > > >> > > > > > 3) Regarding M1 macs not being able to run the CI > builds, > > I > > > > >> suggest > > > > >> > > to > > > > >> > > > > > state that as a call to action, e.g., help wanted to > make > > > the > > > > >> build > > > > >> > > > > succeed > > > > >> > > > > > on M1 macs, please see such-and-such issue on github... > > > > >> > > > > > > > > > >> > > > > > Otherwise looks good and thanks again! > > > > >> > > > > > > > > > >> > > > > > Cheers, > > > > >> > > > > > Nathan > > > > >> > > > > > > > > > >> > > > > > On Sat, Oct 26, 2024 at 6:08 PM Lee, Lup Yuen < > > > > >> lu...@appkaki.com> > > > > >> > > > wrote: > > > > >> > > > > > > > > > >> > > > > > > Refurbished Ubuntu PCs have become quite affordable. > Can > > > we > > > > >> turn > > > > >> > > them > > > > >> > > > > > into > > > > >> > > > > > > a (Low-Cost) Build Farm for NuttX? > > > > >> > > > > > > > > > > >> > > > > > > In this article we… > > > > >> > > > > > > (1) Compile NuttX for a group of Arm32 Boards > > > > >> > > > > > > (2) Then scale up and compile NuttX for All Arm32 > Boards > > > > >> > > > > > > (3) Thanks to the Docker Image provided by NuttX > > > > >> > > > > > > (4) Why do this? Because GitHub Actions taught us a > > > Painful > > > > >> > Lesson: > > > > >> > > > > > > Freebies Won’t Last Forever! > > > > >> > > > > > > > > > > >> > > > > > > Check out the article: > > > > >> > > > https://lupyuen.codeberg.page/articles/ci2.html > > > > >> > > > > > > > > > > >> > > > > > > Lup > > > > >> > > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > > > > > > > > > > > >