diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index 390698b..0000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,132 +0,0 @@ -name: Tests - -on: - push: - branches: [ main, develop ] - pull_request: - branches: [ main, develop ] - -jobs: - test: - name: Test - runs-on: ubuntu-latest - permissions: - contents: read - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: '3.10' - - - name: Cache pip packages - uses: actions/cache@v4 - with: - path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ hashFiles('backend/requirements.txt') }} - restore-keys: | - ${{ runner.os }}-pip- - - - name: Install dependencies - run: | - python -m pip install --upgrade pip - cd backend - pip install -r requirements.txt - - - name: Run tests with coverage - run: | - cd backend - pytest --cov=app --cov-report=xml --cov-report=term-missing - - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v4 - with: - file: ./backend/coverage.xml - flags: unittests - name: codecov-umbrella - fail_ci_if_error: false - - lint: - name: Lint and Format Check - runs-on: ubuntu-latest - permissions: - contents: read - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: '3.10' - - - name: Install linting tools - run: | - python -m pip install --upgrade pip - pip install pylint black flake8 isort mypy - cd backend && pip install -r requirements.txt - - - name: Run Black (format check) - run: | - black --check backend/app - - - name: Run isort (import order check) - run: | - isort --check-only backend/app - - - name: Run Flake8 - run: | - flake8 backend/app - - - name: Run Pylint - run: | - pylint backend/app - continue-on-error: true - - docker: - name: Docker Build & Publish - runs-on: ubuntu-latest - needs: [test, lint] - if: github.event_name == 'push' && github.ref == 'refs/heads/main' - permissions: - contents: read - packages: write - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Log in to GitHub Container Registry - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Extract metadata for Docker - id: meta - uses: docker/metadata-action@v5 - with: - images: ghcr.io/${{ github.repository }} - tags: | - type=ref,event=branch - type=sha,prefix= - type=raw,value=latest,enable={{is_default_branch}} - - - name: Build and push Docker image - uses: docker/build-push-action@v6 - with: - context: ./backend - file: ./backend/Dockerfile - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - cache-from: type=gha - cache-to: type=gha,mode=max