Skip to content

Centralise Python version specification in GitHub Actions #472

Centralise Python version specification in GitHub Actions

Centralise Python version specification in GitHub Actions #472

name: Run linter, generate docs, run mypy
on:
push:
branches:
- master
- '[45].*.z'
pull_request:
branches:
- master
- '[45].*.z'
jobs:
python-versions:
uses: ./.github/workflows/get-python-versions.yml
run-linter:
runs-on: ubuntu-latest
needs: python-versions
name: Run black to check the code style
steps:
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ fromJSON(needs.python-versions.outputs.python-versions)[-1] }}
- name: Checkout to code
uses: actions/checkout@v4
- name: Install dependencies
run: |
pip install -r requirements-dev.txt
- name: Run black
run: |
black --check --config black.toml .
generate_docs:
runs-on: ubuntu-latest
needs: python-versions
name: Generate documentation
steps:
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ fromJSON(needs.python-versions.outputs.python-versions)[-1] }}
- name: Checkout to code
uses: actions/checkout@v4
- name: Install dependencies
run: |
pip install -r requirements-dev.txt
- name: Generate documentation
working-directory: docs
run: |
make html SPHINXOPTS="-W --keep-going -b linkcheck"
run-mypy:
runs-on: ubuntu-latest
needs: python-versions
name: Run mypy to check type annotations
steps:
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: $${{ fromJSON(needs.python-versions.outputs.python-versions)[-1] }}
- name: Checkout to code
uses: actions/checkout@v4
- name: Install dependencies
run: |
pip install -r requirements-dev.txt
- name: Run mypy
run: |
mypy --show-error-codes hazelcast