Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gh actions #1646

Merged
merged 16 commits into from Apr 2, 2021
Merged
24 changes: 24 additions & 0 deletions .github/workflows/compile_catalog.yml
@@ -0,0 +1,24 @@
name: Compile Catalog

on:
pull_request:
push:
branches:
- main

jobs:
compile_catalog:
name: Compile Catalog
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Python 3.x
uses: actions/setup-python@v2
with:
python-version: 3.9
- run: python -m pip install tox
- name: Compile Catalog
run: tox
env:
TOXENV: compile-catalog
40 changes: 40 additions & 0 deletions .github/workflows/linters.yml
@@ -0,0 +1,40 @@
name: Linters

on:
pull_request:
push:
branches:
- main

jobs:
flake8:
name: flake8
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Python 3.x
uses: actions/setup-python@v2
with:
python-version: 3.9
- run: python -m pip install tox
- name: tox py39-flake8
run: tox
env:
TOXENV: py39-flake8

mypy:
name: mypy
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Python 3.x
uses: actions/setup-python@v2
with:
python-version: 3.9
- run: python -m pip install tox
- name: tox mypy
run: tox
env:
TOXENV: mypy
24 changes: 24 additions & 0 deletions .github/workflows/precommit.yml
@@ -0,0 +1,24 @@
name: Pre-Commit Checks

on:
pull_request:
push:
branches:
- main

jobs:
precommit:
name: precommit
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Python 3.x
uses: actions/setup-python@v2
with:
python-version: 3.9
- run: python -m pip install tox
- name: tox precommit
run: tox
env:
TOXENV: precommit
76 changes: 76 additions & 0 deletions .github/workflows/pytest.yml
@@ -0,0 +1,76 @@
name: PyTest

on:
pull_request:
push:
branches:
- main

jobs:
pytest:
runs-on: ubuntu-latest
strategy:
fail-fast: false
max-parallel: 4
matrix:
python-version:
- 3.6
- 3.7
- 3.8
- 3.9
- pypy3
tox-django-version:
- "22"
- "30"
- "31"
# GH Actions don't support something like allow-failure ?
# - "master"
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- run: python -m pip install tox
- name: Pytest
run: tox -e py-dj${{ matrix.tox-django-version }}

pytest-postgresql:
runs-on: ubuntu-latest
services:
postgres:
image: postgres
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: django_extensions_test
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
strategy:
fail-fast: false
max-parallel: 4
matrix:
python-version:
- 3.9
tox-django-version:
- "31"
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- run: python -m pip install tox
- name: Pytest
run: tox -e py-dj${{ matrix.tox-django-version }}-postgres
env:
DJANGO_EXTENSIONS_DATABASE_HOST: localhost
DJANGO_EXTENSIONS_DATABASE_USER: postgres
DJANGO_EXTENSIONS_DATABASE_PASSWORD: postgres
24 changes: 24 additions & 0 deletions .github/workflows/security.yml
@@ -0,0 +1,24 @@
name: Check Security Vulnerabilities

on:
pull_request:
push:
branches:
- main

jobs:
safety:
name: safety
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Python 3.x
uses: actions/setup-python@v2
with:
python-version: 3.9
- run: python -m pip install tox
- name: safety
run: tox
env:
TOXENV: safety
162 changes: 0 additions & 162 deletions .travis.yml

This file was deleted.

4 changes: 4 additions & 0 deletions tests/testapp/settings.py
Expand Up @@ -34,6 +34,10 @@
'default': {
'ENGINE': os.environ.get('DJANGO_EXTENSIONS_DATABASE_ENGINE', 'django.db.backends.sqlite3'),
'NAME': os.environ.get('DJANGO_EXTENSIONS_DATABASE_NAME', ':memory:'),
'USER': os.environ.get("DJANGO_EXTENSIONS_DATABASE_USER"),
'PASSWORD': os.environ.get("DJANGO_EXTENSIONS_DATABASE_PASSWORD"),
'HOST': os.environ.get('DJANGO_EXTENSIONS_DATABASE_HOST'),
'PORT': os.environ.get('DJANGO_EXTENSIONS_DATABASE_PORT'),
}
}

Expand Down
5 changes: 4 additions & 1 deletion tox.ini
Expand Up @@ -24,6 +24,9 @@ passenv =
DJANGO_EXTENSIONS_DATABASE_ENGINE
DJANGO_EXTENSIONS_DATABASE_NAME
DJANGO_EXTENSIONS_DATABASE_USER
DJANGO_EXTENSIONS_DATABASE_PASSWORD
DJANGO_EXTENSIONS_DATABASE_HOST
DJANGO_EXTENSIONS_DATABASE_PORT

setenv =
postgres: DJANGO_EXTENSIONS_DATABASE_ENGINE = {env:DJANGO_EXTENSIONS_DATABASE_ENGINE:django.db.backends.postgresql}
Expand All @@ -36,7 +39,7 @@ deps =
dj22: Django==2.2
dj30: Django>=3.0,<3.1
dj31: Django>=3.1,<3.2
djmaster: https://github.com/django/django/archive/master.tar.gz
djmaster: https://github.com/django/django/archive/refs/heads/main.zip
postgres: psycopg2-binary
mysql: mysqlclient

Expand Down