This lesson is being piloted (Beta version)

CI/CD: Glossary

Key Points

Introduction
  • CI/CD is crucial for any reproducibility and testing

  • Take advantage of automation to reduce your workload

Exit Codes
  • Exit codes are used to identify if a command or script executed with errors or not

  • Not everyone respects exit codes

Understanding Yet Another Markup Language
  • YAML is a plain-text format, similar to JSON, useful for configuration

  • YAML is used in many CI/CD tools and solutions

YAML and GitHub Actions
  • You should bookmark the GitHub Actions reference. You’ll visit that page often.

  • Actions are standalone commands that are combined into steps to create a job.

  • Workflows are made up of one or more jobs and can be scheduled or triggered.

Hello CI World
  • Creating .github/workflows/main.yml is the first step to CI/CD.

  • Pipelines are made of jobs with steps.

CI for Python Package
  • GitHub has a Marketplace of reusable Actions

  • CI can help automated running tests for code changes to your Python package

Matrix
  • Matrix can help DRY your CI for multi-version and cross-platform testing

  • Using matrix allows to test the code against a combination of versions.

CD for Python Package
  • GitHub Actions can also help you deploy your package to a registry for distribution.

Badge for CI/CD
  • Badges are fun!

(Bonus) Discuss CI/CD for Documentation
  • Documentation and website artifacts are different than package artifacts

(Bonus) Quick primer on Containers
  • Containers are a very common packaging artifact for web-based applications

(Bonus) Implementing CI/CD for documentation using containers
  • GitHub provides resources to publish container images

Glossary

FIXME