Help setting up GitLab CI/CD for BeagleY-ai

Hi everyone,

I forked the Edge AI Image Builder project and successfully built it locally using Docker — everything worked perfectly on my machine.

However, when I set up my own Docker runner in GitLab CI/CD, the pipeline consistently fails during the step “Building EdgeAI Apps Utils for Linux.”

I’m still new to GitLab Docker CI/CD, so I might be missing something in the runner configuration.

Does anyone know if the configuration for the docker-amd64-bigmem runner is publicly available?
It seems like I might be missing some environment setup in my Docker configuration.

I’ve attached the build logs and my runner configuration files for reference.

Thanks in advance for any help or tips!

------------------------------------
Building EdgeAI Apps Utils for Linux
------------------------------------
cd /home/tisdk/ti-processor-sdk-rtos-j722s-evm-11_00_00_06/edgeai/edgeai-apps-utils/; \
mkdir -p LINUX/build; \
cd LINUX/build; \
CROSS_COMPILER_PATH=/home/tisdk/ti-processor-sdk-rtos-j722s-evm-11_00_00_06/toolchain/sysroots/x86_64-arago-linux/usr \
CROSS_COMPILER_PREFIX=aarch64-oe-linux- \
TARGET_FS=/home/tisdk/ti-processor-sdk-rtos-j722s-evm-11_00_00_06/targetfs/ \
TARGET_OS=LINUX \
cmake -DCMAKE_OUTPUT_DIR=/home/tisdk/ti-processor-sdk-rtos-j722s-evm-11_00_00_06/edgeai/edgeai-apps-utils//LINUX \
-DCMAKE_TOOLCHAIN_FILE=../../cmake/cross_compile_aarch64.cmake ../../; \
make install DESTDIR=/home/tisdk/ti-processor-sdk-rtos-j722s-evm-11_00_00_06/edgeai/LINUX
-- The C compiler identification is GNU 13.3.0
-- The CXX compiler identification is GNU 13.3.0
-- Detecting C compiler ABI info
CMake Error: Generator: execution of make failed. Make command was: /home/tisdk/ti-processor-sdk-rtos-j722s-evm-11_00_00_06/targetfs/usr/bin/make -f Makefile cmTC_a8e16/fast && 
-- Detecting C compiler ABI info - failed
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
CMake Error: Generator: execution of make failed. Make command was: /home/tisdk/ti-processor-sdk-rtos-j722s-evm-11_00_00_06/targetfs/usr/bin/make -f Makefile cmTC_5d40e/fast && 
-- Detecting CXX compiler ABI info - failed
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning (dev) at /usr/share/cmake-3.22/Modules/GNUInstallDirs.cmake:239 (message):
  Unable to determine default CMAKE_INSTALL_LIBDIR directory because no
  target architecture is known.  Please enable at least one language before
  including GNUInstallDirs.
Call Stack (most recent call first):
  cmake/common.cmake:1 (include)
  CMakeLists.txt:7 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- CMAKE_BUILD_TYPE = Release PROJECT_NAME = edgeai-apps-utils
