Seg faulting Jenkins Job if it tries to checkout projects from svn/can't checkout a project
This issue is prompted by the recently nightlies failure, where MooreAnalysis
was added to the nightly slots. It was not specified in softdb
that this project should be checked-out from gitlab, and so we got this failure:
2020-02-06 00:46:21,715:INFO : checking out MooreAnalysis/HEAD
2020-02-06 00:46:21,715:DEBUG : checkout_update
2020-02-06 00:46:21,715:DEBUG : with args (), {u'merges': [[1, u'3d5ff97d18889ea0ea66701ae35fe278b52a10af']], u'commit': u'42558722d6801c369b10fe09f193d59aa396ac22'}
2020-02-06 00:46:21,716:DEBUG : updating https://lhcb-couchdb.cern.ch/nightlies-nightly/lhcb-gaudi-head.2524
2020-02-06 00:46:21,716:DEBUG : Started at: 2020-02-06 00:46:21.716273
2020-02-06 00:46:21,717:DEBUG : getting source URI from SoftDB
2020-02-06 00:46:21,723:DEBUG : got MOOREANALYSIS#HEAD
Traceback (most recent call last):
File "/build/jenkins-tests/workspace/nightly-builds/checkout/venv/bin/lbn-checkout", line 14, in <module>
sys.exit(Script().run())
File "/build/jenkins-tests/workspace/nightly-builds/checkout/venv/lib/python2.7/site-packages/LbCommon/Script.py", line 107, in run
rc = self.main()
File "/build/jenkins-tests/workspace/nightly-builds/checkout/venv/lib/python2.7/site-packages/LbNightlyTools/Scripts/Checkout.py", line 203, in main
context=CheckoutContext)
File "/build/jenkins-tests/workspace/nightly-builds/checkout/venv/lib/python2.7/site-packages/LbNightlyTools/Configuration.py", line 1730, in checkout
results[project.name] = project.checkout(**kwargs)
File "/build/jenkins-tests/workspace/nightly-builds/checkout/venv/lib/python2.7/site-packages/LbNightlyTools/Configuration.py", line 265, in extend_kwargs_wrapper
return method(self, *args, **opts)
File "/build/jenkins-tests/workspace/nightly-builds/checkout/venv/lib/python2.7/site-packages/LbNightlyTools/Configuration.py", line 231, in log_enter_step_wrapper
return method(self, *args, **kwargs)
File "/build/jenkins-tests/workspace/nightly-builds/checkout/venv/lib/python2.7/site-packages/LbNightlyTools/Configuration.py", line 184, in log_recorder
result = method(self, *args, **kwargs)
File "/build/jenkins-tests/workspace/nightly-builds/checkout/venv/lib/python2.7/site-packages/LbNightlyTools/Configuration.py", line 208, in log_timing_wrapper
result = method(*args, **kwargs)
File "/build/jenkins-tests/workspace/nightly-builds/checkout/venv/lib/python2.7/site-packages/LbNightlyTools/CheckoutMethods.py", line 1018, in default
return getpack(proj, *args, **kwargs)
TypeError: getpack() got an unexpected keyword argument 'merges'
Build step 'Execute shell' marked build as failure
Ideally, if something like this were to happen, the job should fail gracefully, omit the offending project and build everything else as best as it can.
EDIT: (@clemenci) There's two parts in this:
-
change the default so that new projects are assumed to come from Gitlab -
fix the script so that exceptions in checout tasks are properly handled
Edited by Marco Clemencic