May: dev commits to staging#515
Merged
Merged
Conversation
This commit adds a GitHub Actions workflow that automatically publishes the Python schema packages to PyPI when they have a version number change that is pushed to the main branch.* Packages are published in topological order, which is for now determined by the hard-coded `def level` function in `scripts/package-versions.py`. Eventually, we also want to auto-cut a GitHub Release after a successful publish, but let's do that later. *: For now, PyPI = Overture internal CodeArtifact repo, but eventually it will be public PyPI.
Vehicle dimension selectors (height, length, weight, width) use float64 instead of float32 to match the double-precision values in the data platform. Level uses int32 instead of int16 for the same reason. Axle count stays uint8 since it's a discrete count.
Cartography types (Prominence, MinZoom, MaxZoom, SortKey) from uint8 to int32; ConfidenceScore from float32 to float64. Matches actual data ranges in Overture releases.
The mypy target only checked top-level test files via `packages/*/tests/*.py`. Subdirectory tests (model_constraint/, ref/, scoping/) were never type-checked. Switch to per-directory find so mypy discovers all test files while keeping each package's conftest.py visible (avoids duplicate module conflicts across packages). Fixes in test code: - Mapping[str, object] in assert_subset (dict invariance) - Missing return type annotations on test functions - Duplicate TestModel names within same scope - JsonDict annotations for ConfigDict json_schema_extra - type: ignore for dynamically-created .When classes
Every other package had its tests/ directory in pythonpath; cli was the only one missing, making its conftest imports rely on rootdir discovery.
These packages import from overture.schema.system without declaring it as a dependency. Works in the uv workspace but breaks isolated installs. - overture-schema-core - overture-schema-cli - overture-schema-base-theme - overture-schema-buildings-theme - overture-schema-transportation-theme
* Delete .github/workflows/copy-pr-docs-to-staging.yaml * Delete .github/workflows/copy-latest-docs-to-staging.yaml
🗺️ Schema reference docs preview is live!
Note ♻️ This preview updates automatically with each push to this PR. |
Seth Fitzsimmons (sethfitz)
approved these changes
May 8, 2026
Collaborator
Seth Fitzsimmons (sethfitz)
left a comment
There was a problem hiding this comment.
I don't understand the build failure, but don't see it as being a problem for this PR.
Update multiple packages' pyproject.toml files to add a maintainers list, common keywords, and a [project.urls] section (Homepage, Source, Issues). Affects core, system, cli, annex, and all theme packages under packages/overture-schema-*. This centralizes package metadata to improve discoverability, attribution, and tooling integration.
pytest-subtests merged into pytest core as of pytest 9. Update test imports from pytest_subtests.SubTests to _pytest.subtests.Subtests. uv.lock was fully re-resolved, upgrading all transitive dependencies to current versions. Notable: pytest 8.4→9.0, mypy 1.18→1.19, pdoc 15→16, ruff 0.14.0→0.14.14.
* Widen `AdminLevel` from `uint8` to `int32` to match divisions data currently being generated. * Fix Pydantic rebinding self in model constraint validator
Signed-off-by: John McCall <john@overturemaps.org>
Add id-token: write permissions to workflows (.github/workflows/publish-python-packages.yaml and reusable-check-python-package-versions.yaml) so reusable workflows can use OIDC for AWS CodeArtifact authentication. Also add contents: read to the publish job. Update schema-pr-preview.yml to remove the PREVIEW_PATH env var and inline the /schema/pr/${{ github.event.number }} path for S3 sync and CloudFront invalidation to ensure the preview is uploaded and invalidated at the correct location.
Signed-off-by: John McCall <john@overturemaps.org>
Signed-off-by: John McCall <john@overturemaps.org>
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 7.0.0 to 7.0.1. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@bbbca2d...043fb46) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: 7.0.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: John McCall <john@overturemaps.org>
Bumps [marocchino/sticky-pull-request-comment](https://github.com/marocchino/sticky-pull-request-comment) from 3.0.3 to 3.0.4. - [Release notes](https://github.com/marocchino/sticky-pull-request-comment/releases) - [Commits](marocchino/sticky-pull-request-comment@d4d6b09...0ea0beb) --- updated-dependencies: - dependency-name: marocchino/sticky-pull-request-comment dependency-version: 3.0.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: John McCall <john@overturemaps.org>
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 8.0.0 to 8.1.0. - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](astral-sh/setup-uv@cec2083...0880764) --- updated-dependencies: - dependency-name: astral-sh/setup-uv dependency-version: 8.1.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps the actions group with 2 updates: [actions/github-script](https://github.com/actions/github-script) and [actions/setup-node](https://github.com/actions/setup-node). Updates `actions/github-script` from 8.0.0 to 9.0.0 - [Release notes](https://github.com/actions/github-script/releases) - [Commits](actions/github-script@ed59741...3a2844b) Updates `actions/setup-node` from 6.3.0 to 6.4.0 - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](actions/setup-node@53b8394...48b55a0) --- updated-dependencies: - dependency-name: actions/github-script dependency-version: 9.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: actions/setup-node dependency-version: 6.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions ... Signed-off-by: dependabot[bot] <support@github.com>
The check-python-code workflow now runs across the supported Python minor versions (3.10-3.14), and adds a lowest-direct cell that re- resolves every direct dependency to its declared floor before running make check. Failures in that cell mean a declared minimum is wrong -- either the code uses a feature newer than the floor admits, or the pin needs to be raised. Setting UV_RESOLUTION=lowest-direct causes the existing make uv-sync to re-resolve from the lockfile rather than follow it, so no separate lock or constraints file is needed. The declared floors lie about the actual minimums in several places. Bump them to what the code requires today: - pydantic >= 2.12: optionality.py imports pydantic.experimental.missing_sentinel, which only exists in 2.12+. feature.py imports ModelWrapValidatorHandler at the top level (re-exported in 2.10.4) and Tag (added in 2.5). - ruff >= 0.13: 0.12.x still fires the deprecated UP038 rule under select = ["UP"], which the workspace config selects. - deepdiff >= 8.6: first version shipping a py.typed marker, without which mypy errors on import-untyped. Per-package dev deps that were unpinned (ruff, mypy, pytest in overture-schema-cli and overture-schema-system; pyyaml, deepdiff in overture-schema) now match the workspace dev-group floors. uv warns about unpinned direct deps under lowest-direct resolution; pinning silences the warnings and makes the floor explicit. Signed-off-by: Seth Fitzsimmons <seth@mojodna.net>
Signed-off-by: jeffdefacto <jeffdefacto@gmail.com>
e0d8719 to
5a655de
Compare
5a655de to
3134ec4
Compare
3134ec4 to
37d83a5
Compare
Signed-off-by: Seth Fitzsimmons <seth@mojodna.net>
37d83a5 to
31d5221
Compare
Warren Ehrenfried (warrenehrenfried)
approved these changes
May 11, 2026
John McCall (lowlydba)
approved these changes
May 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Bring staging up to dev so that it contains most recent changes from April/early May.
Documentation website
Update the hyperlink below to put the pull request number in.
Docs preview for this PR.