Deploy to pypi using GitHub actions (#1518)

* Create deploy-pypi.yml

* Update deploy-pypi.yml

* Update deploy-pypi.yml

* Update deploy-pypi.yml

* pypi action

* pypi action
This commit is contained in:
Abubakar Abid 2022-06-10 00:29:29 -07:00 committed by GitHub
parent 5e248657eb
commit 32fcb775cb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 64 additions and 0 deletions

40
.github/workflows/deploy-pypi.yml vendored Normal file
View File

@ -0,0 +1,40 @@
# This workflow will upload a Python Package using Twine when a release is created
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
name: Upload Python Package
on:
pull_request:
types: closed
branches:
- main
- release**
paths:
- 'gradio/version.txt'
permissions:
contents: read
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: '3.x'
- name: Install dependencies
run: python -m pip install --upgrade pip
- name: Build package
run: scripts/gh_action_pypi.sh
- name: Publish package
uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}

24
scripts/gh_action_pypi.sh Normal file
View File

@ -0,0 +1,24 @@
#!/bin/bash
if [ -z "$(ls | grep CONTRIBUTING.md)" ]; then
echo "Please run the script from repo directory"
exit -1
else
old_version=$(grep -Po "(?<=version=\")[^\"]+(?=\")" setup.py)
read -r new_version < gradio/version.txt
sed -i "s/version=\"$old_version\"/version=\"$new_version\"/g" setup.py
rm -rf gradio/templates/frontend
rm -rf gradio/templates/cdn
cd ui
pnpm i
pnpm build
GRADIO_VERSION=$new_version pnpm build:cdn
cd ..
aws s3 cp gradio/templates/cdn s3://gradio/$new_version/ --recursive # requires aws cli (contact maintainers for credentials)
cp gradio/templates/cdn/index.html gradio/templates/frontend/share.html
rm -r dist/*
rm -r build/*
python3 setup.py sdist bdist_wheel
fi