MDAnalysis / pmda

Parallel algorithms for MDAnalysis
https://www.mdanalysis.org/pmda/
Other
31 stars 22 forks source link

use versioneer for versioning #36

Closed orbeckst closed 6 years ago

orbeckst commented 6 years ago

Fixes #35

Changes made in this Pull Request:

PR Checklist

kain88-de commented 6 years ago

where do we specify the version?

codecov-io commented 6 years ago

Codecov Report

Merging #36 into master will decrease coverage by 0.15%. The diff coverage is 100%.

Impacted file tree graph

@@           Coverage Diff           @@
##           master   #36      +/-   ##
=======================================
- Coverage   98.16%   98%   -0.16%     
=======================================
  Files          10     6       -4     
  Lines         435   201     -234     
  Branches        0    22      +22     
=======================================
- Hits          427   197     -230     
+ Misses          8     3       -5     
- Partials        0     1       +1
Impacted Files Coverage Δ
pmda/__init__.py 100% <100%> (ø)
pmda/test/test_contacts.py
pmda/test/test_rms.py
pmda/test/test_custom.py
pmda/test/test_parallel.py
pmda/test/test_util.py
pmda/parallel.py 97.53% <0%> (+1.18%) :arrow_up:
pmda/contacts.py 96.29% <0%> (+1.85%) :arrow_up:

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 4e764fc...a0dfdad. Read the comment docs.

orbeckst commented 6 years ago

where do we specify the version?

You tag with

git tag -m 'release 0.1.0' 0.1.0
git push --tags
git push

That's all. See pmda wiki Release management

kain88-de commented 6 years ago

Oh great. @orbeckst you need to remove the version files from the coverage report (- 25% that is enourmous)

orbeckst commented 6 years ago

The nice thing is that it automatically generates versions that show what you're building beyond a release .using PEP440.

orbeckst commented 6 years ago

coverage: yes, just pushed update. (And I also exclude the tests from coverage reporting...)

orbeckst commented 6 years ago

When I locally run

pytest -v --pep8 -n 4 --cov pmda

then the pep8 checker complains about doc/conf.py and setup.py. How can I exclude these files? EDIT: see https://pypi.org/project/pytest-pep8/ and configure setup.cfg as in 98769d5

More perplexingly, the .coveragerc file does not seem to be correctly read: the stuff in pmda/test/* is omitted from coverage but pmda/_version.py is still included

---------- coverage: platform darwin, python 3.6.5-final-0 -----------
Name               Stmts   Miss Branch BrPart  Cover
----------------------------------------------------
pmda/__init__.py       3      0      0      0   100%
pmda/_version.py     277    163    144     18    32%
pmda/contacts.py      54      1     14      1    97%
pmda/custom.py        34      2      6      0    95%
pmda/parallel.py      81      2     26      0    98%
pmda/rms.py           17      1      0      0    94%
pmda/util.py          11      0      0      0   100%
----------------------------------------------------
TOTAL                477    169    190     19    56%

even though I am omitting the file https://github.com/MDAnalysis/pmda/blob/d004db5c2a7125df73d481136f4f396f81ea0cf3/.coveragerc#L7

orbeckst commented 6 years ago

Pylint fails. How can I exclude _version.py?

EDIT: Answer: add it to the blacklist ignore = _version.py in .pylintrc

orbeckst commented 6 years ago

I managed to exclude _version.py by adding an omit line that *starts with ``** (even though it is not clear from the docs specifying source files in coverage that this would be necessary):

[run]
branch = True
omit =
    # omit all tests
    */pmda/test/*
    # omit the versioneer-installed _version.py
    */pmda/_version.py

Just pmda/_version.py should have worked, I think (but it didn't). Local coverage:

Name               Stmts   Miss Branch BrPart  Cover
----------------------------------------------------
pmda/__init__.py       4      0      0      0   100%
pmda/contacts.py      54      1     14      1    97%
pmda/custom.py        34      2      6      0    95%
pmda/parallel.py      81      2     26      0    98%
pmda/rms.py           17      1      0      0    94%
pmda/util.py          11      0      0      0   100%
----------------------------------------------------
TOTAL                201      6     46      1    97%