flamingo-run/django-cloud-tasks

View on GitHub
.github/workflows/main.yaml

Summary

Maintainability
Test Coverage
name: Github CI

on:
  pull_request:
    branches:
      - '**'
  push:
    branches:
      - main

jobs:
  linter:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: [ '3.11.x', '3.12.x' ]
    steps:
      - uses: actions/checkout@v4
      - name: Install poetry
        run: pipx install poetry
      - name: Set up Python
        uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python-version }}
          cache: poetry
      - name: Install Python dependencies
        run: make dependencies

      - name: Lint code style
        run: |
          make lint
  security:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: [ '3.11.x', '3.12.x' ]
    steps:
      - uses: actions/checkout@v4
      - name: Install poetry
        run: pipx install poetry
      - name: Set up Python
        uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python-version }}
          cache: poetry

      - name: Install Python dependencies
        run: make dependencies

      - name: Check vulnerabilities
        run: |
          make check
  unit:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        python-version: [ '3.11.x', '3.12.x' ]
    steps:
      - uses: actions/checkout@v4
      - name: Install poetry
        run: pipx install poetry
      - name: Set up Python
        uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python-version }}
          cache: poetry

      - name: Install Python dependencies
        run: make dependencies

      - name: Unit test with Django test suite
        run: |
          make unit
        env:
          LOG_LEVEL: ERROR

      - name: Report Coverage
        run: |
          pip3 install --upgrade coveralls coverage[toml]
          coveralls --service=github
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}