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

Reply via email to