|
name: Build and upload python package |
|
|
|
on: |
|
workflow_dispatch: |
|
release: |
|
types: [created, published] |
|
|
|
jobs: |
|
deploy: |
|
runs-on: ubuntu-latest |
|
|
|
steps: |
|
- uses: actions/checkout@v4 |
|
- name: Set up Python |
|
uses: actions/setup-python@v4 |
|
with: |
|
python-version: '3.9' |
|
cache: 'pip' |
|
- name: Install dependencies |
|
run: | |
|
python -m pip install --upgrade pip |
|
pip install -r requirements.txt |
|
pip install -e. |
|
pip install setuptools wheel twine |
|
- name: Set package version |
|
run: | |
|
export VERSION="${GITHUB_REF#refs/tags/v}" |
|
sed -i "s/version=.*/version=\"${VERSION}\",/" setup.py |
|
- name: Build and publish |
|
env: |
|
TWINE_USERNAME: __token__ |
|
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} |
|
run: | |
|
python setup.py bdist_wheel sdist |
|
twine upload dist/* |