SOC=j722s
TARGET_CPU=A53
-- Configuring incomplete, errors occurred!
See also "/home/tisdk/ti-processor-sdk-rtos-j722s-evm-11_00_00_06/edgeai/edgeai-apps-utils/LINUX/build/CMakeFiles/CMakeOutput.log".
See also "/home/tisdk/ti-processor-sdk-rtos-j722s-evm-11_00_00_06/edgeai/edgeai-apps-utils/LINUX/build/CMakeFiles/CMakeError.log".
make[5]: Entering directory '/home/tisdk/ti-processor-sdk-rtos-j722s-evm-11_00_00_06/edgeai/edgeai-apps-utils/LINUX/build'
CMake Error: The source directory "/home/dockeruser/psdk_installer_build_top_workarea/scratch_workarea/ti-processor-sdk-rtos-j722s-evm-11_00_00_06/edgeai/edgeai-apps-utils" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
make[5]: *** [Makefile:417: cmake_check_build_system] Error 1
make[5]: Leaving directory '/home/tisdk/ti-processor-sdk-rtos-j722s-evm-11_00_00_06/edgeai/edgeai-apps-utils/LINUX/build'
make[4]: *** [makerules/makefile_edgeai.mak:43: edgeai_utils] Error 2
make[4]: Leaving directory '/home/tisdk/ti-processor-sdk-rtos-j722s-evm-11_00_00_06/sdk_builder'
make[3]: *** [makerules/makefile_edgeai.mak:31: edgeai] Error 2
make[3]: Leaving directory '/home/tisdk/ti-processor-sdk-rtos-j722s-evm-11_00_00_06/sdk_builder'
make[2]: *** [makerules/makefile_vision_apps.mak:15: edgeai_deps] Error 2
make[2]: Leaving directory '/home/tisdk/ti-processor-sdk-rtos-j722s-evm-11_00_00_06/sdk_builder'
make[1]: *** [Makefile:64: sdk] Error 2
make[1]: Leaving directory '/home/tisdk/ti-processor-sdk-rtos-j722s-evm-11_00_00_06/sdk_builder'
make: *** [makerules/makefile_linux_arm.mak:382: firmware] Error 2

config.toml:

concurrent = 1
check_interval = 0
connection_max_age = “15m0s”
shutdown_timeout = 0

[session_server]
session_timeout = 1800

[[runners]]
name = “HOST-02”
url = “https://gitlab.com/”
id = 50028444
token = “xxxxxxx”
token_obtained_at = 2025-10-04T12:21:53Z
token_expires_at = 0001-01-01T00:00:00Z
executor = “docker”
[runners.cache]
MaxUploadedArchiveSize = 0
[runners.cache.s3]
[runners.cache.gcs]
[runners.cache.azure]
[runners.docker]
tls_verify = false
image = “robertcnelson/ti-ubuntu:latest”
privileged = false
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = [“/cache”]
shm_size = 0
network_mtu = 0

build_log.txt (1.8 MB)

Nothing special..

sudo cat /etc/gitlab-runner/config.toml
concurrent = 1
check_interval = 0
connection_max_age = "15m0s"
shutdown_timeout = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "bbbio-ci-debian-bigmem-01"
  output_limit = 409600
  url = "https://gitlab.com"
  id = 47891474
  token = "glrt-xxx"
  token_obtained_at = 2025-06-22T18:11:31Z
  token_expires_at = 0001-01-01T00:00:00Z
  executor = "docker"
  [runners.cache]
    Type = "s3"
    Shared = true
    MaxUploadedArchiveSize = 0
    [runners.cache.s3]
      ServerAddress = "xxx:9000"
      AccessKey = "gitlab"
      SecretKey = "xxx"
      BucketName = "gitlab.com"
      BucketLocation = "us-west-1"
      Insecure = true
    [runners.cache.gcs]
    [runners.cache.azure]
  [runners.docker]
    tls_verify = false
    image = "debian:latest"
    privileged = true
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0
    network_mtu = 0

local s3 is used for cache..

Does anyone know if the configuration for the docker-amd64-bigmem runner is publicly available?

Dockerfile is here

Unfortunately, the new configuration didn’t help.

It’s strange — when I run Docker locally and execute setup-sdk.sh, everything works fine, but when I run it through GitLab CI, the build fails.

I suspect the core issue is environment-related — it looks like the Makefile is referencing the wrong path, but I’m not sure how to fix it yet.

I’d really appreciate any suggestions or advice :slightly_smiling_face:

The issue was macOS access rights (or permissions); creating the runner on the Linux machine solved the problem.

1 Like

I had a bunch of issues trying to run this Docker image on macOS so your experience checks out. amd64 linux is what TI tests with

1 Like