This is a simple Python application designed to support experimentation with GitHub Actions CI/CD pipelines and Databricks Mosaic AI agents.
This repo contains a basic calculator module with the following functionality:
add(a, b)
subtract(a, b)
multiply(a, b)
divide(a, b)
(raisesValueError
on divide by zero)
All logic lives in app/calculator.py
and is tested via pytest
in tests/test_calculator.py
.
This repo is used as a sandbox for building AI agents that can:
- Assess CI/CD workflows for common issues and inefficiencies
- Automatically review pull requests and identify missing reviewers, vague titles, etc.
- Provide feedback on workflow completeness (e.g., are tests being run? Is the pipeline too manual?)
We are integrating these agents using the Mosaic AI agentic framework in Databricks.
This repo uses GitHub Actions to run tests automatically:
- ✅ On push to
main
- ✅ On pull request to
main
You can trigger it by:
- Creating a pull request
- Pushing a commit directly to
main
Workflow file: .github/workflows/python-ci.yml
To run tests locally:
pip install -r requirements.txt
pytest --cov=app --cov-branch --cov-report=xml
To view coverage details, the workflow uses Codecov:
- The badge above reflects current code coverage.
- After each CI run, coverage is uploaded and visible on the Codecov dashboard.
- Click the badge to explore uncovered lines or trends over time.
You can also explore coverage in your local dev environment:
open htmlcov/index.html
(Requires running coverage html
after tests)
This repository has branch protection rules in place:
- ✅ All changes to
main
must go through a pull request. - ✅ PRs must be approved by @gnakan (as defined in
.github/CODEOWNERS
). - ✅ CI checks (tests and coverage) must pass before merging.
These rules ensure high quality and intentional changes as we test agent-assisted workflows.