Skip to content

Update django.yml

Update django.yml #57

Workflow file for this run

name: Testing django server
on:
push:
pull_request:
branches: [ "master", 'backend' ]
jobs:
build_and_test_backend:
name: Run, build and test backend
env:
SECRET_KEY: ${{ secrets.SECRET_KEY }}
POSTGRES_USER: ${{ secrets.POSTGRES_USER }}
POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
POSTGRES_DB: ${{ secrets.POSTGRES_DB }}
POSTGRES_HOST: 127.0.0.1
POSTGRES_PORT: ${{ secrets.POSTGRES_PORT }}
REDIS_CELERY: ${{ secrets.REDIS_CELERY }}
REDIS_CACHE: ${{ secrets.REDIS_CACHE }}
DJANGO_SETTINGS_MODULE: ${{ secrets.DJANGO_SETTINGS_MODULE }}
runs-on: ubuntu-latest
services:
database:
image: postgres:latest
ports:
- 5432:5432
env:
POSTGRES_USER: ${{ secrets.POSTGRES_USER }}
POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
POSTGRES_DB: ${{ secrets.POSTGRES_DB }}
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
redis_cache:
image: redis:latest
ports:
- 6379:6379
options: --health-cmd "redis-cli ping" --health-interval 10s --health-timeout 5s --health-retries 5
redis_celery:
image: redis:latest
ports:
- 6380:6379
options: --health-cmd "redis-cli ping" --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: 3.10.12
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
working-directory: ./backend
- name: Test migrations
run: |
echo "||||||||||||||||||||||||||||||||||||||||||||||||||||||"
echo $POSTGRES_HOST
echo "||||||||||||||||||||||||||||||||||||||||||||||||||||||"
python manage.py migrate --no-input
working-directory: ./backend
- name: Create test_fixture.json
run: |
echo ||||||||||||||||||||||||||||||||||||||||||||||||||||||
echo $POSTGRES_HOST
echo ||||||||||||||||||||||||||||||||||||||||||||||||||||||
python backend/fixtures/generate_fixtures.py --test
- name: Run Django tests
run: python manage.py test -v2
working-directory: ./backend
flake8:
name: Flake8 Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: 3.10.12
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install flake8
- name: Run Flake8
run: |
flake8 . --exclude=*/migrations/*
working-directory: ./backend