Skip to content
Snippets Groups Projects

Nightly Builds Jenkins Scripts

Scripts used in the Jenkins Nightly Builds jobs.

Introduction

As described in LBCORE-1772, we decided to separate the Jenkins logic from the actual Nightly Builds logic.

This project collects the entry points used in Jenkins to prepare (prepare_env.sh) the local installation of the Python tools constituting the main logic of the LHCb Nightly Builds, and then invoke the actions specific to each Jenkins job part of the Nightly Builds Workflow.

The Python tools

The list of Python packages required to run the LHCb Nightly Builds is recorded in the pip requirements file requirements.txt.in, which, to ensure stability and reproducibility of the jobs, is processed via pip-compile to produce the actually used file requirements.txt.

When needed, the requirements.txt can be updated with

pip-compile --index-url=https://lhcb-repository.web.cern.ch/repository/pypi/simple --output-file=requirements.txt requirements.txt.in

For testing it's possible to temporary modify the content of the toolbox via the environment variable JENKINS_OVERRIDE_PIP_REQUIREMENTS, to be set to a valid set of options to pass to the command pip install.