-
Notifications
You must be signed in to change notification settings - Fork 11
48 lines (44 loc) · 2.93 KB
/
django-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
name: Django CI
on:
push:
branches: [ dev ]
pull_request:
branches: [ dev ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
max-parallel: 4
matrix:
python-version: [3.7, 3.8, 3.9]
services: # https://docs.github.com/en/actions/using-containerized-services/creating-postgresql-service-containers
postgres:
image: postgres
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: github_actions
ports:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 # service doesn't come with health check
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Run migrations
env:
SECRET_KEY: rgv8ni2^xx-3gn5h4=go_&*g-+)fu=6tkb1%v=#3g*_89at7#$ # dummy secret key
run: | # need to run makemigrations command to avoid errors in scraper dependencies
python manage.py makemigrations
python manage.py migrate
- name: Run Tests
env:
SECRET_KEY: rgv8ni2^xx-3gn5h4=go_&*g-+)fu=6tkb1%v=#3g*_89at7#$
run: |
python manage.py test