-
Notifications
You must be signed in to change notification settings - Fork 34
95 lines (87 loc) · 3.26 KB
/
build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
name: Check Build
on:
push:
paths-ignore:
- "infra/**"
branches:
- master
- develop
pull_request:
branches:
- master
- develop
jobs:
build:
timeout-minutes: 10
runs-on: ubuntu-latest
env:
PGPASSWORD: admin
PGDATABASE: raw
PGPORT: 5434
PGHOST: localhost
PGUSER: postgres
services:
postgres:
image: postgis/postgis:14-3.3
env:
POSTGRES_PASSWORD: admin
POSTGRES_DB: raw
ports:
- 5434:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 2
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.11
uses: actions/setup-python@v1
with:
python-version: 3.11
- name: Install necessary dependecies for rawdata loading
run: sudo apt-get update && sudo apt-get install osm2pgsql
- name: check version
run: osm2pgsql --version
- name: Install python requirements for load
run: pip install -r backend/requirements.txt
- name: Start Loading
run: python backend/raw_backend --insert --fq m
- name: Install gdal
run: |
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: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -e .
- name: Run uvicorn server
run: |
export OSM_CLIENT_ID=thisisfakeosmcliendid
export OSM_CLIENT_SECRET=thisisclientosm
export APP_SECRET_KEY=thisissecretkey
uvicorn API.main:app &> uvicorn.log &
env:
PORT: 8000
- name: Run celery server
run: |
export OSM_CLIENT_ID=thisisfakeosmcliendid
export OSM_CLIENT_SECRET=thisisclientosm
export APP_SECRET_KEY=thisissecretkey
celery --app API.api_worker worker --loglevel=DEBUG &> worker.log &
- name: Run flower dashboard
run: |
celery --app API.api_worker flower --port=5555 --broker=redis://localhost:6379/ &
- name: Run rawdata current snapshot
run: |
result=$(curl -s -d '{"geometry":{"type":"Polygon","coordinates":[[[83.96919250488281,28.194446860487773],[83.99751663208006,28.194446860487773],[83.99751663208006,28.214869548073377],[83.96919250488281,28.214869548073377],[83.96919250488281,28.194446860487773]]]}}' -H 'Content-Type: application/json' http://127.0.0.1:8000/v1/snapshot/)
echo $result
tail uvicorn.log
tail worker.log
task_link=$(echo "$result" | jq -r .track_link)
echo curl "http://127.0.0.1:8000/v1${task_link}"
curl "http://127.0.0.1:8000/v1${task_link}"