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

Prepare for v0.9.9.0 release / manage version with setuptools_scm #220

Open
wants to merge 12 commits into
base: master
Choose a base branch
from

Conversation

alexamici
Copy link
Contributor

Following the other major Open Source projects I intend to move cfgrib to manage its version withsetuptools_scm`.

https://github.com/pypa/setuptools_scm

Most of the implementation is taken from xarray.

This makes producing a release form a protected master branch much easier.

I'm still revising the release procedure with zest.releaser, but it should be simplified as well.

@codecov-io
Copy link

codecov-io commented Apr 7, 2021

Codecov Report

Merging #220 (4d51be8) into master (919a513) will decrease coverage by 0.09%.
The diff coverage is 60.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #220      +/-   ##
==========================================
- Coverage   92.29%   92.20%   -0.10%     
==========================================
  Files          25       25              
  Lines        1714     1718       +4     
  Branches      201      201              
==========================================
+ Hits         1582     1584       +2     
- Misses        110      112       +2     
  Partials       22       22              
Impacted Files Coverage Δ
cfgrib/__init__.py 83.33% <60.00%> (-16.67%) ⬇️

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 919a513...4d51be8. Read the comment docs.

@alexamici
Copy link
Contributor Author

@iainrussell I tested the release procedure on another package and it is quite straightforward even if not as automatic as before:

  • zest.releaser is still useful to manage the CHANGELOG and the upload of exactly the clean tagged package
  • it cannot be used to actually tag the repo due to a conflict with setuptools_csm

The release is as follows:

prerelease  # skip checking the MANIFEST.in file that is not needed anymore
            # declare the $VERSION to be added in the CHANGELOG
git tag $VERSION
release
postrelease

Copy link
Member

@iainrussell iainrussell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @alexamici , this is a very interesting development! I would also like the opinion of @b8raoult - we are making efforts to harmonise our Python packages, and cfgrib would become the odd-one-out if we did this. I'm not personally convinced that these setup tools help much, because if you want to write a changelog that lists the changes per version, you still need some knowledge/control of it. I'm happy to hear arguments for it, or perhaps better, defer it to a later release. I would not want to delay release 0.9.9.0 just because of this.

@alexamici
Copy link
Contributor Author

@iainrussell I just double checked the changes, and in fact I was very careful to include in this PR just the changes in the management of the version, so we can consider this completely independent of the release.

Note that without this PR you can only release with zest.releaser from a branch, not from a protected master.

I'll open an issue to manage the release, but I'm ready to do it very soon. Even today.

@iainrussell
Copy link
Member

OK @alexamici , let's do the release (today sounds good!) and consider the version management independently. I'm not sure what you mean about the zest.releaser - I use it to release Metview's Python bindings from a tag on master.

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

Successfully merging this pull request may close these issues.

3 participants