Skip to content

Commit

Permalink
Add linting and pre-commit setup (#47)
Browse files Browse the repository at this point in the history
* Add linting setup

* Run `pre-commit` on all files

* Add GitHub Workflow to run lint checks

* Update Dockerfile python version

* Update README.md

* Add runtime.txt for Heroku
  • Loading branch information
jpadilla committed Jan 15, 2020
1 parent 000ae80 commit 1f9be8d
Show file tree
Hide file tree
Showing 27 changed files with 567 additions and 96 deletions.
2 changes: 1 addition & 1 deletion .flake8
@@ -1,5 +1,5 @@
[flake8]
ignore = E203, E266, E501, W503
ignore = E203, E266, E501, W503, E231
max-line-length = 88
max-complexity = 18
select = B,C,E,F,W,T4,B9
Expand Down
18 changes: 18 additions & 0 deletions .github/workflows/tests.yml
@@ -0,0 +1,18 @@
name: Build and test

on: [push]

jobs:
lint:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install pre-commit
run: pip install pre-commit
- name: Run pre-commit checks
run: pre-commit run --all-files
9 changes: 9 additions & 0 deletions .isort.cfg
@@ -0,0 +1,9 @@
[settings]
atomic=True
multi_line_output=3
include_trailing_comma=True
force_grid_wrap=0
combine_as_imports=True
line_length=88
skip=.venv,migrations
known_third_party = bleach,ckeditor,configurations,django,django_extensions,reversion,sentry_sdk
20 changes: 20 additions & 0 deletions .pre-commit-config.yaml
@@ -0,0 +1,20 @@
repos:
- repo: https://github.com/ambv/black
rev: 19.10b0
hooks:
- id: black

- repo: https://github.com/asottile/seed-isort-config
rev: v1.9.4
hooks:
- id: seed-isort-config

- repo: https://github.com/pre-commit/mirrors-isort
rev: v4.3.21
hooks:
- id: isort

- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v2.4.0
hooks:
- id: flake8
4 changes: 2 additions & 2 deletions Dockerfile
@@ -1,8 +1,8 @@
FROM python:3.7
FROM python:3.8

ARG PIPENV_ARGS

ENV LANG en_US.utf8
ENV LANG C.UTF-8
ENV PYTHONUNBUFFERED 1

# Add app user
Expand Down
5 changes: 5 additions & 0 deletions Pipfile
Expand Up @@ -5,6 +5,11 @@ name = "pypi"

[dev-packages]
Werkzeug = "==0.16.0"
black = "==19.10b0"
isort = "==4.3.21"
"flake8" = "==3.7.9"
pre-commit = "==1.21.0"
seed-isort-config = "==1.9.4"

[packages]
dj-database-url = "==0.5.0"
Expand Down
228 changes: 227 additions & 1 deletion Pipfile.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions README.md
Expand Up @@ -5,6 +5,15 @@ https://suministrospr.com
## Development

```bash
# Install pipenv (https://pipenv.kennethreitz.org/en/latest/install/#installing-pipenv)
$ pip install --user pipenv

# Install project dependencies
$ pipenv install --dev

# Install pre-commit hooks
$ pipenv run pre-commit install

$ cp example.env .env
$ pipenv install --dev
$ pipenv run python manage.py migrate
Expand Down
15 changes: 8 additions & 7 deletions manage.py
Expand Up @@ -2,16 +2,17 @@
import os
import sys

if __name__ == '__main__':
configuration = os.getenv('ENVIRONMENT', 'development').title()
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'suministrospr.settings')
os.environ.setdefault('DJANGO_CONFIGURATION', configuration)
if __name__ == "__main__":
configuration = os.getenv("ENVIRONMENT", "development").title()
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "suministrospr.settings")
os.environ.setdefault("DJANGO_CONFIGURATION", configuration)

try:
from configurations.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
'Couldn\'t import Django. Are you sure it\'s installed and '
'available on your PYTHONPATH environment variable? Did you '
'forget to activate a virtual environment?') from exc
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)
1 change: 1 addition & 0 deletions runtime.txt
@@ -0,0 +1 @@
python-3.8.1

0 comments on commit 1f9be8d

Please sign in to comment.