-
Confirm CSDMS BMI variable names with Eric Hutton (currently pending for
mantle__mass-per-volume_density,infill_material__mass-per-volume_density,planet_surface__gravitational_acceleration). If names change, updategflex/bmi.py,tests/test_bmi.py,docs/api.rst, andCHANGES.md. -
Verify CI is green on
masterbefore starting. -
Bump version in
gflex/_version.py:__version__ = "2.0.0"(
docs/conf.pyandpyproject.tomlboth pull from this file dynamically.) -
Check
CHANGES.md— the top entry must be## [X.Y.Z] — YYYY-MM-DDwith no[Unreleased]header above it. -
Run the test suite — all tests must pass:
python -m pytest -
Build the docs — zero warnings required:
python -m sphinx docs docs/_build/html -q -
Commit the version bump (one commit, e.g.
release: bump version to 2.0.0).
-
Push to GitHub (
origin/master). -
Wait for CI (
test.ymlandbuild-check.yml) to go green. -
Create a GitHub Release with tag
v2.0.0(target:master).- Title:
gFlex 2.0.0 - Body: paste the
[2.0.0]section fromCHANGES.md - Publishing the release triggers
publish.ymlautomatically.
- Title:
-
Approve the PyPI deployment — the
pypienvironment requires manual approval in the GitHub Actions UI before the package is uploaded. -
Verify on PyPI:
pip install gflex==2.0.0
-
Add
## [Unreleased]at the top ofCHANGES.mdfor future patch releases. -
Zenodo — a new version record is created automatically via the GitHub integration. Once it appears, update the version-specific DOI in
docs/references.rst(currently uses the concept DOI as placeholder). -
GRASS GIS — proceed with the
r.flexure/v.flexureupdate (issue #55; branchesupdate/r.flexureandupdate/v.flexurein~/models/grass-addons-gflex). -
Landlab — PR
landlab/landlab#2420is unblocked oncegflex>=2.0.0is on PyPI. Close issue #73 once that PR merges.