Browse Source

Implement pep440 style public and local version numbers

pull/892/head
Ross McFarland 4 years ago
parent
commit
d207df9e40
No known key found for this signature in database GPG Key ID: 943B179E15D3B22A
2 changed files with 20 additions and 5 deletions
  1. +3
    -0
      script/release
  2. +17
    -5
      setup.py

+ 3
- 0
script/release View File

@ -16,6 +16,9 @@ if [ ! -f "$ACTIVATE" ]; then
fi
. "$ACTIVATE"
# Set so that setup.py will create a public release style version number
export OCTODNS_RELEASE=1
VERSION="$(grep __VERSION__ "$ROOT/octodns/__init__.py" | sed -e "s/.* = '//" -e "s/'$//")"
git tag -s "v$VERSION" -m "Release $VERSION"


+ 17
- 5
setup.py View File

@ -1,10 +1,9 @@
#!/usr/bin/env python
try:
from StringIO import StringIO
except ImportError:
from io import StringIO
from io import StringIO
from os import environ
from os.path import dirname, join
from subprocess import CalledProcessError, check_output
import octodns
try:
@ -55,6 +54,19 @@ def long_description():
return buf.getvalue()
def version():
# pep440 style public & local version numbers
if environ.get('OCTODNS_RELEASE', False):
# public
return octodns.__VERSION__
try:
sha = check_output(['git', 'rev-parse', 'HEAD']).decode('utf-8')[:8]
except (CalledProcessError, FileNotFoundError):
sha = 'unknown'
# local
return f'{octodns.__VERSION__}+{sha}'
tests_require = (
'pytest>=6.2.5',
'pytest-cov>=3.0.0',
@ -94,5 +106,5 @@ setup(
python_requires='>=3.6',
tests_require=tests_require,
url='https://github.com/octodns/octodns',
version=octodns.__VERSION__,
version=version(),
)

Loading…
Cancel
Save