GSoC 2025 Project #11 GENN :: Moving GeNN’s automated testing from Jenkins to GitHub actions (175h)

Hi everyone! :wave:

I’m Sakthi Sharan, a graduate student currently pursuing my Master of Applied Computer Science at Dalhousie University in Halifax, Canada. I’m originally from India and have a strong interest in DevOps, automation, and open-source software, especially where it intersects with research and science.

I’m excited to be applying to INCF for GSoC 2025, specifically to contribute to the project “Moving GeNN’s automated testing from Jenkins to GitHub Actions” under the mentorship of Jamie Knight and Thomas Nowotny. I’ve been diving deep into GeNN’s codebase and CI setup, and I’m looking forward to both learning and contributing as much as I can.

Some of my technical interests include:

  • CI/CD workflows (GitHub Actions, Jenkins, Docker)
  • Cloud-native infrastructure (AWS, GCP, Kubernetes)
  • Python, C++, and backend automation
  • Making research tools more reproducible and scalable

I’m currently exploring GeNN and setting up my local environment. I’d love to hear any advice or experiences others have had working with GeNN, or in general how you’ve made the most out of your GSoC journey with INCF.

Looking forward to learning and collaborating with this amazing community.

Warm regards,
Sakthi Sharan
GitHub: Sakthi-S29 (M SAKTHI SHARAN) · GitHub
LinkedIn: linkedin.com/in/sakthi-sharan-m-833838196/

Hi @jamie and @tnowotny ,

I’ve been going through the GeNN documentation in detail, especially the installation section and Docker-based workflow. I noticed that GeNN depends on CUDA and is primarily GPU-accelerated, which is awesome but also makes CI integration a bit trickier.

While planning the GitHub Actions migration, I wanted to ask:

Do you see the GPU-based tests being a requirement for the GitHub Actions CI pipeline right away, or should the initial version focus on CPU-only validation (unit and integration tests) with potential GPU testing handled later via Docker or self-hosted runners?

Understanding this would help me structure the workflows efficiently — especially around test coverage expectations, matrix builds, and performance trade-offs.

Warm regards,
Sakthi Sharan