GSOC 2026 : Kishan Singh | System Tests Improvements

1. Motivation: Why GSoC This Summer?

I am currently in my third year of a B.Tech in Information Technology at ABES Engineering College, Ghaziabad (CGPA: 9.82/10), where I focus heavily on building production-grade systems. GSoC represents the ideal intersection of structured learning and real-world impact β€” a 12-week deep dive into a mature open-source codebase where my contributions will be used by researchers globally.

Rather than routine internship work, GSoC gives me the opportunity to collaborate with domain experts like Gerasimos Chourdakis, contribute to a project that powers multi-physics simulations for serious scientific computing, and sharpen my skills in Python automation, Docker orchestration, and CI/CD at scale. This summer I have no conflicting commitments β€” no exams, no part-time work β€” making it the perfect time to commit fully to a medium-sized (175h) project.

2. Why preCICE and This Project?

Multi-physics coupling is foundational to modern scientific simulation, and preCICE is the leading library enabling this. What drew me to the System Tests Improvements project specifically is that it sits at the exact intersection of my strengths: Python scripting, Docker container orchestration, and GitHub Actions CI/CD pipelines.

The opportunity to make the test infrastructure faster, parallel, and more developer-friendly has immediate, measurable impact. Every improvement I make will directly reduce the feedback loop for every contributor across every preCICE ecosystem repository. That kind of leverage is rare and motivating.

3. Other Commitments During GSoC

I will be a third-year student during the GSoC period. My college does not schedule major exams or lab assignments during summer, so I can dedicate approximately 30-35 hours per week to the project. I have no part-time employment. I intend to treat this with the same seriousness as a full-time role.

4. Relevant Technical Experience

Python

Python is my primary language. I have used it extensively for backend services (FastAPI), data pipelines (Apache Beam), and scripting automation. My recent contribution to the Oppia Foundation involved writing a production-safe Apache Beam Audit & Migration job β€” a stateful distributed pipeline for backfilling missing database records with comprehensive test coverage.

Docker & Container Orchestration

I have hands-on experience with Docker and Docker Compose across multiple projects. My Code Submission Platform uses a webhook-driven microservices architecture with Redis-backed queues (BullMQ) running in Docker containers. My Swasthya360 healthcare platform uses Docker Compose for scalable multi-service deployment. I understand image layering, volume mounts, networking, and how to structure multi-container test environments.

GitHub Actions & CI/CD

I have worked with GitHub Actions both as a contributor to Oppia (where I fixed a CI acceptance test breakage by resolving a race condition and incorrect modal visibility handling) and in my own projects. I understand workflow YAML syntax, matrix builds, artifact caching, job dependencies, and how to integrate test suites into PR-gated pipelines.

5. Git and GitHub Experience

Git is central to everything I do. I use branching strategies, rebase workflows, and squash merges daily. My open-source contributions include:

  • Hacktoberfest 2025 Global Super Contributor β€” Top 10,000 contributors worldwide for high-quality PRs across multiple repositories.

  • DrawDB PostgreSQL INHERITS β€” 240+ lines of production-grade code implementing parent-child table relationships for a popular open-source schema modeler.

  • Oppia Foundation CORE Collaborator (Jan 2026 – Present) β€” Fixed a Story Viewer publication-state bug, developed a migration job, and resolved a CI race condition, all through the full PR review lifecycle.

6. Entry Test: Work Already Done

I have already run the preCICE system tests locally and submitted three pull requests to the tutorials repository:

  • PR #723 β€” Fixing github api tokens.

  • PR #722 β€” Adding YAML schemas for components, tests, and metadata.

  • PR #719 β€” Adding a new tutorial to the system test suite.

Setting up the local environment gave me firsthand insight into the current friction points: test execution is sequential, failure messages are sparse, and adding new tutorials involves repetitive boilerplate. These are exactly the improvements I want to tackle during the project.

7. Proposed Approach & Ideas

Based on my hands-on experience with the system tests and the related issues, here is how I am thinking about the project:

  • Parallel test execution: Refactor the orchestration script to run independent test cases concurrently using Python’s asyncio or multiprocessing, reducing total CI time significantly.

  • Faster test cases: Identify tutorials with long runtimes and optimize solver configurations for CI-specific lightweight variants.

  • Better failure communication: Improve the log aggregation and GitHub Actions step summaries to surface numerical diffs, failing tutorial names, and relevant solver output directly in the PR interface.

  • Integrating more repositories: Extend the CI matrix to include additional ecosystem adapters, following the pattern already established for existing components.

8. Closing

I am genuinely excited about this project. The combination of Python, Docker, and GitHub Actions is where I am most productive, and the preCICE system tests are a meaningful infrastructure problem with a clear path to improvement. I look forward to discussing this further with Gerasimos and FrΓ©dΓ©ric in the forum and Matrix chat.

Thank you for your consideration. β€” Kishan Singh, ABES Engineering College, Ghaziabad

1 Like