• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Freegle / Iznik / 21571
71%

Build:
DEFAULT BRANCH: master
Ran 16 Jun 2026 07:58AM UTC
Jobs 4
Files 1288
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

16 Jun 2026 07:26AM UTC coverage: 70.816% (-0.02%) from 70.836%
21571

push

circleci

web-flow
spatial: nearest-neighbour lookups via spatial server; drop grid (#764)

* feat(spatial): nearest-neighbour lookups via spatial server; drop grid

Replace the per-table expanding-bounding-box MySQL nearest searches with the
iznik-spatial-go KNN index, and remove the vestigial locations_grids approach.

- spatial-go: new PostcodesDataset (point, ~2M rows, Extra=nil) + registered.
- Location::closestPostcode and IncomingMailService::findClosestPostcodeId
  (a duplicate) collapse to one SpatialQueryService->nearestIds('postcodes')
  call; expanding bbox removed.
- apiv2 location.ClosestPostcode -> spatial.KNN("postcodes"); closestPostcodeMySQL removed.
- Job::nearLocation -> spatial 'jobs' KNN; digest cpc floor 0.02 -> 0.10
  (matches the spatial index and the public jobs page).
- NewsfeedDigestService -> spatial 'newsfeed' KNN (nearest-N, re-filtered in
  MySQL); grow-radius getNearbyDistance/boxSql removed.
- Grid: DoogalService stops writing gridid; gridid dropped from Location
  PUBLIC_ATTS and UserLocationRemapService (no remaining consumers).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* feat(spatial): add admin /v1/{dataset}/upsert for test seeding + postcodes dataset test

The upsert endpoint inserts items by WKT (point or polygon, auto-detected) into
a live dataset index, decoupled from the MySQL rebuild — so integration tests can
seed a known geometry, exercise the real KNN path, then remove it. Smoke-tested:
upsert 2 postcode points -> KNN returns the nearest -> remove.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(spatial): point PHP config at SPATIAL_KNN_URL; integration-test closestPostcode

- config/freegle.php: spatial_server_url now reads SPATIAL_KNN_URL (the canonical
  finder var that batch already sets); SPATIAL_SERVER_URL is taken by the routing
  server, so relying on it resolved to localhost on batch and (with the fallback
  removed) would have broken closestPostcode/PostcodeRemapService in productio... (continued)

10980 of 14579 branches covered (75.31%)

Branch coverage included in aggregate %.

60 of 67 new or added lines in 7 files covered. (89.55%)

42 existing lines in 6 files now uncovered.

118917 of 168850 relevant lines covered (70.43%)

36.29 hits per line

Uncovered Changes

Lines Coverage ∆ File
6
72.73
iznik-batch/app/Services/SpatialQueryService.php
1
71.94
0.15% iznik-server-go/location/location.go

Coverage Regressions

Lines Coverage ∆ File
24
82.89
-15.79% iznik-server-go/isochrone/message.go
7
84.67
-3.33% iznik-server-go/job/job.go
4
87.13
8.91% iznik-batch/app/Services/NearbyOffersService.php
4
53.01
-4.82% iznik-server-go/spatial/client.go
2
92.0
-4.0% iznik-batch/app/Console/Commands/Mail/SendModNotifsCommand.php
1
71.94
0.15% iznik-server-go/location/location.go
Jobs
ID Job ID Ran Files Coverage
21571 laravel - 21571 16 Jun 2026 07:58AM UTC 448
67.41
CircleCI Job 21571
21571 vitest - 21571 16 Jun 2026 07:58AM UTC 703
68.69
CircleCI Job 21571
21571 playwright - 21571 16 Jun 2026 07:58AM UTC 70
23.01
CircleCI Job 21571
21571 go - 21571 16 Jun 2026 07:58AM UTC 136
83.01
CircleCI Job 21571
Source Files on build 21571
  • Tree
  • List 1288
  • Changed 16
  • Source Changed 0
  • Coverage Changed 16
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • CircleCI Build #21571
  • 8209a24f on github
  • Prev Build on master (#21562)
  • Next Build on master (#21586)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc