##// END OF EJS Templates
testing: stubs for travis and tox configs
ergo -
Show More
@@ -0,0 +1,42 b''
1 language: python
2
3 dist: xenial
4
5 notifications:
6 on_success: change
7 on_failure: always
8
9 matrix:
10 include:
11 - python: 3.5
12 env: TOXENV=py35
13 - python: 3.6
14 env: TOXENV=py36 DB_STRING="postgres://postgres@127.0.0.1:5432/appenlight_test" DB=postgres
15 addons:
16 postgresql: "9.6"
17 - python: 3.6
18 env: TOXENV=py36 BCRYPT="enabled" DB_STRING="postgres://postgres@127.0.0.1:5432/appenlight_test" DB=postgres PGPORT=5432
19 addons:
20 postgresql: "10"
21 apt:
22 packages:
23 - postgresql-10
24 - postgresql-client-10
25
26 install:
27 - travis_retry pip install -U setuptools pip tox
28
29 script:
30 - travis_retry tox
31
32 services:
33 - postgresql
34
35
36
37 before_script:
38 - sh -c "if [ '$DB' = 'postgres' ]; then psql -c 'create database appenlight_test;' -U postgres; fi"
39
40 after_success:
41 - pip install coveralls
42 - coveralls
@@ -0,0 +1,16 b''
1 .. :changelog:
2
3 History
4 -------
5
6 0.9.1 (2016-XX-XX)
7 ++++++++++++++++++
8
9 * Added suppot for "NOT' operator in rule engine
10 * Various bugfixes
11
12
13 0.9.0 (2016-06-29)
14 ++++++++++++++++++
15
16 * first tagged public release
@@ -0,0 +1,13 b''
1 [tox]
2 envlist = py35,py36
3 setupdir = backend
4
5 [testenv]
6 extras = dev
7 passenv = DB
8 DB_STRING
9
10 commands=
11 pip install -U pip setuptools wheel
12 pip install -r backend/requirements.txt
13 pytest backend/src/appenlight/tests
@@ -1,7 +1,7 b''
1 [bumpversion]
1 [bumpversion]
2 current_version = 1.1.0
2 current_version = 1.1.1
3 message = release: Bump version {current_version} to {new_version}
3 message = release: Bump version {current_version} to {new_version}
4 tag_name = {new_version}
4 tag_name = {new_version}
5
5
6 [bumpversion:file:backend/src/appenlight/VERSION]
6 [bumpversion:file:backend/VERSION]
7
7
1 NO CONTENT: file renamed from backend/src/appenlight/VERSION to backend/VERSION
NO CONTENT: file renamed from backend/src/appenlight/VERSION to backend/VERSION
@@ -1,81 +1,81 b''
1 import os
1 import os
2 import sys
3 import re
2 import re
4
3
5 from setuptools import setup, find_packages
4 from setuptools import setup, find_packages
6
5
7 here = os.path.abspath(os.path.dirname(__file__))
6 here = os.path.abspath(os.path.dirname(__file__))
8 README = open(os.path.join(here, '..', 'README.md')).read()
7 README = open(os.path.join(here, 'README.rst')).read()
9 CHANGES = open(os.path.join(here, 'CHANGELOG.rst')).read()
8 CHANGES = open(os.path.join(here, 'CHANGELOG.rst')).read()
10
9
11 REQUIREMENTS = open(os.path.join(here, 'requirements.txt')).readlines()
10 REQUIREMENTS = open(os.path.join(here, 'requirements.txt')).readlines()
12
11
13 compiled = re.compile('([^=><]*).*')
12 compiled = re.compile('([^=><]*).*')
14
13
15
14
16 def parse_req(req):
15 def parse_req(req):
17 return compiled.search(req).group(1).strip()
16 return compiled.search(req).group(1).strip()
18
17
19
18
20 requires = [_f for _f in map(parse_req, REQUIREMENTS) if _f]
19 requires = [_f for _f in map(parse_req, REQUIREMENTS) if _f]
21
20
22
21
23 def _get_meta_var(name, data, callback_handler=None):
22 def _get_meta_var(name, data, callback_handler=None):
24 import re
23 import re
25 matches = re.compile(r'(?:%s)\s*=\s*(.*)' % name).search(data)
24 matches = re.compile(r'(?:%s)\s*=\s*(.*)' % name).search(data)
26 if matches:
25 if matches:
27 if not callable(callback_handler):
26 if not callable(callback_handler):
28 callback_handler = lambda v: v
27 callback_handler = lambda v: v
29
28
30 return callback_handler(eval(matches.groups()[0]))
29 return callback_handler(eval(matches.groups()[0]))
31
30
31
32 with open(os.path.join(here, 'src', 'appenlight', '__init__.py'), 'r') as _meta:
32 with open(os.path.join(here, 'src', 'appenlight', '__init__.py'), 'r') as _meta:
33 _metadata = _meta.read()
33 _metadata = _meta.read()
34
34
35 with open(os.path.join('src', 'appenlight', 'VERSION')) as _meta_version:
35 with open(os.path.join(here, 'VERSION'), 'r') as _meta_version:
36 __version__ = _meta_version.read().strip()
36 __version__ = _meta_version.read().strip()
37
37
38 __license__ = _get_meta_var('__license__', _metadata)
38 __license__ = _get_meta_var('__license__', _metadata)
39 __author__ = _get_meta_var('__author__', _metadata)
39 __author__ = _get_meta_var('__author__', _metadata)
40 __url__ = _get_meta_var('__url__', _metadata)
40 __url__ = _get_meta_var('__url__', _metadata)
41
41
42 found_packages = find_packages('src')
42 found_packages = find_packages('src')
43 found_packages.append('appenlight.migrations.versions')
43 found_packages.append('appenlight.migrations.versions')
44 setup(name='appenlight',
44 setup(name='appenlight',
45 description='appenlight',
45 description='appenlight',
46 long_description=README + '\n\n' + CHANGES,
46 long_description=README + '\n\n' + CHANGES,
47 classifiers=[
47 classifiers=[
48 "Programming Language :: Python",
48 "Programming Language :: Python",
49 "Framework :: Pylons",
49 "Framework :: Pylons",
50 "Topic :: Internet :: WWW/HTTP",
50 "Topic :: Internet :: WWW/HTTP",
51 "Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
51 "Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
52 ],
52 ],
53 version=__version__,
53 version=__version__,
54 license=__license__,
54 license=__license__,
55 author=__author__,
55 author=__author__,
56 url=__url__,
56 url=__url__,
57 keywords='web wsgi bfg pylons pyramid',
57 keywords='web wsgi bfg pylons pyramid',
58 package_dir={'': 'src'},
58 package_dir={'': 'src'},
59 packages=found_packages,
59 packages=found_packages,
60 include_package_data=True,
60 include_package_data=True,
61 zip_safe=False,
61 zip_safe=False,
62 test_suite='appenlight',
62 test_suite='appenlight',
63 install_requires=requires,
63 install_requires=requires,
64 extras_require={
64 extras_require={
65 "dev": ["coverage", "pytest", "pyramid", "tox", "mock", "webtest"],
65 "dev": ["coverage", "pytest", "pyramid", "tox", "mock", "webtest"],
66 "lint": ["black"],
66 "lint": ["black"],
67 },
67 },
68 entry_points={
68 entry_points={
69 'paste.app_factory': [
69 'paste.app_factory': [
70 'main = appenlight:main'
70 'main = appenlight:main'
71 ],
71 ],
72 'console_scripts': [
72 'console_scripts': [
73 'appenlight-cleanup = appenlight.scripts.cleanup:main',
73 'appenlight-cleanup = appenlight.scripts.cleanup:main',
74 'appenlight-initializedb = appenlight.scripts.initialize_db:main',
74 'appenlight-initializedb = appenlight.scripts.initialize_db:main',
75 'appenlight-migratedb = appenlight.scripts.migratedb:main',
75 'appenlight-migratedb = appenlight.scripts.migratedb:main',
76 'appenlight-reindex-elasticsearch = appenlight.scripts.reindex_elasticsearch:main',
76 'appenlight-reindex-elasticsearch = appenlight.scripts.reindex_elasticsearch:main',
77 'appenlight-static = appenlight.scripts.static:main',
77 'appenlight-static = appenlight.scripts.static:main',
78 'appenlight-make-config = appenlight.scripts.make_config:main',
78 'appenlight-make-config = appenlight.scripts.make_config:main',
79 ]
79 ]
80 }
80 }
81 )
81 )
General Comments 0
You need to be logged in to leave comments. Login now