Speaker
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.