Build the release on Python 3.14 - #103
Open
mmacferrin wants to merge 1 commit into
Open
Conversation
The 3.13 pin was there because fiona, pulled in via globato, had no cp314 wheels and building it from source needed GDAL headers this workflow does not install. globato has since dropped fiona for pyogrio, and geopandas has defaulted to pyogrio since 1.0, so fiona is no longer in the tree at all. IVERT is pure Python, so this does not change the built wheel, which is py3-none-any either way. It moves the "Test built package" smoke test onto the newest interpreter the test matrix covers.
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.
The 3.13 pin in
publish-to-pypi.ymlwas there because fiona, pulled in via globato, had no cp314 wheels, and building it from source needed the GDAL headers this workflow no longer installs.That rationale is stale. globato has dropped fiona in favor of pyogrio, and geopandas has defaulted to pyogrio since 1.0, so fiona is no longer anywhere in the dependency tree. A wheels-only resolve of the full runtime and test dependency set against cp314/manylinux comes back clean — every compiled dependency (numpy, scipy, pandas, shapely, pyproj, rasterio, pyogrio, h5py, netCDF4, numexpr, tables, matplotlib, lxml) ships a cp314 wheel, and globato, transformez, fetchez and geopandas are pure Python. Nothing has to build from source.
What this does and does not change
IVERT is pure Python (hatchling, no C or Cython sources), so the built wheel is
py3-none-anyregardless of the interpreter here — this does not change the artifact. What it does change is the interpreter the Test built package step runs on, moving that smoke test to the newest release the test matrix covers.Validation
This workflow triggers on
pull_request, andpypi-publishis gated behindif: github.event_name == 'release'. So this PR runs thebuildjob end to end — wheel build, full dependency install,import ivert,ivert --version— on 3.14, while publishing nothing.Related
#102 adds 3.14 to the pytest matrix for the same reason. The two do not overlap: #102 does not touch this file, so they will not conflict. Until both land,
mainwill briefly have a test matrix covering 3.14 and a release build on 3.13, which is harmless.🔍 Docs preview: https://ivert--103.org.readthedocs.build/en/103/