Managing an RSE Ecosystem via Continuously Deploying Templates
Description
In modern research software engineering (RSE), maintaining consistency, quality, and sustainability across a growing number of software projects poses significant challenges. This work presents a novel approach to managing an RSE ecosystem by leveraging continuously deployed and open-source software templates as the foundation for all projects. These templates encapsulate state-of-the-art software engineering practices, including modular architecture, automated testing, formatting and linting, and documentation standards.
Projects are instantiated from these templates using Cruft, an open-source tool that enables non-destructive template updates. Cruft preserves project-specific customizations while allowing seamless integration of upstream improvements. This ensures that all derived projects remain aligned with evolving best practices without requiring manual intervention or risking regressions.
To automate the propagation of template changes, we integrate GitLab CI/CD with a registry of template-derived projects. Parent-child pipeline relationships are established, enabling a centralized update mechanism: when a template is modified, downstream projects are automatically triggered to incorporate and validate the changes. This approach not only reduces technical debt but also enforces consistency and compliance across the ecosystem.
Beyond template management, the same pipeline infrastructure is extended to handle continuous deployment of downstream dependencies, particularly in web applications. When a core library or shared component is updated, dependent applications are rebuilt and redeployed automatically, ensuring rapid delivery of improvements and security patches.
This ecosystem-wide automation fosters a sustainable development environment where reproducibility, maintainability, and scalability are first-class citizens. By combining Cruft’s template tracking with GitLab’s CI/CD orchestration, we demonstrate a robust and extensible framework for managing complex RSE ecosystems with minimal manual overhead.
Files
main.pdf
Files
(10.4 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:38448d3b4682fc62725b7e6c1c5e77fe
|
7.3 MB | Preview Download |
|
md5:04ba8d5e1ef74c4038eb56fc83a1d39c
|
3.1 MB | Preview Download |
Additional details
Identifiers
Related works
- Is supplement to
- Presentation: https://github.com/Chilipp/derse26-presentation-software-templates/releases/tag/v1.0.0 (URL)
- Presentation: https://events.hifis.net/event/2945/contributions/21121/ (URL)
Software
- Repository URL
- https://github.com/Chilipp/derse26-presentation-software-templates
- Programming language
- TeX