[ci][client] Eth Python client automatically infer its version from tags

This commit is contained in:
Lucas PASCAL
2024-01-05 16:42:58 +01:00
parent b5e0c8759b
commit 99ba4a9eed
4 changed files with 14 additions and 49 deletions

View File

@@ -4,6 +4,8 @@ name: Python client checks, package build and deployment
on:
workflow_dispatch:
push:
tags:
- 'client-*'
branches:
- develop
- master
@@ -36,50 +38,6 @@ jobs:
- name: Mypy type checking
run: (cd client && mypy src/)
get-develop-version:
name: Get develop version
runs-on: ubuntu-latest
if: ${{ github.event_name == 'pull_request' && github.base_ref == 'develop' }}
outputs:
develop_version: ${{ steps.get-version.outputs.develop_version }}
steps:
- name: Check Out Code
uses: actions/checkout@v3
with:
ref: develop
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.12.0
- name: Get version
id: get-version
env:
PYTHONPATH: client/src/ledger_app_clients
run: |
echo "develop_version=$(python -c 'from ethereum import __version__; print(__version__)')" >> $GITHUB_OUTPUT
version-check:
name: Check Version when opening a PR against develop
runs-on: ubuntu-latest
needs: get-develop-version
steps:
- name: Check Out Code
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.12.0
- name: Check Version Bump
env:
DEVELOP_VERSION: ${{needs.get-develop-version.outputs.develop_version}}
PYTHONPATH: client/src/ledger_app_clients
run: |
current_version=$(python -c "from ethereum import __version__; print(__version__)")
if [[ "$current_version" == "$DEVELOP_VERSION" ]]; then
echo "Version in __init__.py hasn't been bumped. Please bump the version before merging."
exit 1
fi
packaging:
needs: [lint, mypy]
name: Build, test and deploy the Python package
@@ -87,7 +45,7 @@ jobs:
with:
package_directory: "client/"
stable_deployment: true
check_changelog_version: true
check_changelog_version: ${{ startsWith(github.ref,'refs/tags/') }}
publish: ${{ github.event_name == 'push' }}
secrets:
pypi_token: secrets.PYPI_PUBLIC_API_TOKEN