generated from nyu-software-engineering/containerized-app-exercise
-
Notifications
You must be signed in to change notification settings - Fork 0
36 lines (35 loc) · 1.33 KB
/
lint.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
name: lint-free
on: [push, pull_request]
jobs:
lint-and-format:
runs-on: ubuntu-latest
strategy:
matrix:
# repeat same job for each subsystem in the following subdirectories
subdir: [web-app, machine-learning-client]
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11" # update version(s) as needed
- name: Install dependencies
if: ${{ hashFiles(format('{0}/**/*.py', matrix.subdir)) != '' }}
run: |
cd ${{ matrix.subdir }}
python -m pip install --upgrade pip
python -m pip install pipenv
pipenv sync --dev --python $(which python)
pipenv shell --fancy --python $(which python)
- name: Lint with pylint
if: ${{ hashFiles(format('{0}/**/*.py', matrix.subdir)) != '' }}
# you may set pylint to ignore any files or dependencies that make no sense to lint
run: |
cd ${{ matrix.subdir }}
pipenv run pylint **/*.py
- name: Format with black
if: ${{ hashFiles(format('{0}/**/*.py', matrix.subdir)) != '' }}
# you may set black to ignore any files or dependencies that make no sense to format
run: |
cd ${{ matrix.subdir }}
pipenv run black --diff --check .