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

Automate release process? #507

Closed
jeromekelleher opened this issue Apr 1, 2020 · 6 comments
Closed

Automate release process? #507

jeromekelleher opened this issue Apr 1, 2020 · 6 comments

Comments

@jeromekelleher
Copy link
Member

jeromekelleher commented Apr 1, 2020

Our Python release process is a little tricky, consisting of

  • Bumping the version number in tskit/_version.py (we use setuptools_scm in msprime and other repos to do this automatically based on the Git tags. I couldn't get this to work properly with the multi-language structure of this repo though, so ended up handling this manually).
  • Setting the release date and finalising the notes in the CHANGELOG (we haven't been very systematic about keeping this up to date, so there's usually some history to review and changes to summarise).
  • Locally building an sdist, and uploading this to PyPI
  • Tagging a release on GitHub with a copy of the CHANGELOG notes

It would be nice if we could at least automate the process of building the sdist and uploading to PyPI after a release has been tagged on GitHub. The tools available for this sort of thing have been very nicely summarised here: zarr-developers/numcodecs#70 (comment)

I would be great to have manylinux binary wheels, if we could, but maybe it's not worth the bother since the compile time is so short.

Any thoughts @benjeffery, @petrelharp?

@jeromekelleher
Copy link
Member Author

See here for cool stuff on wheel building: zarr-developers/numcodecs#224

@benjeffery
Copy link
Member

benjeffery commented Apr 2, 2020

Nice, it is certainly on my list to review releasing and packaging. Python packaging is moving in the right direction, e.g. https://snarky.ca/what-the-heck-is-pyproject-toml/

@jeromekelleher
Copy link
Member Author

Cool, I'm totally on-board with that!

@molpopgen
Copy link
Member

Nice point here on ditching requirements.txt: https://snarky.ca/clarifying-pep-518/

I haven't totally wrapped my head around pep 518, especially when compiled code is part of the process.

@jeromekelleher
Copy link
Member Author

See also #636

@benjeffery
Copy link
Member

Closing this as #681 addressed the auto wheel building.

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

3 participants