gci: Add workflow to deploy PyPI artifacts

This commit is contained in:
Christian Decker 2021-08-23 13:36:20 +02:00
parent accaa07dde
commit 4fe99d459d
2 changed files with 55 additions and 1 deletions

View File

@ -57,7 +57,7 @@ jobs:
export LDFLAGS="-L/usr/local/opt/sqlite/lib"
export CPPFLAGS="-I/usr/local/opt/sqlite/include"
pip3 install -U \
pip3 install --user -U --use-feature=in-tree-build \
-r requirements.txt \
-r contrib/pyln-client/requirements.txt \
-r contrib/pyln-proto/requirements.txt \

54
.github/workflows/pypi.yml vendored Normal file
View File

@ -0,0 +1,54 @@
---
name: Publish Python 🐍 distributions 📦 to PyPI and TestPyPI
on: push
jobs:
deploy:
name: Build and publish Python 🐍 distributions 📦 to PyPI and TestPyPI
runs-on: ubuntu-20.04
strategy:
fail-fast: true
matrix:
include:
- PACKAGE: pyln-client
WORKDIR: contrib/pyln-client
- PACKAGE: pyln-testing
WORKDIR: contrib/pyln-testing
- PACKAGE: pyln-proto
WORKDIR: contrib/pyln-proto
- PACKAGE: pyn-bolt1
WORKDIR: contrib/pyln-spec/bolt1/
- PACKAGE: pyn-bolt2
WORKDIR: contrib/pyln-spec/bolt2/
- PACKAGE: pyn-bolt4
WORKDIR: contrib/pyln-spec/bolt4/
- PACKAGE: pyn-bolt7
WORKDIR: contrib/pyln-spec/bolt7/
steps:
- uses: actions/checkout@master
- name: Set up Python 3.7
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install pypa/build
run: >-
python -m pip install build --user
- name: Build a binary wheel and a source tarball
env:
WORKDIR: ${{ matrix.WORKDIR }}
run: >-
cd ${{ env.WORKDIR}} &&
python -m build --sdist --wheel --outdir dist/ .
- name: Publish distribution 📦 to Test PyPI
uses: pypa/gh-action-pypi-publish@master
env:
WORKDIR: ${{ matrix.WORKDIR }}
with:
password: ${{ secrets.TEST_PYPI_API_TOKEN }}
repository_url: https://test.pypi.org/legacy/
packages_dir: "${{ env.WORKDIR}}/dist"
skip_existing: true
# - name: Publish distribution 📦 to PyPI
# if: startsWith(github.ref, 'refs/tags')
# uses: pypa/gh-action-pypi-publish@master
# with:
# password: ${{ secrets.PYPI_API_TOKEN }}