alchemistry / alchemlyb

the simple alchemistry library
https://alchemlyb.readthedocs.io
BSD 3-Clause "New" or "Revised" License
197 stars 51 forks source link

Set a strict python minimum version for install, add automated pypi deployment #194

Closed IAlibay closed 2 years ago

IAlibay commented 2 years ago

Fixes #193

Work done in this PR:

orbeckst commented 2 years ago

work for me, it's your code!

codecov[bot] commented 2 years ago

Codecov Report

Merging #194 (22b62f1) into master (0d701d1) will not change coverage. The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #194   +/-   ##
=======================================
  Coverage   98.20%   98.20%           
=======================================
  Files          24       24           
  Lines        1340     1340           
  Branches      290      290           
=======================================
  Hits         1316     1316           
  Misses          5        5           
  Partials       19       19           

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 0d701d1...22b62f1. Read the comment docs.

IAlibay commented 2 years ago

Should be fine to go (we'll see on the next release I guess), thanks for adding the secrets @orbeckst!

Are there any docs that need updating? I see there's https://github.com/alchemistry/alchemlyb/wiki/Developer-Guide#release-management, shall I update this?

orbeckst commented 2 years ago

Yes please on doc update.

Thank you!

Btw, did you add yourself to changelog? … not sure if we have AUTHORS.

Am 5/26/22 um 13:10 schrieb Irfan Alibay @.***>:

 Should be fine to go (we'll see on the next release I guess), thanks for adding the secrets @orbeckst!

Are there any docs that need updating? I see there's https://github.com/alchemistry/alchemlyb/wiki/Developer-Guide#release-management, shall I update this?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.

IAlibay commented 2 years ago

Doesn't look like I can edit the wiki unfortunately (maybe a limitation to require at least one commit?), authors and changelog have been updated.

Here is the wiki text to modify if you would like to do it:

* Releases are cut from the master branch and tagged with *MAJOR.MINOR.PATCH* (note: the release tag *determines* the tag because we use [versioneer](https://github.com/warner/python-versioneer/blob/master/INSTALL.md#post-installation-usage), which obtains the release number from the git tag). We do from the master branch for the **PyPI release**
    1. `git tag <major>.<minor>.<patch>`
    2. `git push --tags`

* Note: the tags need to be pushed to GitHub with `git push --tags`. (You can add text to the [releases on GitHub](https://github.com/alchemistry/alchemlyb/releases).)

* This will automatically trigger a github action (named `deploy`) to use pypa's `build` tool to create a tarball and & pure Python wheel and upload it on [testpypi](https://test.pypi.org/project/alchemlyb)
* Once uploaded to testpypi, please check locally that the build is working as intended. In a clean environment do:
    1. `pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple alchemlyb=="version number"`
    2. `pip install pytest`
    3. `pip install https://github.com/alchemistry/alchemtest/archive/master.zip`
    4. `pytest --pyargs alchemlyb`

* After this, create a [release on GitHub](https://github.com/alchemistry/alchemlyb/releases); zenodo DOIs and snapshots are automatically minted.
* The release will trigger the `deploy` action again, which will this time upload the tarball and wheel to [PyPI](https://pypi.org/project/alchemlyb/).
xiki-tempula commented 2 years ago

@IAlibay Many thanks for the PR, is it possible to have automatic conda deployment as well? So we can have everything automated.

IAlibay commented 2 years ago

@IAlibay Many thanks for the PR, is it possible to have automatic conda deployment as well? So we can have everything automated.

conda-forge should be automatically picking up from pypi as it is, the bot will automatically trigger a PR. You can set cf-bot to auto merge PRs but I don't recommend it.

There are methods for pushing wheels directly but honestly my 2 cent is that the current method in place is just saner, especially if alchemlyb moves away from being pure python one day.

orbeckst commented 2 years ago

Thank you @IAlibay ! Sorry, took me a while to look at it again — thank you @xiki-tempula for the reminder.