From 71d95faeea9b34894171ae418b7381882cc67595 Mon Sep 17 00:00:00 2001 From: David Straub Date: Thu, 3 Sep 2020 17:12:22 +0200 Subject: [PATCH 1/2] Use setup from setuptools to allow creation of python wheels Add extras_require --- setup.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 1a7725b64..6bc311077 100755 --- a/setup.py +++ b/setup.py @@ -33,7 +33,8 @@ if sys.version_info < (3, 2): raise SystemExit("Gramps requires Python 3.2 or later.") from distutils import log -from distutils.core import setup, Command +from setuptools import setup +from distutils.core import Command from distutils.util import convert_path, newer from distutils.command.build import build as _build import os @@ -400,6 +401,13 @@ setup(name = 'gramps', cmdclass = {'build': build, 'test': test}, packages = packages, package_data = {'gramps': package_data}, + extras_require={ + "bsddb": ["bsddb3"], + "image": ["Pillow"], + "i18n": ["PyICU"], + "GUI": ["PyGObject", "pycairo"], + "testing": ["jsonschema", "mock", "lxml"], + }, data_files = data_files, scripts = ['scripts/gramps'], classifiers = [ From dafedbebd51332d0689a7d2d96694ffc0c8beb4e Mon Sep 17 00:00:00 2001 From: David Straub Date: Thu, 3 Sep 2020 17:19:58 +0200 Subject: [PATCH 2/2] Add PyPI auto-deploy to Travis CI --- .travis.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/.travis.yml b/.travis.yml index 22fcdc1d1..cb6027b4c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -122,3 +122,25 @@ after_success: # picks up coverage from /usr/bin, rather than from # /home/travis/virtualenv/python3.3.6/bin/ - PATH=/usr/bin:$PATH bash <(curl -s https://codecov.io/bash) + +stages: + - test + # Only execute deployment stage on tagged commits, and from our repository + # (e.g. not PRs). + - name: deploy + if: tag IS PRESENT AND repo = gramps-project/gramps + +env: + global: + - TWINE_USERNAME=__token__ + +jobs: + include: + # Deploy source distribution + - stage: deploy + name: Deploy source distribution and wheel + install: skip + script: python3 setup.py sdist bdist_wheel + after_success: | + python3 -m pip install twine + python3 -m twine upload --repository testpypi --skip-existing dist/*