-
Notifications
You must be signed in to change notification settings - Fork 0
79 lines (68 loc) · 2.25 KB
/
Copy pathtests.yaml
File metadata and controls
79 lines (68 loc) · 2.25 KB
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
name: Django Tests
on: [pull_request, push]
jobs:
test:
runs-on: ubuntu-latest
env:
MYSQL_ROOT_PASSWORD: mysql_root_password
MYSQL_DATABASE: mysql_database
MYSQL_USER: mysql_user
MYSQL_PASSWORD: mysql_password
MYSQL_HOST: 127.0.0.1
MYSQL_PORT: 3306
services:
mysql:
image: mysql:latest
env:
MYSQL_ROOT_PASSWORD: ${{ env.MYSQL_ROOT_PASSWORD }}
MYSQL_DATABASE: ${{ env.MYSQL_DATABASE }}
MYSQL_USER: ${{ env.MYSQL_USER }}
MYSQL_PASSWORD: ${{ env.MYSQL_PASSWORD }}
ports:
- 3306:3306
options: >-
--health-cmd="mysqladmin ping"
--health-interval=10s
--health-timeout=5s
--health-retries=3
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.10"
- name: Install dependencies
run: |
python3 -m pip install --upgrade pip
sudo apt-get update -y
sudo apt-get install mysql-client -y
sudo apt-get install graphviz graphviz-dev -y
pip install pipenv
pipenv requirements > requirements.txt
pip install -r requirements.txt
- name: Make migrations
env:
MYSQL_ROOT_PASSWORD: ${{ env.MYSQL_ROOT_PASSWORD }}
MYSQL_DATABASE: ${{ env.MYSQL_DATABASE }}
MYSQL_USER: ${{ env.MYSQL_USER }}
MYSQL_PASSWORD: ${{ env.MYSQL_PASSWORD }}
MYSQL_HOST: 127.0.0.1
MYSQL_PORT: ${{ env.MYSQL_PORT }}
run: |
mysql -u root -p"${{ env.MYSQL_ROOT_PASSWORD }}" -e "GRANT ALL PRIVILEGES ON *.* TO '${{ env.MYSQL_USER }}'@'%';"
python3 ./src/manage.py migrate
- name: Run linters
run: |
pip install flake8
flake8 .
- name: Run tests
env:
MYSQL_ROOT_PASSWORD: ${{ env.MYSQL_ROOT_PASSWORD }}
MYSQL_DATABASE: ${{ env.MYSQL_DATABASE }}
MYSQL_USER: ${{ env.MYSQL_USER }}
MYSQL_PASSWORD: ${{ env.MYSQL_PASSWORD }}
MYSQL_HOST: ${{ env.MYSQL_HOST }}
MYSQL_PORT: ${{ env.MYSQL_PORT }}
run: |
python3 ./src/manage.py test