Merge remote-tracking branch 'origin/ci-speedup-clone' into integration_2022_wk41
This commit is contained in:
@@ -53,33 +53,35 @@ import constants as CONST
|
||||
# (e.g., cls_cluster.py)
|
||||
#-----------------------------------------------------------
|
||||
def CreateWorkspace(sshSession, sourcePath, ranRepository, ranCommitID, ranTargetBranch, ranAllowMerge):
|
||||
# on RedHat/CentOS .git extension is mandatory
|
||||
result = re.search('([a-zA-Z0-9\:\-\.\/])+\.git', ranRepository)
|
||||
if result is not None:
|
||||
full_ran_repo_name = ranRepository.replace('git/', 'git')
|
||||
else:
|
||||
full_ran_repo_name = ranRepository + '.git'
|
||||
if ranCommitID == '':
|
||||
logging.error('need ranCommitID in CreateWorkspace()')
|
||||
sys.exit('Insufficient Parameter in CreateWorkspace()')
|
||||
|
||||
sshSession.command(f'rm -rf {sourcePath}', '\$', 10)
|
||||
sshSession.command('mkdir -p ' + sourcePath, '\$', 5)
|
||||
sshSession.command('cd ' + sourcePath, '\$', 5)
|
||||
sshSession.command('if [ ! -e .git ]; then stdbuf -o0 git clone ' + full_ran_repo_name + ' .; else stdbuf -o0 git fetch --prune; fi', '\$', 600)
|
||||
if sshSession.getBefore().count('done.') == 0:
|
||||
logging.warning('did not find \'done.\' in git output while cloning/fetching, was not successful?')
|
||||
# Recent version of git (>2.20?) should handle missing .git extension # without problems
|
||||
sshSession.command(f'git clone --filter=blob:none -n -b develop {ranRepository} .', '\$', 60)
|
||||
if sshSession.getBefore().count('error') > 0 or sshSession.getBefore().count('error') > 0:
|
||||
sys.exit('error during clone')
|
||||
sshSession.command('git config user.email "jenkins@openairinterface.org"', '\$', 5)
|
||||
sshSession.command('git config user.name "OAI Jenkins"', '\$', 5)
|
||||
|
||||
sshSession.command('git clean -x -d -ff', '\$', 30)
|
||||
sshSession.command('mkdir -p cmake_targets/log', '\$', 5)
|
||||
# if the commit ID is provided use it to point to it
|
||||
if ranCommitID != '':
|
||||
sshSession.command('git checkout -f ' + ranCommitID, '\$', 30)
|
||||
sshSession.command(f'git checkout -f {ranCommitID}', '\$', 30)
|
||||
if sshSession.getBefore().count(f'HEAD is now at {ranCommitID[:6]}') != 1:
|
||||
sshSession.command('git log --oneline | head -n5', '\$', 5)
|
||||
logging.warning(f'problems during checkout, is at: {sshSession.getBefore()}')
|
||||
else:
|
||||
logging.debug('successful checkout')
|
||||
# if the branch is not develop, then it is a merge request and we need to do
|
||||
# the potential merge. Note that merge conflicts should already been checked earlier
|
||||
if ranAllowMerge:
|
||||
if ranTargetBranch == '':
|
||||
sshSession.command('git merge --ff origin/develop -m "Temporary merge for CI"', '\$', 5)
|
||||
else:
|
||||
logging.debug('Merging with the target branch: ' + ranTargetBranch)
|
||||
sshSession.command('git merge --ff origin/' + ranTargetBranch + ' -m "Temporary merge for CI"', '\$', 5)
|
||||
ranTargetBranch = 'develop'
|
||||
logging.debug(f'Merging with the target branch: {ranTargetBranch}')
|
||||
sshSession.command(f'git merge --ff origin/{ranTargetBranch} -m "Temporary merge for CI"', '\$', 5)
|
||||
|
||||
def CopyLogsToExecutor(sshSession, sourcePath, log_name, scpIp, scpUser, scpPw):
|
||||
sshSession.command(f'cd {sourcePath}/cmake_targets', '\$', 5)
|
||||
|
||||
@@ -166,6 +166,7 @@ class PhySim:
|
||||
isRunning = True
|
||||
podNames = re.findall('oai-[\S\d\w]+', mySSH.getBefore())
|
||||
count +=1
|
||||
mySSH.command('for pod in $(oc get pods | tail -n +2 | awk \'{print $1}\'); do oc describe pod $pod >> cmake_targets/log/physim_pods_summary.txt; done', '\$', 10)
|
||||
if isRunning == False:
|
||||
logging.error('\u001B[1m Some PODS Running FAILED \u001B[0m')
|
||||
mySSH.command('oc get pods -l app.kubernetes.io/instance=physim 2>&1 | tee -a cmake_targets/log/physim_pods_summary.txt', '\$', 6)
|
||||
|
||||
Reference in New Issue
Block a user