Skip to content

CI: migrate from GitLab to GitHub#6

Open
jfiedlerova wants to merge 146 commits into
developfrom
ci-migration
Open

CI: migrate from GitLab to GitHub#6
jfiedlerova wants to merge 146 commits into
developfrom
ci-migration

Conversation

@jfiedlerova

@jfiedlerova jfiedlerova commented May 26, 2026

Copy link
Copy Markdown
Owner

TODO:

  • change Jenkins notification comments to @durantabot (solution: credentials for commenting and GitHub Pull Request plugin taken from GitHub Servers configuration of Jenkins, Repository requested permission of GitHub Pull Request plugin needs to match permissions given for the user)
  • Create milestones
  • add Labels, check how to comment Labels on the PR => Reviewers to check & review
  • GitHub replacement for gitlabCommitStatus? - To try -> this
  • def keyword warnings in the console log => problem of concurrency overwrite of same variable, so kept the variables -> any other options?
  • Handle PUSH event, see: CI: GitLab to GitHub Migration  duranta-project/openairinterface5g#2 (comment)
  • fix RAN-Local-Repo-Push - sourceRepo URL not available in env variables --> Replace the manual fetch-and-merge approach with GitHub's pre-built PR merge refs to simplify checkout and eliminate explicit remote management.
  • How to get author email, do we need it? => author email not needed, Jenkins doesn't send emails since: 2a73317
  • Jenkinsfile-colosseum --> check with authors of the file/pipeline - not relevant for this MR, to be done later

@jfiedlerova

  • Check GitHub actions -> For example, if changes in ci-scripts except ci-scripts/conf then do not trigger CI, check github artifacts to publish, check CODEOWNERS?

@sgarg00

  • Check pre-ci check script -> check how it works with forked -> Used GITHUB_PR_HEAD_SHA which works for both forks and same repo branches

Common tasks:

  • Check on how to trigger webhook on push to develop - when GitHub hook trigger for GITScm polling is enabled, then it triggers on every push to the branch (to every branch, not only develop or SCM checkout)

Tests to be done:

Notes:

  • Keep cache in Jenkins system GitHub config as 0 => sometimes retrigger for same commit SHAs by commenting with PR rebuild does not work => observe the behaviour
  • The refs/pull/<GITHUB_PR_NUMBER>/merge is a reference created by GitHub to keep track of what would happen if a pull request was merged. It references the merge commit between refs/pull/<GITHUB_PR_NUMBER>/head and the destination branch (e.g. develop). More information: https://git-scm.com/book/id/v2/GitHub-Maintaining-a-Project --> Pull Request Refs

Test pipelines:

For Labels in GitHub:
PR Comment for Labels: duranta-project/openairinterface5g#2 (comment)
List of Labels created -> https://github.com/duranta-project/openairinterface5g/labels/

bpodrygajlo and others added 28 commits May 19, 2026 08:49
In simulated environments like ZMQ, interference_plus_noise_power (IPN)
can be computed as zero, which could lead to a division-by-zero crash.

Fix this by ensuring `interference_plus_noise_power` is at least 1 at
the beginning of `nr_csi_rs_pmi_estimation()`.

Signed-off-by: Bartosz Podrygajlo <bartosz.podrygajlo@openairinterface.org>
this is done to be able to set DL TDA after calling config_sched_ctrlSIB1 and knowing the potential configuration of commonControlResourceSet for MUX pattern 3 which duration doesn't depend on the BWP size

Signed-off-by: Francesco Mani <email@francescomani.it>
This commit moves certain functions and structs around to prevent including
functions taking VLA arguments in imscope C++ source files.

Signed-off-by: Bartosz Podrygajlo <bartosz.podrygajlo@openairinterface.org>
The TracyCZone() macro stayed, but the function containing it changed in
a previous commit.

Fixes: e4b2125 ("Refactor PBCH & PSBCH UE procedures")

Signed-off-by: Robert Schmidt <robert.schmidt@openairinterface.org>
Add a new Dockerfile for optional features of OAI. Currently only imscope
is added but other features could be added in separate stages.

Build using:

docker build . -f ci-scripts/docker/Dockerfile.build.optional.ubuntu

Signed-off-by: Bartosz Podrygajlo <bartosz.podrygajlo@openairinterface.org>
Add tracy-enabled softmodems build as part of the optional features
build pipeline.

To build:
docker build . -f ci-scripts/docker/Dockerfile.build.optional.ubuntu --target build-tracy
docker build . -f ci-scripts/docker/Dockerfile.build.optional.ubuntu --target build-imscope

Signed-off-by: Bartosz Podrygajlo <bartosz.podrygajlo@openairinterface.org>
Add T trace events for SRS least-squares channel estimate samples and individual MAC RSRP reports. These traces support indoor positioning research and offline dataset generation through the existing OAI tracing workflow instead of custom CSV logging.

