diff --git a/.github/workflows/pypi.yml b/.github/workflows/pypi.yml new file mode 100644 index 0000000..9159661 --- /dev/null +++ b/.github/workflows/pypi.yml @@ -0,0 +1,32 @@ +name: Publish Python Package to Pypi.org + +on: + release: + types: [published] + +permissions: + id-token: write + +jobs: + pypi-publish: + name: Release Python Package on Pypi.org + runs-on: ubuntu-latest + environment: + name: pypi + url: https://pypi.org/p/django-loci + permissions: + id-token: write + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.10' + - name: Install dependencies + run: | + pip install -U pip + pip install build + - name: Build package + run: python -m build + - name: Publish package distributions to PyPI + uses: pypa/gh-action-pypi-publish@v1.9.0 diff --git a/setup.py b/setup.py index 0fa93d7..3b21abc 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,4 @@ #!/usr/bin/env python -import os -import sys - from setuptools import find_packages, setup from django_loci import get_version @@ -26,19 +23,6 @@ def get_install_requires(): return requirements -if sys.argv[-1] == 'publish': - # delete any *.pyc, *.pyo and __pycache__ - os.system('find . | grep -E "(__pycache__|\.pyc|\.pyo$)" | xargs rm -rf') - os.system("python setup.py sdist bdist_wheel") - os.system("twine upload -s dist/*") - os.system("rm -rf dist build") - args = {'version': get_version()} - print("You probably want to also tag the version now:") - print(" git tag -a %(version)s -m 'version %(version)s'" % args) - print(" git push --tags") - sys.exit() - - setup( name='django-loci', version=get_version(),