From aebd1abcc4e4ae69fe69bc0c4fd273fcbfd32731 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Tue, 26 Jun 2018 22:12:38 -0300 Subject: [PATCH 1/2] Automate deployment to PyPI using Travis --- .gitignore | 2 ++ .travis.yml | 17 +++++++++++++++++ CHANGELOG | 4 ++-- HOWTORELEASE.rst | 17 +++++++++++++++++ py/__init__.py | 7 ++++++- setup.py | 16 ++-------------- 6 files changed, 46 insertions(+), 17 deletions(-) create mode 100644 HOWTORELEASE.rst diff --git a/.gitignore b/.gitignore index 5bb0d457..375476fd 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,5 @@ __pycache__/ .eggs/ dist/* +/py/_version.py +.pytest_cache/ diff --git a/.travis.yml b/.travis.yml index 917c59d1..ea75028d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,6 +17,23 @@ matrix: - python: '2.7' # using a different option due to pytest-addopts pytester issues env: PYTEST_XADDOPTS="-n 3 --runslowtests" DEPS="pytest~=3.0.0 pytest-xdist" + + - stage: deploy + python: '3.6' + env: + install: pip install -U setuptools setuptools_scm + script: skip + deploy: + provider: pypi + user: nicoddemus + distributions: sdist bdist_wheel + skip_upload_docs: true + password: + secure: VNYW/sZoD+9DzKCe6vANNXXJR7jP7rwySafQ33N1jAnCrdylQjEN/p6tSfUe8jDi3wDpLPL9h8pwfxuUT7CRxglHov3Qe7zSeywixvHan5aFahQiQ8+gucYIM7wITHH3oQs7jN35pnhdnF+QlW2+eDCL6qOLU5XwuRhsDKXjQ/hUWR5hlX5EniD1gzyKEf6j1YCpST87tKpeLwVEYEmsucdkUZuXhxDtyaWQHWiPsLWwh/slQtUJEHeLF26r8UxFy0RiGne9jR+CzRfH5ktcA9/pArvp4VuwOii+1TDxVSYP7+I8Z+eUKN9JBg12QLaHwoIN/8J+MvHCkuf+OGSLM3sEyNRJGDev372xg3K7ylIkeeK4WXirKEp2ojgN8tniloDjnwdu/gPWBnrXuooA60tNoByHFa8KbMZAr2B2sQeMxD4VZGr1N8l0rX4gRTrwvdk3i3ulLKVSwkXaGn+GrfZTTboa7dEnpuma8tv1niNCSpStYIy7atS8129+5ijV3OC8DzOMh/rVbO9WsDb/RPG3yjFiDvEJPIPeE0l/m5u42QBqtdZSS2ia7UWTJBiEY09uFMTRmH5hhE/1aiYBbvAztf5CReUbeKdSQz3L8TTSZqewtFZmXTkX97/xQnrEpsnGezIM2DNuMEuQG3MxGkNCxwbQKpx/bkHdrD75yMk= + on: + tags: true + repo: pytest-dev/py + allow_failures: - python: 'pypy-5.4' install: diff --git a/CHANGELOG b/CHANGELOG index e2f646ab..a17cdb59 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,5 @@ -(unreleased) -============ +1.5.4 (2018-06-27) +================== - fix pytest-dev/pytest#3451: don't make assumptions about fs case sensitivity in ``make_numbered_dir``. diff --git a/HOWTORELEASE.rst b/HOWTORELEASE.rst new file mode 100644 index 00000000..8d023163 --- /dev/null +++ b/HOWTORELEASE.rst @@ -0,0 +1,17 @@ +Release Procedure +----------------- + +#. Create a branch ``release-X.Y.Z`` from the latest ``master``. + +#. Manually update the ``CHANGELOG`` and commit. + +#. Open a PR for this branch targeting ``master``. + +#. After all tests pass and the PR has been approved by at least another maintainer, publish to PyPI by creating and pushing a tag:: + + git tag X.Y.Z + git push git@github.com:pytest-dev/py X.Y.Z + + Wait for the deploy to complete, then make sure it is `available on PyPI `_. + +#. Merge your PR to ``master``. diff --git a/py/__init__.py b/py/__init__.py index be27e920..b892ce1a 100644 --- a/py/__init__.py +++ b/py/__init__.py @@ -18,7 +18,12 @@ import apipkg lib_not_mangled_by_packagers = False vendor_prefix = '' -__version__ = '1.5.3' + +try: + from ._version import version as __version__ +except ImportError: + # broken installation, we don't even try + __version__ = "unknown" apipkg.initpkg(__name__, attr={'_apipkg': apipkg, 'error': error}, exportdefs={ diff --git a/setup.py b/setup.py index 959323b0..a0d723c3 100644 --- a/setup.py +++ b/setup.py @@ -1,25 +1,13 @@ -import os -import sys - from setuptools import setup, find_packages -def get_version(): - p = os.path.join(os.path.dirname( - os.path.abspath(__file__)), "py", "__init__.py") - with open(p) as f: - for line in f.readlines(): - if "__version__" in line: - return line.strip().split("=")[-1].strip(" '") - raise ValueError("could not read version") - - def main(): setup( name='py', description='library with cross-python path, ini-parsing, io, code, log facilities', long_description=open('README.rst').read(), - version=get_version(), + use_scm_version={"write_to": "py/_version.py"}, + setup_requires=["setuptools-scm"], url='http://py.readthedocs.io/', license='MIT license', platforms=['unix', 'linux', 'osx', 'cygwin', 'win32'], From 7ad4bd7abce534b91392edfeff9bf601b844226f Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Tue, 26 Jun 2018 22:13:38 -0300 Subject: [PATCH 2/2] Remove old hg files (ignore and tags) --- .hgignore | 29 ------------------------ .hgtags | 68 ------------------------------------------------------- 2 files changed, 97 deletions(-) delete mode 100644 .hgignore delete mode 100644 .hgtags diff --git a/.hgignore b/.hgignore deleted file mode 100644 index 34976da5..00000000 --- a/.hgignore +++ /dev/null @@ -1,29 +0,0 @@ - -# Automatically generated by `hgimportsvn` -syntax:glob -.svn -.hgsvn - -# These lines are suggested according to the svn:ignore property -# Feel free to enable them by uncommenting them -syntax:glob -*.pyc -*.pyo -*.swp -*.html -*.class -*.orig -*~ - -doc/_build -build/ -dist/ -*.egg-info -issue/ -env/ -3rdparty/ -.tox -lib/ -bin/ -include/ -src/ diff --git a/.hgtags b/.hgtags deleted file mode 100644 index 9d48095b..00000000 --- a/.hgtags +++ /dev/null @@ -1,68 +0,0 @@ -52c6d9e78777a5a34e813123997dfc614a1a4767 1.0.0b3 -1c7aaa8c61f3b0945921a9acc7beb184201aed4b 1.0.0b4 -1c7aaa8c61f3b0945921a9acc7beb184201aed4b 1.0.0b4 -0000000000000000000000000000000000000000 1.0.0b4 -0000000000000000000000000000000000000000 1.0.0b4 -8cd6eb91eba313b012d6e568f37d844dc0751f2e 1.0.0b4 -8cd6eb91eba313b012d6e568f37d844dc0751f2e 1.0.0b4 -0000000000000000000000000000000000000000 1.0.0b4 -2cc0507f117ffe721dff7ee026648cfce00ec92f 1.0.0b6 -86f1e1b6e49bf5882a809f11edd1dbb08162cdad 1.0.0b8 -86f1e1b6e49bf5882a809f11edd1dbb08162cdad 1.0.0b8 -c63f35c266cbb26dad6b87b5e115d65685adf448 1.0.0b8 -c63f35c266cbb26dad6b87b5e115d65685adf448 1.0.0b8 -0eaa0fdf2ba0163cf534dc2eff4ba2e5fc66c261 1.0.0b8 -e2a60653cb490aeed81bbbd83c070b99401c211c 1.0.0b9 -5ea0cdf7854c3d4278d36eda94a2b68483a0e211 1.0.0 -5ea0cdf7854c3d4278d36eda94a2b68483a0e211 1.0.0 -7acde360d94b6a2690ce3d03ff39301da84c0a2b 1.0.0 -6bd221981ac99103002c1cb94fede400d23a96a1 1.0.1 -4816e8b80602a3fd3a0a120333ad85fbe7d8bab4 1.0.2 -60c44bdbf093285dc69d5462d4dbb4acad325ca6 1.1.0 -319187fcda66714c5eb1353492babeec3d3c826f 1.1.1 -4fc5212f7626a56b9eb6437b5c673f56dd7eb942 1.2.0 -c143a8c8840a1c68570890c8ac6165bbf92fd3c6 1.2.1 -eafd3c256e8732dfb0a4d49d051b5b4339858926 1.3.0 -d5eacf390af74553227122b85e20345d47b2f9e6 1.3.1 -d5eacf390af74553227122b85e20345d47b2f9e6 1.3.1 -8b8e7c25a13cf863f01b2dd955978285ae9daf6a 1.3.1 -3bff44b188a7ec1af328d977b9d39b6757bb38df 1.3.2 -c59d3fa8681a5b5966b8375b16fccd64a3a8dbeb 1.3.3 -79ef6377705184c55633d456832eea318fedcf61 1.3.4 -79ef6377705184c55633d456832eea318fedcf61 1.3.4 -90fffd35373e9f125af233f78b19416f0938d841 1.3.4 -5346ab41b059c95a48cbe1e8a7bae96ce6e0da27 1.4.0 -1f3125cba7976538952be268f107c1d0c36c5ce8 1.4.1 -04ab22db4ff737cf31e91d75a0f5d7077f324167 1.4.2 -9950bf9d684a984d511795013421c89c5cf88bef 1.4.3 -d9951e3bdbc765e73835ae13012f6a074d13d8bf 1.4.4 -b827dd156a36753e32c7f3f15ce82d6fe9e356c8 1.4.6 -f15726f9e5a67cc6221c499affa4840e9d591763 1.4.7 -abfabd07a1d328f13c730e8a50d80d2e470afd3b 1.4.9 -7f37ee0aff9be4b839d6759cfee336f60e8393a4 1.4.10 -fe4593263efa10ea7ba014db6e3379e0b82368a2 1.4.11 -f07af25a26786e4825b5170e17ad693245cb3426 1.4.12 -d3730d84ba7eda92fd3469a3f63fd6d8cb22c975 1.4.13 -12c1ae8e7c5345721e9ec9f8e27b1e36c07f74dc 1.4.14 -12c1ae8e7c5345721e9ec9f8e27b1e36c07f74dc 1.4.14 -0000000000000000000000000000000000000000 1.4.14 -0000000000000000000000000000000000000000 1.4.14 -1497e2efd0f8c73a0e3d529debf0c489e4cd6cab 1.4.14 -e065014c1ce8ad110a381e9baaaa5d647ba7ac6b 1.4.15 -e9e5b38f53dc35b35aa1f9ee9a9be9bbd2d2c3b1 1.4.16 -c603503945f52b78522d96a423605cbc953236d3 1.4.17 -c59201105a29801cc858eb9160b7a19791b91a35 1.4.18 -284cc172e294d48edc840012e1451c32c3963d92 1.4.19 -a3e0626aa0c5aecf271367dc77e476ab216ea3c8 1.4.20 -5e48016c4a3af8e7358a1267d33d021e71765bed 1.4.21 -01ae2cfcc61c4fcb3aa5031349adb5b467c31018 1.4.23 -5ffd982f4dff60b588f309cd9bdc61036547282a 1.4.24 -dc9ffbcaf1f7d72e96be3f68c11deebb7e7193c5 1.4.25 -6de1a44bf75de7af4fcae947c235e9072bbdbb9a 1.4.26 -7d650ba2657890a2253c8c4a83f170febebd90fa 1.4.27 -7d650ba2657890a2253c8c4a83f170febebd90fa 1.4.27 -1810003dec63dd1b506a23849861fffa5bc3ba13 1.4.27 -ba08706f08ddea1b77a426f00dfe2bdc244345e8 1.4.28 -4e8054ada63f3327bcf759ae7cd36c7c8652bc9b 1.4.29 -366ab346610c6de8aaa7617e24011794b40236c6 1.4.30 -657380e439f9b7e04918cb162cb2e46388244b42 1.4.31