Signed-off-by: Bingyu Zhou <s240331012@stu.cqupt.edu.cn>
Copying large struct one element at a time generates much more assembly code
than memcpy and the code becomes less maintainable. This commit copies parts of
structs using memcpy.

Signed-off-by: Sakthivel Velumani <s.velumani@northeastern.edu>
Update copy functions and ctest.

Signed-off-by: Sakthivel Velumani <s.velumani@northeastern.edu>
…put of do_SRS

Signed-off-by: francescomani <email@francescomani.it>
Signed-off-by: francescomani <email@francescomani.it>
Signed-off-by: francescomani <email@francescomani.it>
Signed-off-by: francescomani <email@francescomani.it>
because max number of layers is 1

Signed-off-by: Francesco Mani <email@francescomani.it>
Signed-off-by: Bartosz Podrygajlo <bartosz.podrygajlo@openairinterface.org>
This commit introduces a set of component libraries that can
be used to implement packet processing library for 7.2 fronthaul
interface.

Signed-off-by: Bartosz Podrygajlo <bartosz.podrygajlo@openairinterface.org> and assisted-by Gemini
Add sources from xran library containing Split 7.2 packet manipulation
tools.

Signed-off-by: Bartosz Podrygajlo <bartosz.podrygajlo@openairinterface.org>
Added xran_pkt which is a library of imported ORAN/eCPRI packet utilities
from xran library.

 - merged xran_up_api.h/c and xran_cp_api.h/c into xran_pkt_api.h/c.
 - reformatted the code.
 - added unit test
 - added an optional executable xran_pcap_dump which can extract some
fields of an ORAN pcap capture to stdout

Signed-off-by: Bartosz Podrygajlo <bartosz.podrygajlo@openairinterface.org> and assisted-by Gemini
Signed-off-by: Bartosz Podrygajlo <bartosz.podrygajlo@openairinterface.org>
Added a library that encompasses all dpdk requirements for a single O-RU.

Signed-off-by: Bartosz Podrygajlo <bartosz.podrygajlo@openairinterface.org> and assisted-by Gemini
This commit introduces the O-RU (O-RAN Radio Unit) packet processor
implementation for handling UL & DL C-plane and U-plane

Key features include:
 - Processing of eCPRI headers and Section Type 1 radio app headers.
 - Strict timing validation against T2a minimum and maximum bounds for
   both C-plane and U-plane symbols.
 - A DPDK ring-based job queue for managing symbol processing state
   (`dl_symbol_job_t`) across multiple concurrent symbol windows.
 - Reordering of received CP & UP data so that produced IQ is always
   in order.
 - Extraction and buffering of IQ samples for downlink.
 - Supports up to 4 fragments per symbol

Signed-off-by: Bartosz Podrygajlo <bartosz.podrygajlo@openairinterface.org> and assisted-by Gemini
Test the new O-RU packet processor against PCAP capture.

There are two testcases added:
 - test_oru_pcap_1 - which tests DL & UL fragmentation using jumbo frames (9600 mtu)
 - test_oru_pcap_frag - which injects the same pcap but tests the mtu to 1500 to force
   large amounts of UL UPlane fragments

Signed-off-by: Bartosz Podrygajlo <bartosz.podrygajlo@openairinterface.org> and assisted-by Gemini
Add an O-RU centered fronthaul library that includes components
from the fronthaul directory.

Signed-off-by: Bartosz Podrygajlo <bartosz.podrygajlo@openairinterface.org> and assisted-by Gemini
Signed-off-by: Bartosz Podrygajlo <bartosz.podrygajlo@openairinterface.org>
…6_w22 (!4125)

fix(phy): prevent division by zero in nr_csi_rs_pmi_estimation

In simulated environments like ZMQ, interference_plus_noise_power (IPN)
can be computed as zero, which could lead to a division-by-zero crash.

Fix this by ensuring interference_plus_noise_power is at least 1 at the
beginning of nr_csi_rs_pmi_estimation().

Closes: #1086
Reviewed-By: Francesco Mani <email@francescomani.it>
…6_w22 (!4140)

Fix evaluation of PMI and CQI report when there is no RI report

Closes: #1097
Reviewed-By: Luis Pereira <lpereira@allbesmart.pt>
Signed-off-by: Bartosz Podrygajlo <bartosz.podrygajlo@openairinterface.org>
Signed-off-by: Bartosz Podrygajlo <bartosz.podrygajlo@openairinterface.org>
@jfiedlerova jfiedlerova marked this pull request as draft May 26, 2026 12:48
@jfiedlerova jfiedlerova marked this pull request as ready for review May 26, 2026 12:49
jfiedlerova and others added 7 commits May 29, 2026 16:33
!3827 improved feprx processing time in 2x2 setup with 60MHz BW. Update
the timing thresholds accordingly.

