Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit afb3fd1

Browse files
some updates for release process, docs, testing (#26)
* setup.cfg: use default format for sdist (.tar.gz), see #25 * we need a very recent cython to support python 3.9 there were some incompatible changes in python 3.9, thus code generated by old cython versions won't compile. * fix typo in changelog it still worked for py38, but py39 was broken because they removed some deprecated stuff still present in the old cython-generated C code. * travis: testing on all python versions also: on differently old linux dists * pypi metadata: be more precise about python versions Note: I used the same python versions as for borgbackup because I run extensive release testing for these versions (which indirectly tests llfuse also) plus python 3.9 which should also work after fixing llfuse's cythonized code for it. There might be a need to drop 3.4 and 3.5 later again because they are EOL, but for right now, they're still working and tested. * disable developer mode on travis-ci
1 parent 2ebf9df commit afb3fd1

File tree

6 files changed

+43
-16
lines changed

6 files changed

+43
-16
lines changed

.travis.yml

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,27 @@
11
sudo: required
2-
dist: xenial
2+
language: python
3+
4+
matrix:
5+
include:
6+
- python: "3.4"
7+
os: linux
8+
dist: trusty
9+
- python: "3.5"
10+
os: linux
11+
dist: xenial
12+
- python: "3.6"
13+
os: linux
14+
dist: bionic
15+
- python: "3.7"
16+
os: linux
17+
dist: bionic
18+
- python: "3.8"
19+
os: linux
20+
dist: focal
21+
- python: "3.9-dev"
22+
os: linux
23+
dist: focal
324

4-
language:
5-
- python
6-
python:
7-
- "3.6"
825
addons:
926
apt:
1027
packages:

Changes.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ module instead.
1111
Release 1.3.7 (2020-10-04)
1212
==========================
1313

14-
* Rebuild with Cython 0.29.21 for Python 3.8 compatibility.
14+
* Rebuild with Cython 0.29.21 for Python 3.9 compatibility.
1515

1616
Release 1.3.6 (2019-02-14)
1717
==========================

rst/install.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ Development Version
6262

6363
If you have checked out the unstable development version from the
6464
repository, a bit more effort is required. You need to also have
65-
Cython_ (0.24 or newer) and Sphinx_ (1.1 or newer) installed, and the
65+
Cython_ (0.29.21 or newer) and Sphinx_ (1.1 or newer) installed, and the
6666
necessary commands are::
6767

6868
python setup.py build_cython

setup.cfg

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
[sdist]
2-
formats=bztar
3-
41
[build_sphinx]
52
source-dir = rst
63
build-dir = doc
7-

setup.py

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,13 @@
4646
basedir = os.path.abspath(os.path.dirname(sys.argv[0]))
4747
sys.path.insert(0, os.path.join(basedir, 'util'))
4848

49-
# When running from HG repo, enable all warnings
50-
DEVELOPER_MODE = os.path.exists(os.path.join(basedir, 'MANIFEST.in'))
49+
ON_TRAVIS = os.environ.get('TRAVIS_OS_NAME') is not None
50+
51+
# when running on developer machine / from a repo checkout:
52+
# enable all warnings, abort on some warnings.
53+
# when running on travis-ci, do not use developer mode, so it
54+
# can compile and test even if there are e.g. deprecation warnings.
55+
DEVELOPER_MODE = os.path.exists(os.path.join(basedir, 'MANIFEST.in')) and not ON_TRAVIS
5156
if DEVELOPER_MODE:
5257
print('found MANIFEST.in, running in developer mode')
5358
warnings.resetwarnings()
@@ -140,6 +145,13 @@ def main():
140145
classifiers=['Development Status :: 4 - Beta',
141146
'Intended Audience :: Developers',
142147
'Programming Language :: Python',
148+
'Programming Language :: Python :: 3',
149+
'Programming Language :: Python :: 3.4',
150+
'Programming Language :: Python :: 3.5',
151+
'Programming Language :: Python :: 3.6',
152+
'Programming Language :: Python :: 3.7',
153+
'Programming Language :: Python :: 3.8',
154+
'Programming Language :: Python :: 3.9',
143155
'Topic :: Software Development :: Libraries :: Python Modules',
144156
'Topic :: System :: Filesystems',
145157
'License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)',
@@ -231,8 +243,9 @@ def run(self):
231243
raise SystemExit('Cython needs to be installed for this command')
232244

233245
hit = re.match('^Cython version (.+)$', version)
234-
if not hit or LooseVersion(hit.group(1)) < "0.24":
235-
raise SystemExit('Need Cython 0.24 or newer, found ' + version)
246+
if not hit or LooseVersion(hit.group(1)) < "0.29":
247+
# in fact, we need a very recent Cython version (like 0.29.21) to support py39
248+
raise SystemExit('Need Cython 0.29 or newer, found ' + version)
236249

237250
cmd = ['cython', '-Wextra', '--force', '-3', '--fast-fail',
238251
'--directive', 'embedsignature=True', '--include-dir',

test/travis-install.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@
22

33
set -e
44

5-
pip install pytest cython sphinx
5+
# as long as we test on python 3.4, we need pytest < 5.0
6+
pip install 'pytest<5.0' pytest-catchlog cython sphinx
67
cython --version

0 commit comments

Comments
 (0)