summaryrefslogtreecommitdiffstats
path: root/.github/workflows/publish-to-pypi.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/publish-to-pypi.yml')
-rw-r--r--.github/workflows/publish-to-pypi.yml54
1 files changed, 54 insertions, 0 deletions
diff --git a/.github/workflows/publish-to-pypi.yml b/.github/workflows/publish-to-pypi.yml
new file mode 100644
index 00000000..d0bc4d99
--- /dev/null
+++ b/.github/workflows/publish-to-pypi.yml
@@ -0,0 +1,54 @@
+name: Publish Python 🐍 distribution 📦 to PyPI
+
+on: push
+
+env:
+ G4F_VERSION: ${{ github.ref_name }}
+
+jobs:
+ build:
+ name: Build distribution 📦
+ if: startsWith(github.ref, 'refs/tags/')
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Set up Python
+ uses: actions/setup-python@v4
+ with:
+ python-version: "3.x"
+ - name: Install pypa/build
+ run: >-
+ python3 -m
+ pip install
+ build
+ --user
+ - name: Build a binary wheel and a source tarball
+ run: python3 -m build
+ - name: Store the distribution packages
+ uses: actions/upload-artifact@v3
+ with:
+ name: python-package-distributions
+ path: dist/
+
+ publish-to-pypi:
+ name: >-
+ Publish distribution on PyPI 🐍
+ if: startsWith(github.ref, 'refs/tags/')
+ needs:
+ - build
+ runs-on: ubuntu-latest
+ environment:
+ name: testpypi
+ url: https://test.pypi.org/p/g4f
+ permissions:
+ id-token: write
+ steps:
+ - name: Download all the dists
+ uses: actions/download-artifact@v3
+ with:
+ name: python-package-distributions
+ path: dist/
+ - name: Publish distribution 📦 to PyPI
+ uses: pypa/gh-action-pypi-publish@release/v1
+ with:
+ repository-url: https://test.pypi.org/legacy/ \ No newline at end of file