Skip to content

Refactor and improve the MR slots aka /ci-test

Rosen Matev requested to merge rmatev-ci-test into master
  • 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 in LbNightlyTools whereas only a wrapper is left at nightlies-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.
  • 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

Merge request reports