Skip to content

Commit

Permalink
add github action, cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
un33k committed Feb 16, 2022
1 parent a90d967 commit 86d76ee
Show file tree
Hide file tree
Showing 18 changed files with 230 additions and 138 deletions.
43 changes: 43 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: CI

# Run on push only for dev/sandbox
# Otherwise it may trigger concurrently `push & pull_request` on PRs.
on:
push:
branches:
- ci

jobs:
build:
name: Python ${{ matrix.python }}
runs-on: ubuntu-latest
strategy:
matrix:
python: [3.6, 3.7, 3.8, 3.9, "3.10", pypy3]

steps:
- uses: actions/checkout@v2
- name: setup python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e .
pip install coveralls --upgrade
- name: Run flake8
run: |
pip install flake8 --upgrade
flake8 --exclude=build --ignore=E501,F403,F401,E241,E225,E128 .
- name: Run pycodestyle
run: |
pip install pycodestyle --upgrade
pycodestyle --ignore=E128,E261,E225,E501,W605 slugify test.py setup.py
- name: Run test
run: |
coverage run --source=slugify test.py
- name: Coveralls
run: coveralls --service=github
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
44 changes: 44 additions & 0 deletions .github/workflows/dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: DEV

# Run on push only for dev/sandbox
# Otherwise it may trigger concurrently `push & pull_request` on PRs.
on:
push:
branches:
- sandbox
- dev

jobs:
build:
name: Python ${{ matrix.python }}
runs-on: ubuntu-latest
strategy:
matrix:
python: [3.6, 3.7, 3.8, 3.9, "3.10", pypy3]

steps:
- uses: actions/checkout@v2
- name: setup python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e .
pip install coveralls --upgrade
- name: Run flake8
run: |
pip install flake8 --upgrade
flake8 --exclude=build --ignore=E501,F403,F401,E241,E225,E128 .
- name: Run pycodestyle
run: |
pip install pycodestyle --upgrade
pycodestyle --ignore=E128,E261,E225,E501,W605 slugify test.py setup.py
- name: Run test
run: |
coverage run --source=slugify test.py
- name: Coveralls
run: coveralls --service=github
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
43 changes: 43 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Main

# Run on push only for dev/sandbox
# Otherwise it may trigger concurrently `push & pull_request` on PRs.
on:
push:
branches:
- master

jobs:
build:
name: Python ${{ matrix.python }}
runs-on: ubuntu-latest
strategy:
matrix:
python: [3.6, 3.7, 3.8, 3.9, "3.10", pypy3]

steps:
- uses: actions/checkout@v2
- name: setup python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e .
pip install coveralls --upgrade
- name: Run flake8
run: |
pip install flake8 --upgrade
flake8 --exclude=build --ignore=E501,F403,F401,E241,E225,E128 .
- name: Run pycodestyle
run: |
pip install pycodestyle --upgrade
pycodestyle --ignore=E128,E261,E225,E501,W605 slugify test.py setup.py
- name: Run test
run: |
coverage run --source=slugify test.py
- name: Coveralls
run: coveralls --service=github
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5 changes: 0 additions & 5 deletions .python-version

This file was deleted.

22 changes: 0 additions & 22 deletions .travis.yml

This file was deleted.

3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"python.linting.pylintEnabled": false,
"python.pythonPath": "/usr/bin/python3",
}
"cSpell.words": ["Neekman", "shch", "xlate"]
}
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
## 6.0.0

- Enable github action
- Remove tox, as we run the test on github action, the end users can refer to those test

## 5.0.2

- Enable twine publish
Expand Down
3 changes: 1 addition & 2 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
include CHANGELOG.md
include LICENSE
include README.md
include test.py
include CHANGELOG.md
8 changes: 2 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,10 +164,6 @@ quick-brown-fox-jumps-over-lazy-dog

# Running the tests

To run the tests against all environments:

tox

To run the tests against the current environment:

python test.py
Expand All @@ -188,8 +184,8 @@ X.Y.Z Version
`MINOR` version -- when you add functionality in a backwards-compatible manner, and
`PATCH` version -- when you make backwards-compatible bug fixes.

[status-image]: https://travis-ci.org/un33k/python-slugify.svg?branch=master
[status-link]: https://travis-ci.org/un33k/python-slugify
[status-image]: https://github.com/un33k/python-slugify/actions/workflows/ci.yml/badge.svg
[status-link]: https://github.com/un33k/python-slugify/actions/workflows/ci.yml
[version-image]: https://img.shields.io/pypi/v/python-slugify.svg
[version-link]: https://pypi.python.org/pypi/python-slugify
[coverage-image]: https://coveralls.io/repos/un33k/python-slugify/badge.svg
Expand Down
3 changes: 2 additions & 1 deletion dev.requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
pycodestyle==2.7.0
twine==3.4.1
twine==3.4.1
flake8==4.0.1
118 changes: 66 additions & 52 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,70 +1,84 @@
#!/usr/bin/env python

