-
Notifications
You must be signed in to change notification settings - Fork 0
65 lines (54 loc) · 1.86 KB
/
Testing_and_Linting.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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# This is a basic workflow to help you get started with Actions
name: Testing and Linting
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
services:
mysql:
image: mysql
env:
MYSQL_ROOT_PASSWORD: $rootpassword$
MYSQL_DATABASE: Watch_it
MYSQL_USER: watchit
MYSQL_PASSWORD: $watchitpassword$
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
strategy:
max-parallel: 4
matrix:
python-version: [3.8]
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Installing the Dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pytest
pip install pylint
pip install pylint_flask_sqlalchemy
pip install pylint-exit
- name: Creating db_config
run: |
cp src/Watch_it/db_config.py.sample src/Watch_it/db_config.py
- name: Testing using pytest
run: |
cd src/;python -m pytest
- name: Linting using pylint
run: |
pylint --load-plugins pylint_flask_sqlalchemy src/Watch_it/__init__.py || pylint-exit $?