add deploy actions

This commit is contained in:
Martin Bubel 2024-01-12 18:56:58 +01:00
parent 27144e2fcd
commit 0a92768d9d

76
.github/workflows/deploy.yml vendored Normal file
View file

@ -0,0 +1,76 @@
name: "Deploy Python Lib"
on:
release:
types:
- created
permissions:
contents: read
pull-requests: read
jobs:
develop-matrix:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python: ['3.9', '3.10', '3.11', '3.12']
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python }}
- name: Install lib
run: |
pip install --upgrade pip
pip install -e .
- name: Build wheel
run: |
pip install setuptools
pip install wheel
python setup.py bdist_wheel
- name: Archive build artifacts
uses: actions/upload-artifact@v4
with:
name: build-artifacts-${{ matrix.os }}-${{ matrix.python }}
path: dist
deploy:
runs-on: ubuntu-latest
needs: develop-matrix
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup python
uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Install twine
run: |
pip install --upgrade pip
pip install twine
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
path: dist
merge-multiple: true
- name: Inspect dist files
run: |
ls -R dist
- name: Upload to PyPI using twine
run: |
twine upload --skip-existing dist/*
env:
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}