# -*- coding: utf-8 -*-
from setuptools import setup, find_packages
import re
# Learn more: https://github.com/un33k/setup.py
import os
import sys
import codecs

name = 'python-slugify'
from codecs import open
from shutil import rmtree
from setuptools import setup


package = 'slugify'
description = 'A Python Slugify application that handles Unicode'
url = 'https://github.com/un33k/python-slugify'
author = 'Val Neekman'
author_email = 'info@neekware.com'
license = 'MIT'
python_requires = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
here = os.path.abspath(os.path.dirname(__file__))

install_requires = ['text-unidecode>=1.3']
extras_require = {'unidecode': ['Unidecode>=1.1.1']}
extras_requires = {'unidecode': ['Unidecode>=1.1.1']}
test_requires = []

classifiers = [
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'Topic :: Software Development :: Build Tools',
'License :: OSI Approved :: MIT License',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
]
about = {}
with open(os.path.join(here, package, '__version__.py'), 'r', 'utf-8') as f:
exec(f.read(), about)

with open('README.md', 'r', 'utf-8') as f:
readme = f.read()

def get_version(package):
"""
Return package version as listed in `__version__` in `init.py`.
"""
init_py = codecs.open(os.path.join(package, '__init__.py'), encoding='utf-8').read()
return re.search("^__version__ = ['\"]([^'\"]+)['\"]", init_py, re.MULTILINE).group(1)

def status(s):
print('\033[1m{0}\033[0m'.format(s))

if sys.argv[-1] == 'build':
os.system("python setup.py sdist bdist_wheel")

# 'setup.py publish' shortcut.
if sys.argv[-1] == 'publish':
os.system("python setup.py build && twine upload dist/*")
args = {'version': get_version(package)}
print("You probably want to also tag the version now:")
print(" git tag -a %(version)s -m 'version %(version)s' && git push --tags" % args)
sys.exit()
try:
status('Removing previous builds…')
rmtree(os.path.join(here, 'dist'))
except OSError:
pass

status('Building Source and Wheel (universal) distribution…')
os.system('{0} setup.py sdist bdist_wheel --universal'.format(sys.executable))

EXCLUDE_FROM_PACKAGES = []
status('Uploading the package to PyPI via Twine…')
os.system('twine upload dist/*')

status('Pushing git tags…')
os.system('git tag v{0}'.format(about['__version__']))
os.system('git push --tags')
sys.exit()

setup(
name=name,
version=get_version(package),
url=url,
license=license,
description=description,
long_description=description,
author=author,
author_email=author_email,
packages=find_packages(exclude=EXCLUDE_FROM_PACKAGES),
name=about['__title__'],
version=about['__version__'],
description=about['__description__'],
long_description=readme,
long_description_content_type='text/markdown',
author=about['__author__'],
author_email=about['__author_email__'],
url=about['__url__'],
license=about['__license__'],
packages=[package],
package_data={'': ['LICENSE']},
package_dir={'slugify': 'slugify'},
include_package_data=True,
python_requires=python_requires,
install_requires=install_requires,
extras_require=extras_require,
python_requires='>=3.6',
classifiers=classifiers,
entry_points={'console_scripts': ['slugify=slugify.__main__:main']},
tests_require=test_requires,
extras_require=extras_requires,
zip_safe=False,
cmdclass={},
project_urls={},
classifiers=[
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'Natural Language :: English',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
]
)
5 changes: 0 additions & 5 deletions slugify/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,2 @@
from .special import *
from .slugify import *


__author__ = 'Val Neekman @ Neekware Inc. [@vneekman]'
__description__ = 'A Python slugify application that also handles Unicode'
__version__ = '5.0.2'
4 changes: 2 additions & 2 deletions slugify/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ def slugify_params(args):
)


def main(argv=None): # pragma: no cover
def main(argv=None): # pragma: no cover
""" Run this program """
if argv is None:
argv = sys.argv
Expand All @@ -89,5 +89,5 @@ def main(argv=None): # pragma: no cover
sys.exit(-1)


if __name__ == '__main__': # pragma: no cover
if __name__ == '__main__': # pragma: no cover
main()
8 changes: 8 additions & 0 deletions slugify/__version__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
__title__ = 'python-slugify'
__author__ = 'Val Neekman'
__author_email__ = 'info@neekware.com'
__description__ = 'A Python slugify application that also handles Unicode'
__url__ = 'https://github.com/un33k/python-slugify'
__license__ = 'MIT'
__copyright__ = 'Copyright 2022 Val Neekman @ Neekware Inc.'
__version__ = '6.0.0'
Loading

0 comments on commit 86d76ee

Please sign in to comment.