moonstream/.github/workflows/test.clients.python.yml

39 wiersze
1.3 KiB
YAML

name: Linting and tests for the Moonstream Python client library
on:
pull_request:
branches:
- "main"
paths:
- "clients/python/**"
jobs:
build:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Set up python
uses: actions/setup-python@v2
with:
python-version: "3.9"
- name: Install test requirements
working-directory: ./clients/python
run: pip install -e .[dev]
- name: Mypy type check
working-directory: ./clients/python
run: mypy moonstream/
- name: Black syntax check
working-directory: ./clients/python
run: black --check moonstream/
- name: Unit tests
working-directory: ./clients/python
run: python -m unittest discover -v
- name: Check that versions are synchronized
working-directory: ./clients/python
run: |
MOONSTREAM_CLIENT_VERSION=$(python -c "from moonstream.client import MOONSTREAM_CLIENT_VERSION; print(MOONSTREAM_CLIENT_VERSION)")
SETUP_PY_VERSION=$(python setup.py --version)
echo "Client version: $MOONSTREAM_CLIENT_VERSION"
echo "setup.py version: $SETUP_PY_VERSION"
test "$MOONSTREAM_CLIENT_VERSION" = "$SETUP_PY_VERSION"