diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..7a493a5 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,44 @@ +name: Release + +# Always tests wheel building, but only publish to PyPI on pushed tags. +on: + pull_request: + paths-ignore: + - ".github/workflows/*.yaml" + - "!.github/workflows/release.yaml" + push: + paths-ignore: + - ".github/workflows/*.yaml" + - "!.github/workflows/release.yaml" + branches-ignore: + - "dependabot/**" + - "pre-commit-ci-update-config" + tags: ["**"] + workflow_dispatch: + +jobs: + build-release: + runs-on: ubuntu-22.04 + permissions: + id-token: write + + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: "3.11" + + - name: install build package + run: | + pip install --upgrade pip + pip install build + pip freeze + + - name: build release + run: | + python -m build --sdist --wheel . + ls -l dist + + - name: publish to pypi + uses: pypa/gh-action-pypi-publish@release/v1 + if: startsWith(github.ref, 'refs/tags/') diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..44c095e --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,21 @@ +[build-system] +requires = ["setuptools>=64", "setuptools_scm>=8"] +build-backend = "setuptools.build_meta" + +[project] +name = "jupyterhub-fancy-profiles" +dynamic = ["version"] +authors = [ + {name = "Yuvi", email = "yuvipanda@gmail.com"}, +] +description = "Fancy Profile UI for jupyterhub-kubespawner" +keywords = ["jupyterhub"] +readme = "README.md" +classifiers = [ + "Programming Language :: Python :: 3", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", +] + +[tool.setuptools_scm] +version_file = "jupyterhub_fancy_profiles/_version.py" \ No newline at end of file diff --git a/setup.py b/setup.py deleted file mode 100644 index 3f4a68e..0000000 --- a/setup.py +++ /dev/null @@ -1,13 +0,0 @@ -from setuptools import find_packages, setup - -setup( - name="jupyterhub-fancy-profiles", - version="1.0.0", - description="UI that plugs into kubespawner profile list for", - url="https://github.com/yuvipanda/jupyterhub-fancy-profiles", - author="Yuvi Panda", - author_email="yuvipanda@gmail.com", - license="3 Clause BSD", - packages=find_packages(), - include_package_data=True, -)