Extend CI/CD and produce deployable packages
Summary
Right now our CI/CD pipeline covers code with unit tests, but few things are still missing:
- docker container is rather old and is not kept up to date
- installation procedure isn't straightforward
- we do not provide a deployable package
- integration tests are missing
What is the expected correct behavior?
- External dependencies that are temporarily included in our codebase have to be factored out:
- molecularprofiles: see https://gitlab.cta-observatory.org/cta-array-elements/ccf/mdps/-/issues/9
-
rdams
client for the NCAR GDAS access: see https://github.com/NCAR/rda-apps-clients/issues/9
- Docker container must be updated
- Consider nightly builds with the "develop" version of the
ctapipe
- Consider stable builds with the latest stable release of the
ctapipe
- Consider different linux distros (CC7, Rocky Linux, Alma Linux)
- Consider interactive container creation
- The calibpipe packaging must be implemented
- Dependencies must be cleaned
- The package must be available at PyPI
- Installation instructions must be easy, clear, and as automated as possible
- Continuous integration
- Implement automated integration tests with CWL (for the moment)
- May require certain service accounts
- Consider cvmfs deployment of the code for further integration with other DPPS modules