Refactor and improve the MR slots aka /ci-test
- Move and refactor the
gitlab-mr.py
jenkins job (see nightlies-jenkins-scripts!17 (merged)).- The logic and entry point (
lbn-gitlab-mr
) is now inLbNightlyTools
whereas only a wrapper is left atnightlies-jenkins-scripts
. - Handling of the hook is simplified and feedback is improved (especially on errors). The source of the trigger (note and discussion) is passed to the main job such that it can provide more feedback.
- There is a way to set main job parameters (
/ci-test --param JENKINS_OVERRIDE_PIP_REQUIREMENTS=...
) - The ci-test logic can now also be run as a standalone script
lbn-gitlab-mr
but in this case feedback to GitLab is not made.
- The logic and entry point (
- Move MR slots definition from LHCbNightlyConf (see LHCbNightlyConf!247 (merged)).
- Simplify a bit (e.g. use existing gitlab utils) improve docs and add a test.
- Add feedback with the links to exact builds and comparison.
- Add ci-test-triggered label to MRs.
- Add "integration" mode (
/ci-test --merge
) in which the MR is merged and unspecified projects have the default checkout (target branch).- Fail if any merge request is merged or has "cannot_be_merged" status
Wider changes:
- Remove check for gitlab token with
--resolve-mrs
in main job. - Use unauthenticated Gitlab connection when no
GITLAB_TOKEN
present. - By default
lbn-enable-slots
does a dry run. Add--submit
to submit to db.
Includes !245 (merged). The diff with respect to it is https://gitlab.cern.ch/lhcb-core/LbNightlyTools/compare/remove-contrib...rmatev-ci-test
Closes #9 (closed) #14 (closed) LHCbNightlyConf#2 (closed) LHCbNightlyConf#3 (closed)
Edited by Rosen Matev