diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml new file mode 100644 index 0000000..6234566 --- /dev/null +++ b/.github/workflows/pipeline.yml @@ -0,0 +1,38 @@ +name: PIPELINE + +on: + push: + branches: + - 'master' + tags: + - '*' + pull_request: + branches: + - 'master' + + workflow_dispatch: + +jobs: + publish: + if: startsWith(github.ref, 'refs/tags') + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v3 + + - name: setup python + uses: actions/setup-python@v4 + with: + python-version: '3.10' + cache: 'pip' + + - name: install build + run: python -m pip install build --user + + - name: build wheel and source tarball + run: python -m build --sdist --wheel --outdir dist/ . + + - name: publish to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + password: ${{ secrets.PYTHON_TESTUI_PYPI_ACCESS_TOKEN }} diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..aae9579 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1 @@ +recursive-exclude tests * diff --git a/pyproject.toml b/pyproject.toml index 83c116e..184e046 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,2 +1,7 @@ +[build-system] +requires = ["setuptools>=43.0.0", "wheel"] +build-backend = "setuptools.build_meta" + + [tool.black] line-length = 80 diff --git a/requirements.txt b/requirements.txt index ea8fb12..e69ab46 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,7 @@ # dev pylint==2.14.5 black==22.6.0 +build # lib pytest==6.2.5 @@ -14,4 +15,4 @@ pytest-testrail==2.9.0 pure-python-adb==0.3.0.dev0 webdriver-manager==3.6.3 numpy==1.22.0 -imutils==0.5.4 \ No newline at end of file +imutils==0.5.4 diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..8183238 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,2 @@ +[metadata] +license_files = LICENSE diff --git a/setup.py b/setup.py index 84336d3..985ebe0 100644 --- a/setup.py +++ b/setup.py @@ -1,11 +1,41 @@ +"""Py-TestUI setup module""" + +import pathlib from setuptools import find_packages, setup + +root_path = pathlib.Path(__file__).parent.resolve() +long_description = (root_path / "README.md").read_text(encoding="utf-8") + + setup( - name="py_testui", - author="Alvaro Santos Laserna Lopez", + name="python-testui", version="1.1.1", - url="https://testdevlab.com", + description="Browser and Mobile automation framework", + long_description=long_description, + long_description_content_type="text/markdown", + url="https://github.com/testdevlab/Py-TestUI", + author="Alvaro Santos Laserna Lopez", + license="Apache LICENSE 2.0", + classifiers=[ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Topic :: Software Development :: Quality Assurance", + "License :: OSI Approved :: Apache Software License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + ], + keywords="Py-TestUI,mobile automation,browser automation", + project_urls={ + "Source": "https://github.com/testdevlab/Py-TestUI", + "Tracker": "https://github.com/testdevlab/Py-TestUI/issues", + "TestDevLab": "https://www.testdevlab.com/", + }, packages=find_packages(), + python_requires=">=3.6, <4", install_requires=[ "pytest==6.2.5", "Appium-Python-Client==2.6.0", @@ -20,5 +50,4 @@ "numpy==1.22.0", "imutils==0.5.4", ], - python_requires=">=3.6", )