Skip to content

Commit eb8bc37

Browse files
committed
Add GitHub Actions workflow — runs pytest on every push
1 parent 545b394 commit eb8bc37

10 files changed

Lines changed: 138 additions & 96 deletions

File tree

.github/workflows/ci.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: ["**"]
6+
pull_request:
7+
branches: ["**"]
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Set up Python
17+
uses: actions/setup-python@v5
18+
with:
19+
python-version: "3.11"
20+
21+
- name: Install dependencies
22+
run: |
23+
python -m pip install --upgrade pip
24+
pip install -r requirements.txt
25+
26+
- name: Run tests
27+
run: pytest tests/ -v

PLAN.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,17 +60,17 @@ All Python repos follow the same pattern: FastAPI service, structured as a packa
6060

6161
**Code cleanup**
6262
- Delete commented-out dead code in search.py (lines 36-51) # DONE
63-
- Fix `spatialsearch.py` — add `if __name__ == "__main__"` guard or delete it # not done
63+
- Fix `spatialsearch.py` — add `if __name__ == "__main__"` guard or delete it # DONE deleted
6464
- Fix broken test imports in tests/test_survey_marks.py # DONE
6565

6666
**New features**
6767
- `GET /mark/{mark_type}/{mark_number}` endpoint — uses `[MARK_ATTR]` attribute query # DONE
68-
- `GET /mark/{mark_type}/{mark_number}/sketch` endpoint — fetches LSP PDF from `[SKETCH]` # not done
69-
- Surface level AHD at subject address — add to `Address` model, query `[ELEV]`, include in GeoJSON # maybe partly
68+
- `GET /mark/{mark_type}/{mark_number}/sketch` endpoint — fetches LSP PDF from `[SKETCH]` # check with surveyor if still doing this (need to find correct API to use)
69+
- Surface level AHD at subject address — add to `Address` model, query `[ELEV]`, include in GeoJSON # check with surveyor there is grid ahd level for address but not specifically for model address
7070

7171
**Engineering hygiene**
7272
- Rewrite all tests with mocked HTTP using `pytest-httpx` (no live API calls) # DONE
73-
- Add `Dockerfile` and `docker-compose.yml` # DONE needs testing though
73+
- Add `Dockerfile` and `docker-compose.yml` # DONE needs testing though
7474
- Add GitHub Actions workflow — runs pytest on every push # not done
7575
- Add SQLite search history (`service/history.py`, `GET /history` endpoint) # DONE
7676
- Convert NSW API calls to async using `httpx` + `asyncio` # not done

logs/service-err.log

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3983,3 +3983,76 @@ Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsA
39833983
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
39843984
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
39853985
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
3986+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
3987+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
3988+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
3989+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
3990+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
3991+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
3992+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
3993+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
3994+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
3995+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
3996+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
3997+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
3998+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
3999+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4000+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4001+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4002+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4003+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4004+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4005+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4006+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4007+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4008+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4009+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4010+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4011+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4012+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4013+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4014+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4015+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4016+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4017+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4018+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4019+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4020+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4021+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4022+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4023+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4024+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4025+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4026+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4027+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4028+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4029+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4030+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4031+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4032+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4033+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4034+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4035+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4036+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4037+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4038+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4039+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4040+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4041+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4042+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4043+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4044+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4045+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4046+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4047+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4048+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4049+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4050+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4051+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4052+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4053+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4054+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4055+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4056+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4057+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'
4058+
Unable to create process using '"C:\Users\jamez\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe" -m uvicorn server:app --host 0.0.0.0 --port 8000'

requirements.txt

46 Bytes
Binary file not shown.

service/export.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ def to_geojson(result: SearchResult) -> dict:
145145
"surface_level_ahd": result.address.surface_level_ahd,
146146
"radius_m": result.search_radius_m,
147147
"marks_radius_m": result.marks_radius_m,
148-
"subject_lot": lot_label(result.subject_lot),
148+
"subject_lot": lot_label(result.subject_lot) if result.subject_lot else None,
149149
"lot_count": len(result.nearby_lots),
150150
"plan_count": len(result.plans),
151151
"mark_count": len(result.survey_marks),

service/spatialsearch.py

Lines changed: 0 additions & 62 deletions
This file was deleted.

test_results.txt

27.9 KB
Binary file not shown.

0 commit comments

Comments
 (0)