Skip to content

Parse the H3 header on the catalog path as the build path does - #243

Merged
estebanzimanyi merged 1 commit into
MobilityDB:masterfrom
estebanzimanyi:ci/parse-the-h3-header-on-every-path
Nov 5, 2026
Merged

estebanzimanyi merged 1 commit into
MobilityDB:masterfrom
estebanzimanyi:ci/parse-the-h3-header-on-every-path

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

The catalog path of the provision-meos action and the openapi-validate workflow install libh3-dev with the other headers libclang reads, so the H3 functions keep the typedef H3Index on their uint64_t parameters and results. The build path of the action installs libh3-dev already, so both paths derive the same catalog.

Why. Without h3api.h libclang reads H3Index as uint64_t, and the catalog the action derives without build-libmeos drops the typedef from 72 H3 functions that the catalog it derives with build-libmeos states. A consumer that generates from one path and checks against the other reads a difference neither its code nor MobilityDB causes: MobilityDB/MobilityAPI-Python#19 is the case.

Measured. On MobilityDB 92c29a5fae, a catalog-path derivation in an ubuntu-24.04 container with the action's packages differs from one with libh3-dev only by the typedef H3Index on the parameters and results of 72 functions, and with libh3-dev it projects to the same MobilityAPI-Python table byte for byte as a derivation on a machine carrying libh3-dev.

The catalog path of the provision-meos action and the openapi-validate workflow install libh3-dev with the other headers libclang reads, so the H3 functions keep the typedef H3Index on their uint64_t parameters and results. The build path of the action installs libh3-dev already, so both paths derive the same catalog.

Why. Without h3api.h libclang reads H3Index as uint64_t, and the catalog the action derives without build-libmeos drops the typedef from 72 H3 functions that the catalog it derives with build-libmeos states. A consumer that generates from one path and checks against the other reads a difference neither its code nor MobilityDB causes: MobilityDB/MobilityAPI-Python#19 is the case.

Measured. On MobilityDB 92c29a5fae, a catalog-path derivation in an ubuntu-24.04 container with the action's packages differs from one with libh3-dev only by the typedef H3Index on the parameters and results of 72 functions, and with libh3-dev it projects to the same MobilityAPI-Python table byte for byte as a derivation on a machine carrying libh3-dev.
@estebanzimanyi
estebanzimanyi merged commit 57ee7d0 into MobilityDB:master Nov 5, 2026
3 checks passed
@estebanzimanyi
estebanzimanyi deleted the ci/parse-the-h3-header-on-every-path branch November 5, 2026 22:02
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