chore: formatting #5
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Publish Python 🐍 distributions 📦 to PyPI and TestPyPI | |
on: | |
# Only deploy if we're the result of a PR being merged | |
push: | |
workflow_dispatch: | |
branches: | |
- master | |
tags: | |
# Semantic versioning tags | |
- 'v[0-9]+.[0-9]+.[0-9]+' | |
# Date style tags | |
- 'v[0-9]{2}.[0-9]{2}' | |
jobs: | |
deploy: | |
name: Build and publish ${{ matrix.package }} 🐍 | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 120 | |
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: pyln-grpc-proto | |
WORKDIR: contrib/pyln-grpc-proto | |
# Bolt packages are handled differently | |
#- 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 | |
with: | |
# Need to fetch entire history in order to locate the version tag | |
fetch-depth: 0 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.8 | |
- name: Install pypa/build and poetry | |
run: >- | |
python -m pip install build poetry --user | |
- name: Check version tag | |
run: >- | |
git describe --always --dirty=-modded --abbrev=7 | |
- name: Build a binary wheel and a source tarball | |
env: | |
WORKDIR: ${{ matrix.WORKDIR }} | |
run: | | |
export VERSION=$(git describe --abbrev=0).post$(git describe --abbrev=1 | awk -F "-" '{print $2}') | |
cd ${{ env.WORKDIR }} | |
make upgrade-version NEW_VERSION=$VERSION | |
poetry build --no-interaction | |
- name: Publish distribution 📦 to Test PyPI | |
if: github.repository == 'ElementsProject/lightning' && github.ref == 'refs/heads/master' | |
env: | |
POETRY_PYPI_TOKEN_TESTPYPI: ${{ secrets.TEST_PYPI_API_TOKEN }} | |
WORKDIR: ${{ matrix.WORKDIR }} | |
run: | | |
cd ${{ env.WORKDIR }} | |
python3 -m pip config set global.timeout 150 | |
poetry config repositories.testpypi https://test.pypi.org/legacy/ | |
poetry build --no-interaction | |
poetry publish --repository testpypi --no-interaction --skip-existing | |
- name: Publish distribution 📦 to PyPI | |
if: startsWith(github.ref, 'refs/tags/v') && github.repository == 'ElementsProject/lightning' | |
env: | |
POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_API_TOKEN }} | |
WORKDIR: ${{ matrix.WORKDIR }} | |
run: | | |
cd ${{ env.WORKDIR }} | |
export VERSION=$(git describe --abbrev=0) | |
make upgrade-version NEW_VERSION=$VERSION | |
python3 -m pip config set global.timeout 150 | |
poetry build --no-interaction | |
poetry publish --no-interaction |