Skip to content

workflows

This directory contains the automated workflows used by GitHub Actions to perform Continuous Integration (CI) for the repository. These workflows ensure code quality and stability by automatically running test suites whenever changes are proposed or merged.

Continuous Integration Workflow

The primary workflow defined in this directory is:

  • ci.yml: Manages the automated testing pipeline for the codebase.

How the CI Workflow Works

The ci.yml workflow is configured to run automatically under the following conditions:

  • Any push event to the main branch.
  • Any pull_request event targeting the main branch.

When triggered, the workflow performs a single job named test on an ubuntu-latest runner. The job executes the following sequence of steps:

  1. Checkout: Uses the actions/checkout action to clone the repository's code into the runner environment.
  2. Environment Setup: Configures Python 3.11 using the actions/setup-python action. It optimizes build times by caching pip dependencies mapped to the requirements-dev.txt file, ensuring subsequent runs are fast and efficient.
  3. Dependency Installation: Installs the development and testing dependencies specified in requirements-dev.txt.
  4. Test Execution: Runs the test suite using pytest to verify the integrity and correctness of the codebase.

This automated pipeline enforces security best practices by limiting repository permissions to read-only (contents: read) during the run, ensuring that pull requests cannot maliciously alter the repository's contents.