27–29 Jun 2023
SKAO
Europe/London timezone

CI/CD at MAX IV

28 Jun 2023, 16:30
15m
Council Chamber (SKAO)

Council Chamber

SKAO

Jodrell Bank, Macclesfield SK11 9FT
Presentation TANGO Adoptions design and techniques TANGO Adoptions design and techniques

Speaker

Benjamin Bertrand (MAX IV Laboratory)

Description

The goal of this talk is to share the workflow in place at MAX IV for building and deploying Tango devices. We will focus on the use of GitLab CI templates to ensure code quality, facilitate building processes, and run tests.
Conda has become our primary packaging tool, replacing RPM (Red Hat Package Manager). We will discuss how our GitLab CI templates seamlessly generate Conda packages for Python modules, eliminating the need to write a recipe, thanks to the grayskull tool.
When it comes to testing PyTango devices, our preferred approach is to utilize the DeviceTestContext. However, it's also possible to run tests using a Tango Databaseds Server and MySQL/MariaDB, leveraging the capabilities provided by GitLab CI services.
Versioning is made effortless with setuptools-scm, enabling us to seamlessly update our Ansible inventory when tagging a repository.
To ensure up-to-date software on all beamlines, we perform deployments every Monday. Additionally, we will touch upon the possibilities of setting up continuous deployment in specific cases, enabling automatic software update.

Primary author

Benjamin Bertrand (MAX IV Laboratory)

Presentation materials