CI: Clone from internal git repo

This MR refactors the CI pipeline as a preparatory step for the GitLab --> GitHub migration.

The core idea is to use a dedicated stage RAN-Local-Repo-Push (introduced in !4017 (merged)) to clone source and target branches, merges them and push a resulting branch into internal git mirror. All downstream test jobs then check out exclusively from that mirror.

This makes the CI subpipelines independent of the remote repository and improves stability in case of disruptions - test jobs always check out from the internal mirror, not from GitLab/GitHub directly.

Changes:

  • doGitLabMerge.sh removed - merge is now done once in RAN-Local-Repo-Push, slave jobs check out the pre-merged branch from the internal mirror via SCM
  • RAN-Local-Repo-Push extended:
    • mergeWithTarget boolean parameter makes the merge optional (skipped on direct push events)
    • source/target remotes replace reliance on origin, targetRepo is now a configurable parameter to support fork-based MRs
  • CreateTag() removed from Python - testBranch and testRepository (default: internal mirror) are computed in the Jenkinsfile and passed directly, two optional override parameters (customBranch, customRepository) allow targeting a non-default branch or repo
  • create_workspace.sh is reduced to git clone --depth=1 --branch
  • all eNB_/ran-prefixed Jenkinsfile parameters and Python CLI arguments renamed to neutral names (sourceBranch, sourceCommit, workspace, repository, …), both old and new names accepted during the transition period
Edited by Jaroslava Fiedlerova

Merge request reports

Loading