Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 48 additions & 11 deletions docs/pipeline.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

`<your-dockerhub-username>/tasktracker:latest`

Replace `<your-dockerhub-username>` with your actual Docker Hub username.

---

## Monitoring the Pipeline

```yaml
uses: actions/checkout@v4
```
Workflow runs and logs are available in the **Actions** tab of the GitHub repository.
Loading