Skip to content

Commit

Permalink
migrate to GitHub Actions (geopython#616)
Browse files Browse the repository at this point in the history
  • Loading branch information
tomkralidis committed Jun 1, 2021
1 parent f2d0646 commit c0c697f
Show file tree
Hide file tree
Showing 5 changed files with 97 additions and 107 deletions.
93 changes: 93 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: build ⚙️

on: [ push, pull_request ]

jobs:
main:
runs-on: ubuntu-20.04
strategy:
matrix:
include:
- python-version: 3.6
- python-version: 3.7
env:
PYGEOAPI_CONFIG: "$(pwd)/pygeoapi-config.yml"
CPLUS_INCLUDE_PATH: /usr/include/gdal
C_INCLUDE_PATH: /usr/include/gdal
DEBIAN_FRONTEND: noninteractive

steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
name: Setup Python ${{ matrix.python-version }}
with:
python-version: ${{ matrix.python-version }}
- name: Configure sysctl limits
run: |
sudo swapoff -a
sudo sysctl -w vm.swappiness=1
sudo sysctl -w fs.file-max=262144
sudo sysctl -w vm.max_map_count=262144
- name: Install and run PostgreSQL/PostGIS 📦
uses: huaxk/postgis-action@v1
with:
postgresql password: ${{ secrets.DatabasePassword }}
postgresql db: 'test'
- name: Install and run Elasticsearch 📦
uses: getong/elasticsearch-action@v1.2
with:
elasticsearch version: '7.6.1'
host port: 9200
container port: 9200
host node port: 9300
node port: 9300
discovery type: 'single-node'
- name: Install and run MongoDB
uses: supercharge/mongodb-github-action@1.5.0
with:
mongodb-version: 4.4
- name: Install requirements 📦
run: |
sudo apt-get install -y gdal-bin libgdal-dev python3-gdal
# follow GDAL installed version for Python bindings
# pip3 install GDAL==`gdalinfo --version | cut -d' ' -f2 | cut -d',' -f1`
pip3 install -r requirements.txt
pip3 install -r requirements-dev.txt
pip3 install -r requirements-provider.txt
python3 setup.py install
pip3 install --upgrade rasterio==1.1.8
- name: setup test data ⚙️
run: |
python3 tests/load_es_data.py tests/data/ne_110m_populated_places_simple.geojson geonameid
python3 tests/load_es_data.py tests/cite/ogcapi-features/canada-hydat-daily-mean-02HC003.geojson IDENTIFIER
python3 tests/load_mongo_data.py tests/data/ne_110m_populated_places_simple.geojson
#gunzip < tests/data/hotosm_bdi_waterways.sql.gz | psql -U postgres test
- name: run unit tests ⚙️
run: |
pytest tests/test_api.py
pytest tests/test_config.py
pytest tests/test_csv__formatter.py
pytest tests/test_csv__provider.py
pytest tests/test_elasticsearch__provider.py
pytest tests/test_filesystem_provider.py
pytest tests/test_geojson_provider.py
pytest tests/test_mongo_provider.py
#pytest tests/test_ogr_csv_provider.py
#pytest tests/test_ogr_esrijson_provider.py
#pytest tests/test_ogr_gpkg_provider.py
#pytest tests/test_ogr_shapefile_provider.py
#pytest tests/test_ogr_sqlite_provider.py
#pytest tests/test_ogr_wfs_provider.py
pytest tests/test_openapi.py
#pytest tests/test_postgresql_provider.py
pytest tests/test_rasterio_provider.py
#pytest tests/test_sqlite_geopackage_provider.py
pytest tests/test_tinydb_catalogue_provider.py
pytest tests/test_util.py
pytest tests/test_xarray_netcdf_provider.py
pytest tests/test_xarray_zarr_provider.py
- name: run flake8 ⚙️
run: find . -type f -name "*.py" | xargs flake8
- name: build docs 🏗️
run: cd docs && make html

103 changes: 0 additions & 103 deletions .travis.yml

This file was deleted.

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# pygeoapi

[![Build Status](https://travis-ci.org/geopython/pygeoapi.png)](https://travis-ci.org/geopython/pygeoapi)
[![Build Status](https://github.com/geopython/pygeoapi/workflows/build%20%E2%9A%99%EF%B8%8F/badge.svg)](https://github.com/geopython/pygeoapi/actions)
<a href="https://json-ld.org"><img src="https://json-ld.org/images/json-ld-button-88.png" height="20"/></a>

[pygeoapi](https://pygeoapi.io) is a Python server implementation of the [OGC API](https://ogcapi.ogc.org) suite of standards. The project emerged as part of the next generation OGC API efforts in 2018 and provides the capability for organizations to deploy a RESTful OGC API endpoint using OpenAPI, GeoJSON, and HTML. pygeoapi is [open source](https://opensource.org/) and released under an [MIT license](https://github.com/geopython/pygeoapi/blob/master/LICENSE.md).
Expand Down
4 changes: 2 additions & 2 deletions docs/source/development.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ exist in ``/tests`` and are developed for providers, formatters, processes, as w
overall API.

Tests can be run locally as part of development workflow. They are also run on pygeoapi’s
`Travis setup`_ against all commits and pull requests to the code repository.
`GitHub Actions setup`_ against all commits and pull requests to the code repository.

To run all tests, simply run ``pytest`` in the repository. To run a specific test file,
run ``pytest tests/test_api.py``, for example.
Expand Down Expand Up @@ -68,4 +68,4 @@ Set the variable for the Spatialite library under OSX:
SPATIALITE_LIBRARY_PATH=/usr/local/lib/mod_spatialite.dylib
.. _`Travis setup`: https://github.com/geopython/pygeoapi/blob/master/.travis.yml
.. _`GitHub Actions setup`: https://github.com/geopython/pygeoapi/blob/master/.github/workflows/main.yml
2 changes: 1 addition & 1 deletion requirements-provider.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
elasticsearch==7.1.0
fiona
GDAL>=3.0.0
#GDAL>=3.0.0
netCDF4
psycopg2-binary==2.8.4
pygeometa
Expand Down

0 comments on commit c0c697f

Please sign in to comment.