Skip to content

Release checklist

Brendan Ward edited this page Jun 17, 2024 · 4 revisions

Releasing:

  • Make an empty release commit: git commit --allow-empty -m 'RLS: v0.2.1'
  • Tag the commit using an annotated tag. git tag -a v0.2.1 -m "Version 0.2.1"
  • Push the RLS commit git push upstream main
  • Also push the tag! git push upstream --tags
  • Then the github worflow will create sdist/wheel, upload to PyPI, create a GitHub release, and attach the sdist
  • Manually update the GitHub release body text (with content from changelog)

Packaging:

  • update on conda-forge should be done automatically once the GitHub release is made
  • PyPI is already done by workflow
  • wheels are manually downloaded from CircleCI and uploaded to PyPI.

CircleCI now requires a token to download assets. Sign in to CircleCI, then go to account settings and create an API token. This is appended to the URL as <your token> below.

Manually download the aarch64 wheels from CircleCI and upload those to PyPI using twine:

mkdir wheelhouse
cd wheelhouse
curl "https://circleci.com/api/v1.1/project/github/geopandas/pyogrio/latest/artifacts?circle-token=<your token>" \
   | grep -o 'https://[^"]*' \
   | wget --input-file -
twine upload *
# twine upload * --repository pyogrio # if you configured .pypirc to use specific token for pyogrio

Note: because trusted publishing is setup for PyPI from GitHub, PyPI will likely send out an email to all PyPI project participants stating that trusted publishing is setup but a private token was used to upload to PyPI. This can safely be ignored.

Clone this wiki locally