Files
openairinterface5g/ci-scripts
Robert Schmidt d87696e583 Merge remote-tracking branch 'origin/fix-ci-reset' into integration_2026_w07 (!3906)
fix(ci): remove git reset command from Jenkinsfile

- By default, the variable eNB_CommitID is set as 'develop' in the
  config
- When OAI-FLEXRIC-RAN-Integration-Test is triggered by upstream FlexRIC
  push events, it takes develop
- Triggered by RAN takes commit SHA where origin/SHA does not work

Below are issues seen after this week's merge to develop:

    https://jenkins-oai.eurecom.fr/view/RAN/job/RAN-Ubuntu-ARM-Image-Builder/4103/pipeline-overview/?selected-node=44

    08:43:07  + git reset --hard origin/9777d23173a740de7cf982659fae13ad6627d3aa
    08:43:07  fatal: ambiguous argument 'origin/9777d23173a740de7cf982659fae13ad6627d3aa': unknown revision or path not in the working tree.

When triggered through upstream FlexRIC (as a PUSH Event), it is taking
the branch as shown in the logs:

    https://jenkins-oai.eurecom.fr/job/OAI-FLEXRIC-RAN-Integration-Test/3832/pipeline-overview/?selected-node=47

    13:45:27  + git reset --hard origin/develop
    13:45:27  HEAD is now at 9777d23173 Merge branch 'integration_2026_w06' into 'develop'
2026-02-12 15:31:05 +01:00
..
2025-09-26 14:58:47 +02:00
2026-01-14 23:43:08 +01:00
2025-11-03 18:46:00 +01:00
2023-02-23 17:37:31 +01:00
2023-02-24 18:19:36 +01:00
2025-09-12 14:54:49 +02:00
2025-09-10 16:43:16 +02:00
2025-11-14 18:17:29 +01:00
2025-11-14 18:17:29 +01:00
2025-11-14 18:17:29 +01:00
2025-11-14 18:17:29 +01:00
2025-11-14 18:17:29 +01:00
…
2026-01-14 23:43:08 +01:00
2025-09-16 15:34:53 +02:00

This document outlines how to use the OAI CI framework and gives a quickstart.

[[TOC]]

Quickstart

There is a script main.py that

  • reads scenario files from XML
  • executes the steps (e.g., deployment of CN/gNB/UE, attach, ping, ...)

To simplify, a script run_locally.sh can be used to run a single scenario locally. First, download images for gNB&UE (we assume you already downloaded the CN) and tag them "latest", which is expected by run_locally.sh:

docker pull oaisoftwarealliance/oai-gnb:develop
docker tag oaisoftwarealliance/oai-gnb:develop oai-gnb
docker pull oaisoftwarealliance/oai-nr-ue:develop
docker tag oaisoftwarealliance/oai-nr-ue:develop oai-nr-ue

Now, run the scenario:

cd ~/openairinterface5g/ci-scripts/
./run_locally.sh xml_files/container_5g_rfsim_simple.xml

Output should look like

[2025-08-07 18:07:49,631]     INFO: ----------------------------------------
[2025-08-07 18:07:49,631]     INFO:   Creating HTML header 
[2025-08-07 18:07:49,631]     INFO: ----------------------------------------
[2025-08-07 18:07:49,766]     INFO: ----------------------------------------
[2025-08-07 18:07:49,767]     INFO:   Starting Scenario: xml_files/container_5g_rfsim_simple.xml
[2025-08-07 18:07:49,767]     INFO: ----------------------------------------
[2025-08-07 18:07:49,767]     INFO: placing all artifacts for this run in /home/richie/oai/cmake_targets/log/container_5g_rfsim_simple.xml.d/

[...]

[2025-08-07 18:07:49,771]     INFO: ----------------------------------------
[2025-08-07 18:07:49,771]     INFO:  Test ID: 1 (#1)
[2025-08-07 18:07:49,771]     INFO:  Deploy OAI 5G CoreNetwork
[2025-08-07 18:07:49,771]     INFO: ----------------------------------------

it will run an end-to-end test, connecting one UE to the gNB, and ping, before undeploying. As shown, logs will be under /home/richie/oai/cmake_targets/log/container_5g_rfsim_simple.xml.d/. The python code also produces an HTML report in ci-scripts/test_results.html.

Running with local changes

In order to run the tests as above, with local changes, please build images locally.

It is not yet possible to override an existing image with changes made locally to a source file and run it directly through the CI framework. However, it is possible to override an existing image with local changes, and run the scenario manually following the console logs steps provided above. This is described in the 5G RFsimulator README.