# Continuous Integration --- # Continuous Integration === # Continuous _What_ Now...? --- # Continuous _What_ Now...?
Automating the integration of code changes from multiple contributors into a single software project.

Atlassian

--- ## What Is It Good For? - Linting - Automated testing - Security analyses - Send messages - Slack, Discord, Matrix, Mastodon, email, ... - Building & compiling - Code, Documentation, ... - Deploying (PyPi, Kubernetes, GitHub Pages) - Just like these slides --- ## Take-away - Best practices are a time-investment _with returns_ - CI saves time and keeps your project clean - What improvements could your project benefit from? - What's nice to know, but overkill for your current work? --- ## Hands-On
  1. Person A: Ensure your repository has tests
  2. Person A: Set up Continuous Integration (automatic testing)
  3. Person A: Verify that tests ran
  4. Person A: Add a test that fails
  5. Person A: Open an issue
  6. Person B: Fork ⚠️ and clone person A's repo
  7. Person B: Fix the broken test
  8. Person B: Open a pull request linked to the issue
  9. Person B: Verify that tests now run
  10. Person A: Accept Person B's pull request
coderefinery.github.io/testing/full-cycle-ci/