Skip to content

feat(extensions): complete PostGIS companion coverage and artifact contracts - #300

Merged
f0rr0 merged 4 commits into
f0rr0/postgis-gdalfrom
f0rr0/postgis-coverage-parity
Oct 19, 2026
Merged

f0rr0 merged 4 commits into
f0rr0/postgis-gdalfrom
f0rr0/postgis-coverage-parity

Conversation

@f0rr0

@f0rr0 f0rr0 commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

PostGIS artifacts currently expose the primary module, while companion SQL and modules can be omitted by the producer or SDK materializer. This also affects the raster companion added in #123. This change adds topology and tiger geocoder to the PostGIS 3.6.4 bundle and carries the complete declared bundle through native, mobile and WASIX producers and SDK installation.

  • Build and stage topology, generate/install topology and tiger SQL, and select fuzzystrmatch for tiger. Windows SQL generation follows the pinned upstream Make prerequisites; mobile keeps one combined postgis-3 binary.
  • Require sqlMembers and nativeModuleStems in artifact and carrier manifests, with complete current SQL and target-specific module coverage. SDK installation and cache validation require the current catalog's companion bundle and dependencies. Old core-only artifacts are rejected. There is no compatibility parser, historical dependency/data fallback, or extracted metadata sidecar.
  • Extend shared SQL smoke coverage with a persistent topology node, topology validation and address normalization. No source pins or licenses change; PNG is not added because published PGlite runtime support could not be established.

Validation completed locally:

  • PostgreSQL 18.4/PostGIS 3.6.4 native component probe: core/raster/topology/fuzzystrmatch/tiger creation, shared smoke, topology/tiger 3.6.4 → ANY → 3.6.4, restart, dump and restore. Topology links against liboliphaunt with undefined symbols rejected.
  • Windows-generated SQL passed the same lifecycle on Linux and six companion scripts matched pinned upstream Make output after generated comments/blank lines were excluded.
  • Actual native archive: six stripped and binary-contract-checked module profiles; exact inventory of 85 files and four extension controls.
  • Current-contract cleanup: TypeScript SDK format/lint/typecheck/test/package; Rust bindings 67 unit tests; Rust SDK Nextest 132 tests (one existing skip), 22 build-helper tests, four build-script tests and doctests; Rust Clippy, format and both source-package lanes. Incomplete-package rejection and complete companion installation/cache tests remain covered.
  • Swift packaging, React Native owner tests, Android extension catalog contract tests, 15 mobile producer tests and clean iOS package staging pass. These package tests use synthetic binaries.
  • Extension model lint/tests, native artifact and package owner tests, all three extension/artifact/package JavaScript format/lint checks, and final release metadata checks pass. The actual Linux archive also passes the strict current contract.
  • Release tooling mutation tests pass, including publication-lock and release-commit shell scenarios. All 22 release-candidate graph tests pass, including shared package changes and coordinated runtime/extension releases.

Exact-commit clean native and WASIX portable/AOT builds and lifecycle evidence, native embedded-facade execution, MSVC linking, and macOS/iOS/Android target qualification remain outstanding. Component probes and host-only producer/consumer tests do not establish those platform execution claims.

Stacked on #123 (f0rr0/postgis-gdal). Coordinate generated extension metadata with the broader parity change #299 before merging either branch; this PR does not modify #123 or include #299's unrelated extension changes.

@vercel

vercel Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
oliphaunt-docs Ready Ready Preview Oct 19, 2026 7:11am UTC

@f0rr0
f0rr0 marked this pull request as ready for review October 19, 2026 07:10
@f0rr0
f0rr0 merged commit b8014e0 into f0rr0/postgis-gdal Oct 19, 2026
1 of 3 checks passed
@f0rr0
f0rr0 deleted the f0rr0/postgis-coverage-parity branch October 19, 2026 07:10
f0rr0 added a commit that referenced this pull request Oct 19, 2026
…ntracts (#300)

* feat(extensions): complete PostGIS companion coverage and artifact contracts

* fix(extensions): retain historical PostGIS data requirements

* refactor(extensions): remove legacy PostGIS compatibility paths
f0rr0 added a commit that referenced this pull request Oct 23, 2026
* feat(extensions): refresh PostGIS raster support against main

* test(react-native): cover GDAL in iOS PostGIS carriers

* fix(extensions): reject cached GDAL builds missing runtime data

* fix(extensions): report the pinned PostGIS source revision

* fix(extensions): align JSON-C configure metadata with source pin

* test(kotlin): retain the canonical extension archive limits

* fix(wasix): isolate PostGIS builds and refresh module exports

* test(wasix): exercise raster in the browser worker

* feat(extensions): complete PostGIS companion coverage and artifact contracts (#300)

* feat(extensions): complete PostGIS companion coverage and artifact contracts

* fix(extensions): retain historical PostGIS data requirements

* refactor(extensions): remove legacy PostGIS compatibility paths

* fix(extensions): preserve pinned GDAL release metadata

* fix(native): invalidate stale extension dependency caches

* fix(wasix): include browser extension dependency carriers

* fix(wasix): export PostgreSQL symbols required by topology

* fix(wasix): include tracked exports in compiler cache inputs

* fix(wasix): retain runtime-provided browser dependencies

* fix(wasix): align GDAL resources with the artifact contract

* docs(extensions): describe complete PostGIS companion packaging

* fix(native): scope GDAL data to the embedded runtime

* test(extensions): set the Tiger search path for lifecycle verification

* chore(extensions): regenerate companion lifecycle metadata

* fix(sources): support long upstream paths on Windows

* fix(windows): preserve static PROJ usage requirements in GDAL

* fix(wasix): retain raster imports after pg_textsearch rebase

* fix(extensions): repair platform qualification and resource consumers

* fix(ci): order pgwire tests before rebuilding the Windows CLI

* fix(mobile): bind PostGIS companions to the static module

* fix(test): include companion SQL members in mobile catalog proofs

* fix(extensions): preserve published carriers and validate prepared companions

* refactor(extensions): remove redundant packaging state and review notes

This branch was successfully deployed

1 active deployment
Preview — feca47fc Deployed Oct 19, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant