Web pages, video, Presentation

S³ School : Day 3 - session 2 : Integration tests & CI/CD

This course is part of the S³ School initiative, carried out in the framework of the European projects OSCARS and EVERSE. The S³ School is a structured training program dedicated to advancing skills in open science, reproducible research, and sustainable scientific software development. It brings together researchers, engineers, and students to promote best practices in scientific computing, with a strong emphasis on transparency, reproducibility, and the long-term sustainability of research software across disciplines.

The session focuses on transitioning from manual debugging and local testing to automated, scalable workflows using Continuous Integration (CI) and Continuous Delivery (CD).

Continuous Integration (CI): The lecture covers the practice of frequently integrating code changes into a shared main branch, where automated processes—such as linting (code quality checking) and unit testing—verify the code's health. It explores how to use external services like GitHub Actions to run these tests across diverse environments, including different operating systems (Linux, macOS, Windows) and Python versions, to ensure cross-platform compatibility.

Continuous Delivery (CD): The presentation details the automation of software releases, including the generation and sharing of artifacts like packages, documentation, and analysis results.

Practical Implementation: Students learn to create YAML-based workflows in GitHub to automate these tasks and explore the "GitHub Flow" model, where branch-based development and mandatory CI checks ensure the main branch remains stable and ready for delivery.

DOI: https://doi.org/10.5281/zenodo.19633351

Keywords: CI/CD, Integration tests

Resource type: Web pages, Video Lecture, Presentation

Authors: Karl Kosack


Activity log