Signed-off-by: Jaroslava Fiedlerova <jaroslava.fiedlerova@openairinterface.org>
…ration_2026_w22 (!3553)

Add automated FHI72 4x4 nightly testing

Add configuration files (conf, YAML, XML) for a new pipeline targeting
nightly high-throughput testing with FHI7.2 RUs.  This pipeline is
designed to perform daily performance and stability testing using
either:

- the integration branch (to detect regressions in high-throughput
  scenarios), or
- the develop branch (to collect up-to-date performance
  metrics and observe long-term stability trends)

Details:
- testing with F1 split: DU runs on stonechat, CU runs on OC
- 4x4 MIMO, 4 DL layers layers with VVDN, LiteON, Metanoia, Bennetel550
  and Benetel650 FHI7.2 RUs
- T2 card for LDPC processing
- TDD: DDDSU (special: DDDDDDDDGGGGUU) / DDDSU (special: DDDDDDGGGGUUUU)
  for Benetel configrations

Reviewed-By: Robert Schmidt <robert.schmidt@openairinterface.org>
…ion_2026_w22 (!4142)

CI: Cleanup of Jenkinsfiles and parameters

- pass pre-computed branch from orchestrator to downstream jobs
- pass repository from orchestrator to downstream jobs, repository is now
  configurable via ciRepositoryURL parameter of RAN-Container-Parent
- remove eNB_/ran-prefixed Jenkinsfile parameters
- address !4129 (comment 221898) and !4129 (comment 221900) and
  !4129 (comment 221927)

Reviewed-By: Robert Schmidt <robert.schmidt@openairinterface.org>
Signed-off-by: Robert Schmidt <robert.schmidt@openairinterface.org>
Integration: `2026.w22`

* !4140 Fix evaluation of PMI and CQI report when there is no RI report
* !4125 fix(phy): prevent division by zero in nr_csi_rs_pmi_estimation
* !4134 Add SRS LS and RSRP measurement logging for indoor positioning research
* !4086 vrtsim: Refactor peer antenna configuration and taps_client
* !4108 XNAP: Add encode/decode+unit tests for Xn HO Ack, Prep Failure, SN Status Transfer, UE Context Release
* !4096 O-RU fronthaul library
* !4147 1-port CQI report
* !4133 fix(config): fix memory safety, memory leaks, and add unit test coverage
* !4084 gold_cache: replace linear search with open-addressing hash table
* !4150 fix a few issues with unit tests
* !3827 Antenna port indexing of txdataF using FAPI spatial stream indices
* !4138 \[FHI72\] \[M-plane\] Implement dynamic compression
* !4144 fix(fhi72): Fix use-after-free bug in fhi_72 lib
* !3890 Fixes for multiplexing pattern 3 operations in FR2
* !4145 fix(vrtsim): handle CLOCK_REALTIME jump after PTP sync
* !4151 minor: fix nr rlc test make-based compilation
* !4141 wrong usage of extern declaration in C files, header cleanup
* !4153 doc: update 7.2 tutorial hardware and os configuration and add a doc to list supported hardware and OS
* !4066 Separate nfapi_p5.c into LTE and NR implementations
* !4098 \[CI OAI-FlexRIC\] Improve CI pipeline
* !3723 Support for aperiodic SRS at gNB
* !4076 Fix imscope and tracy build
* Fix the undefined `res` parameter if not defined K_RELEASE
* CI: Adjust timing thresholds in RAN-gNB-N300-Timing-Phytest-LDPC
* !3553 Add automated FHI72 4x4 nightly testing
* !4142 CI: Cleanup of Jenkinsfiles and parameters
* Adjust do_SRS after merge of !3723

Closes #1086, #1097, #1022, and #1076

See merge request oai/openairinterface5g!4146
Replace GitLab-specific CI infrastructure with GitHub-compatible
equivalents:
- Rename Jenkinsfile-GitLab-Container to Jenkinsfile-Container
- Replace checkGitLabMergeRequestLabels.sh with inline Groovy label checks
- Split parameter collection and label verification into separate stages
- Remove addGitLabMRComment calls (not applicable on GitHub)

Signed-off-by: Jaroslava Fiedlerova <jaroslava.fiedlerova@openairinterface.org>
@jfiedlerova

Copy link
Copy Markdown
Owner Author

/retrigger-build

@jfiedlerova jfiedlerova marked this pull request as draft May 30, 2026 13:21
@jfiedlerova jfiedlerova marked this pull request as ready for review May 30, 2026 13:21
@jfiedlerova jfiedlerova marked this pull request as draft June 3, 2026 12:19
@jfiedlerova jfiedlerova marked this pull request as ready for review June 3, 2026 12:19
@jfiedlerova jfiedlerova deployed to ci-approval June 3, 2026 12:19 — with GitHub Actions Active
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.