As a maintainer, I want automated linting, testing, migrations, and Docker builds so that the project remains healthy and contributions are safe to merge.
Given a PR targeting main, when CI runs, then:
Ruff lint passes (no errors).
Black format check passes.
Postgres service starts; Alembic runs upgrade head successfully using split env vars.
Pytest runs and passes at least the health/key tests.
Docker image builds successfully.
Given a failing test or migration, when CI runs, then the job fails with clear logs.
Status badge visible in README.
Cache pip and Docker layers for speed.
Job completes in < 10 minutes.
As a maintainer, I want automated linting, testing, migrations, and Docker builds so that the project remains healthy and contributions are safe to merge.
Given a PR targeting main, when CI runs, then:
- [x] Ruff lint passes (no errors).
- [x] Black format check passes.
- [x] Postgres service starts; Alembic runs upgrade head successfully using split env vars.
- [x] Pytest runs and passes at least the health/key tests.
- [x] Docker image builds successfully.
- [ ] Given a failing test or migration, when CI runs, then the job fails with clear logs.
- [x] Status badge visible in README.
- [ ]Cache pip and Docker layers for speed.
- [ ] Job completes in < 10 minutes.
boris
added this to the Minimum Viable Product milestone 2025-09-23 14:37:21 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
As a maintainer, I want automated linting, testing, migrations, and Docker builds so that the project remains healthy and contributions are safe to merge.
Given a PR targeting main, when CI runs, then:
Ruff lint passes (no errors).
Black format check passes.
Postgres service starts; Alembic runs upgrade head successfully using split env vars.
Pytest runs and passes at least the health/key tests.
Docker image builds successfully.
Given a failing test or migration, when CI runs, then the job fails with clear logs.
Status badge visible in README.
Cache pip and Docker layers for speed.
Job completes in < 10 minutes.
Created simple pipeline for GitHub runner. Unclean but works.
Need to set up Gitea runner for better speed