Skip to content

Commit

Permalink
Create python-app.yml
Browse files Browse the repository at this point in the history
First try at github actions
  • Loading branch information
Gagaro committed Nov 30, 2020
1 parent d83691b commit 911719d
Show file tree
Hide file tree
Showing 2 changed files with 115 additions and 2 deletions.
113 changes: 113 additions & 0 deletions .github/workflows/python-app.yml
@@ -0,0 +1,113 @@
# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: Python application

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
tests_python:
name: Test on Python ${{ matrix.python_version }} and Django ${{ matrix.django_version }} on ${{ matrix.database }}
runs-on: ubuntu-latest
strategy:
matrix:
django_version: [ '1.11', '2.0', '2.1', '2.2', '3.0', '3.1' ]
python_version: [ '3.4', '3.5', '3.6', '3.7', '3.8', '3.9' ]
database: [ 'postgres' ]
exclude:
- django_version: '1.11'
python_version: '3.8'
- django_version: '1.11'
python_version: '3.9'

- django_version: '2.0'
python_version: '3.8'
- django_version: '2.0'
python_version: '3.9'

- django_version: '2.1'
python_version: '3.4'
- django_version: '2.1'
python_version: '3.8'
- django_version: '2.1'
python_version: '3.9'

- django_version: '2.2'
python_version: '3.4'

- django_version: '3.0'
python_version: '3.4'
- django_version: '3.0'
python_version: '3.5'

- django_version: '3.1'
python_version: '3.4'
- django_version: '3.1'
python_version: '3.5'
include:
- django_version: '2.2'
python_version: '3.7'
database: 'sqlite'
env:
SPATIALITE_LIBRARY_PATH: 'mod_spatialite'
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

services:
postgres:
image: postgis/postgis:10-2.5
env:
# must specify password for PG Docker container image, see: https://registry.hub.docker.com/_/postgres?tab=description&page=1&name=10
POSTGRES_PASSWORD: password
POSTGRES_DB: test_db
ports:
- 5432:5432
# needed because the postgres container does not provide a healthcheck
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5

steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python_version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python_version }}
- name: Install dependencies
run: |
sudo apt-get update -qq
sudo apt-get install -y libproj-dev libgeos-dev gdal-bin libgdal-dev
python -m pip install --upgrade pip
pip install flake8 coveralls psycopg2-binary argparse
pip install Django~=${{ matrix.django_version }}
- name: Lint with flake8
run: |
flake8 --ignore=E501,W504 leaflet
- name: Test Django >= 2.0
if: matrix.django_version != '1.11'
run: |
python -W error::DeprecationWarning -W error::PendingDeprecationWarning -m coverage run ./quicktest.py leaflet --db=${{ matrix.database }}
- name: Test Django 1.11
if: matrix.django_version == '1.11'
run: |
python -m coverage run ./quicktest.py leaflet --db=${{ matrix.database }}
- name: Coverage
if: ${{ success() }}
run: |
coveralls
tests_node:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v1
with:
node-version: 8.12.0
- name: Install dependencies
run: |
npm install leaflet/tests/
- name: Test node
run: |
node node_modules/mocha-phantomjs/bin/mocha-phantomjs leaflet/tests/index.html
4 changes: 2 additions & 2 deletions quicktest.py
Expand Up @@ -42,9 +42,9 @@ def run_tests(self):
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'test_db',
'HOST': '127.0.0.1',
'HOST': 'localhost',
'USER': 'postgres',
'PASSWORD': '',
'PASSWORD': 'password',
}
}

Expand Down

0 comments on commit 911719d

Please sign in to comment.