Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.2 release checklist #1319

Closed
petrelharp opened this issue Aug 9, 2022 · 7 comments
Closed

0.2 release checklist #1319

petrelharp opened this issue Aug 9, 2022 · 7 comments
Milestone

Comments

@petrelharp
Copy link
Contributor

petrelharp commented Aug 9, 2022

TODO (is 0.2 the next number? the last one was 0.1.2)

@jeromekelleher
Copy link
Member

0.2 seems right - I guess we can then plan for 0.3 as the version that converts the demographic models in the catalog to demes (with some code breakage, probably)?

@nspope nspope added this to the Version 0.2.0 milestone Sep 29, 2022
@nspope
Copy link
Collaborator

nspope commented Sep 29, 2022

  • make sure you're on main
  • increment the version in _version.py [NP: doesn't exist?]
  • update CHANGELOG
  • commit and tag
  • update tags on github with git push; git push --tags
  • upload to pypi:
python3 setup.py sdist bdist_wheel
twine upload dist/FILES_TO_UPLOAD
  • check on pypi that the update actually worked
  • check docs build succeeded
  • upload to zenodo
  • update version and DOI in CITATION.cff (once added)
  • conda-forge will do an automatic PR; winni2k says:

"The key things I checked were that the version number is correct, the SHA sum has changed, and that the build number is reset to zero. Any other problems should be caught by the automated build system."

Post-release:

  • make copy of this issue for the next release

Reference: https://packaging.python.org/tutorials/packaging-projects/, tskit-dev/pyslim#292

@grahamgower
Copy link
Member

  • make sure you're on main
  • increment the version in _version.py [NP: doesn't exist?]
  • update CHANGELOG
  • commit and tag
  • update tags on github with git push; git push --tags
  • upload to pypi:

FYI, stdpopsim is using setuptools_scm to determine the version. So, when you build the package with something like python setup.py build (or using non-deprecated build tools pip install build; python -m build), then the stdpopsim/_version.py file will be created. This means you need to create the tag, then build, before the appropriate version will be visible.

Also, we should change from using setup.py to using pyproject.toml and setup.cfg, following current best practices for Python packages (setup.py is deprecated).

@jeromekelleher
Copy link
Member

Yes, using setuptools_scm means you do it in slightly different order. I find this simplest:

  • Update Changelog for new release via PR
  • Create a release using the GitHub UI. This creates the appropriate tag.
  • Locally, git fetch upstream, git checkout upstream/main
  • python3 -m build
  • python3 -m twine upload [stuff]

@grahamgower
Copy link
Member

  • python3 -m twine upload [stuff]

You're still uploading to pypi manually, like a barbarian? :P

@jeromekelleher
Copy link
Member

Adds the personal touch for grass-fed artisanal packages

@petrelharp
Copy link
Contributor Author

We have done this.

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

No branches or pull requests

4 participants