Skip to content

Day 3 - Integration tests & CI/CD

Teachers: Karl Kosack (CEA Paris Saclay)

Overview

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.

Resources

Open in Fullscreen Mode