Skip to content

refactor: Add coverage to dependencies and clean up CI #8

refactor: Add coverage to dependencies and clean up CI

refactor: Add coverage to dependencies and clean up CI #8

Workflow file for this run

name: CI/CD
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
workflow_dispatch:
jobs:
lint:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.13"]
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: pip install ruff
- name: Run Ruff Linter
uses: astral-sh/ruff-action@v3.2.2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Run Ruff Formatter Check
run: ruff format --check
test:
runs-on: ubuntu-latest
needs: lint
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Create .env file for Docker
run: |
echo "DJANGO_ALLOWED_HOSTS=localhost,127.0.0.1,0.0.0.0" >> .env
echo "DJANGO_SECRET_KEY=${{ secrets.DJANGO_SECRET_KEY }}" >> .env
echo "POSTGRES_DATABASE=${{ secrets.POSTGRES_DB }}" >> .env #
echo "POSTGRES_USERNAME=${{ secrets.POSTGRES_USER }}" >> .env #
echo "POSTGRES_PASSWORD=${{ secrets.POSTGRES_PASSWORD }}" >> .env
echo "POSTGRES_HOST=db" >> .env
echo "ANTIFRAUD_INTERNAL_PORT=8081" >> .env
echo "ANTIFRAUD_EXTERNAL_PORT=8081" >> .env
echo "ANTIFRAUD_CACHE_MS=1000" >> .env
- name: Build and run Docker containers
run: docker compose up -d --build
- name: Wait for services to be healthy
run: |
echo "Waiting for PostgreSQL..."
sleep 20
- name: Run tests and generate coverage report 🛡️
run: >
docker compose exec -T web sh -c
"coverage run manage.py test && coverage xml"
- name: Upload coverage to Codecov 🚀
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true