Project: Automated Dependency Testing Pipeline for LibreHealth Toolkit

The LibreHealth Toolkit Dependency Testing Pipeline project aims to create a robust, Docker-based automated testing infrastructure that systematically evaluates the impact of dependency upgrades on the core platform. This infrastructure will enable continuous testing of various dependency version combinations, ensuring platform stability and identifying potential compatibility issues before they reach production.

The project focuses on core backend dependencies critical to the toolkit’s operation, independent of front-end implementations. This separation ensures that the testing pipeline remains relevant regardless of whether the installation uses legacy UI, Reference Application, or O3 modules/components.

Core Dependencies to Test:

  1. Java Runtime and Development Kit
  • LTS versions: 11, 17, 21
  • Quarterly updates within LTS versions
  • Different JVM implementations (OpenJDK, Eclipse Temurin)
  1. Database Layer
  • MySQL versions 8.0.x
  • MariaDB versions 10.x
  • Database connection pools
  • Hibernate ORM versions
  1. Spring Framework Stack
  • Spring Framework core
  • Spring Boot versions
  • Spring Security
  • Spring Data JPA
  • Spring Web MVC
  1. Supporting Libraries
  • Apache Commons libraries
  • Logging frameworks
  • XML processing libraries
  • JSON processing libraries
  • Connection pools

The deliverables of the project are as follows:

  • Develop a Docker-based testing infrastructure that can simulate different dependency combinations
  • Create automated test suites for core platform functionality
  • Implement version matrix testing for major dependencies
  • Generate comprehensive compatibility reports
  • Provide automated upgrade path recommendations
  • Create documentation for maintaining and extending the testing infrastructure

Testing Pipeline Implementation:

  • Dockerfile generation for different dependency combinations
  • Automated database schema upgrade testing
  • API compatibility verification
  • Performance benchmark comparisons
  • Security compliance checking
  • Regression testing suite

Pipeline Features:

  • Parallel testing of multiple dependency combinations
  • Automated test result aggregation
  • Performance metrics collection
  • Compatibility matrix generation
  • Failure analysis and reporting
  • Historical data tracking

Preliminary tasks:

  • Create base Docker configurations for current production dependencies
  • Implement basic test suite for core functionality
  • Set up CI/CD pipeline structure
  • Develop initial reporting framework

A developer working on this project needs to have skills in:

  • Docker and container orchestration
  • Java/JVM ecosystem
  • Database administration (MySQL/MariaDB)
  • CI/CD pipeline development
  • Test automation
  • Shell scripting
  • Performance testing and monitoring
  • Technical documentation

This infrastructure will significantly improve the reliability of LibreHealth Toolkit upgrades by providing comprehensive testing of dependency changes before they reach production environments. The Docker-based approach ensures consistent testing environments and reproducible results, while the automated pipeline enables continuous testing with minimal manual intervention.

The project output will help maintainers make informed decisions about dependency upgrades and provide users with clear upgrade paths that have been thoroughly tested. This systematic approach to dependency testing will enhance the overall stability and maintainability of the LibreHealth Toolkit platform.

Project size: Medium (~175 hours)
Mentors: @r0bby and @sunbiz

2 Likes

My name is Himanshu Verma. I am joining the LibreHealth community while preparing for Google Summer of Code 2026.

My background is mainly in Java and backend oriented development. I have contributed to Apache HugeGraph, gaining experience with large codebases, architecture, and open source workflows. My interests focus on system design and clean engineering practices.

While browsing GitLab, I saw the “GSoC Intro: Write a webcomponent with an existing REST resource” issue, but it appears to be from 2019. I wanted to ask if this is still a relevant starting point. I am currently exploring the ih-toolkit repository and would appreciate guidance on where to begin.

Thank you.

Hy Saptarshi Purkayastha (@sunbiz) and Robby O’Connor (@r0bby),

My name is Ayesha Malik, and I’m a final-year computer science undergraduate with a strong interest in open-source development, particularly projects that improve the reliability and sustainability of healthcare software.

I’ve been exploring LibreHealth and its mission to support open and accessible digital health solutions. Recently, I went through the GSoC 2026 project idea “Automated Dependency Testing Pipeline for LibreHealth Toolkit”, and I find it especially interesting due to its focus on early detection of dependency issues and improving the long-term stability of the Toolkit.

I’ve started setting up the LibreHealth Toolkit locally and reviewing the existing CI/CD and testing structure to better understand the current workflow and areas for improvement. My plan is to start with well-scoped contributions that help me align with the Toolkit’s development and contribution practices.

I’d really appreciate guidance on:

  • Recommended starter issues related to CI, testing, or dependencies

  • Any preferred tools or practices currently followed for automation in the Toolkit

I’m looking forward to learning, contributing, and becoming an active member of the LibreHealth community.

Thank you!