diff --git a/docs/pipeline.md b/docs/pipeline.md index dae6608..c4e8d1e 100644 --- a/docs/pipeline.md +++ b/docs/pipeline.md @@ -2,23 +2,60 @@ ## Overview -The TaskTracker project uses GitHub Actions for Continuous Integration. +TaskTracker uses GitHub Actions to automate testing, coverage reporting, and Docker image publishing. The workflow runs on pushes to the configured development and feature branches, as well as on pull requests. -Pipeline executes automatically on: - -- Push to feature branches -- Push to develop -- Push to main -- Pull Requests +The pipeline executes automatically on: +- Pushes to feature branches +- Pushes to `develop` +- Pushes to `main` +- Pull requests targeting the integration branches --- ## Pipeline Stages + ### 1. Checkout -Downloads repository source code. +The workflow checks out the latest version of the source code. + +### 2. Environment Setup + +Python 3.12 is installed, and all project dependencies are restored from `requirements.txt`. + +### 3. Testing + +The complete Pytest test suite is executed against a PostgreSQL 16 service container. + +### 4. Coverage + +Code coverage is generated using `pytest-cov` to ensure adequate test coverage. + +### 5. Image Publishing + +After all tests pass, the Docker image is built and pushed to Docker Hub from the configured release branches. + +--- + +## Required Secrets + +The following repository secrets must be configured: + +* `DOCKERHUB_USERNAME` +* `DOCKERHUB_TOKEN` + +--- + +## Published Image + +The latest image is available as: + +`/tasktracker:latest` + +Replace `` with your actual Docker Hub username. + +--- + +## Monitoring the Pipeline -```yaml -uses: actions/checkout@v4 -``` \ No newline at end of file +Workflow runs and logs are available in the **Actions** tab of the GitHub repository.