Skip to content

add code check flake8 #1115

add code check flake8

add code check flake8 #1115

Workflow file for this run

name: Unit Test
on:
push:
paths-ignore:
- "infra/**"
branches:
- stage
- develop
pull_request:
branches:
- stage
- develop
jobs:
deploy:
runs-on: ubuntu-latest
services:
postgres:
image: ghcr.io/hotosm/postgis-h3:latest
credentials:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
env:
POSTGRES_PASSWORD: admin
POSTGRES_DB: raw
ports:
- 5434:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 2
env:
PGPASSWORD: admin
PGDATABASE: raw
PGPORT: 5434
PGHOST: localhost
PGUSER: postgres
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
ALLOW_BIND_ZIP_FILTER: ${{ secrets.ALLOW_BIND_ZIP_FILTER }}
APP_SECRET_KEY: ${{ secrets.APP_SECRET_KEY }}
ENABLE_HDX_EXPORTS: ${{ secrets.ENABLE_HDX_EXPORTS }}
ENABLE_CUSTOM_EXPORTS: True
ENABLE_POLYGON_STATISTICS_ENDPOINTS: ${{ secrets.ENABLE_POLYGON_STATISTICS_ENDPOINTS }}
POLYGON_STATISTICS_API_URL: ${{ secrets.POLYGON_STATISTICS_API_URL }}
HDX_API_KEY: ${{ secrets.HDX_API_KEY }}
HDX_MAINTAINER: ${{ secrets.HDX_MAINTAINER }}
HDX_OWNER_ORG: ${{ secrets.HDX_OWNER_ORG }}
LOGIN_REDIRECT_URI: ${{ secrets.LOGIN_REDIRECT_URI }}
OSM_CLIENT_ID: ${{ secrets.OSM_CLIENT_ID }}
OSM_CLIENT_SECRET: ${{ secrets.OSM_CLIENT_SECRET }}
FILE_UPLOAD_METHOD: ${{ secrets.FILE_UPLOAD_METHOD }}
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.12
uses: actions/setup-python@v1
with:
python-version: 3.12
- name: Install uv
run: pip install uv
- name: Create H3 extensions
run: |
psql -U postgres -h localhost -p 5434 -d raw -c "CREATE EXTENSION IF NOT EXISTS postgis;"
psql -U postgres -h localhost -p 5434 -d raw -c "CREATE EXTENSION IF NOT EXISTS h3;"
psql -U postgres -h localhost -p 5434 -d raw -c "CREATE EXTENSION IF NOT EXISTS h3_postgis CASCADE;"
- name: Install osm2pgsql for data loading
run: sudo apt-get install -y osm2pgsql
- name: Run Alembic migrations
run: |
uv sync --group backend
uv run alembic upgrade head
- name: Insert sample test data
run: uv run raw-backend --insert --fq m
- name: Install gdal
run: sudo apt-get update && sudo apt-get -y install gdal-bin python3-gdal && sudo apt-get -y autoremove && sudo apt-get clean
- name: Install redis
run: |
sudo apt install lsb-release
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
sudo apt-get update
sudo apt-get install redis
redis-cli ping
- name: Launch ondemand Worker
run: |
uv run celery --app API.api_worker worker --loglevel=INFO --queues='raw_ondemand' &
- name: Launch daemon Worker
run: |
uv run celery --app API.api_worker worker --loglevel=INFO --queues='raw_daemon' &
- name: Run Tests
run: |
uv run pytest -v -s