Bump actions/setup-python from 5.1.1 to 5.2.0 #929
Workflow file for this run
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: Python package | |
on: [push] | |
jobs: | |
format: | |
name: Check formatting | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4.1.7 | |
- name: Set up Python | |
uses: actions/setup-python@v5.2.0 | |
with: | |
python-version: "3.8" | |
- name: Check formatting | |
uses: pre-commit/action@v3.0.1 | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4.1.7 | |
- name: Set up Python | |
uses: actions/setup-python@v5.2.0 | |
with: | |
python-version: "3.8" | |
- name: Lint with ruff | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install ruff | |
ruff check --output-format=github devolo_home_control_api | |
ruff check --output-format=github --exit-zero tests | |
- name: Lint with mypy | |
run: | | |
pip install mypy types-python-dateutil types-requests | |
mypy devolo_home_control_api | |
mypy tests || true | |
test: | |
name: Test with Python ${{ matrix.python-version }} | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4.1.7 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5.2.0 | |
with: | |
python-version: ${{ matrix.python-version }} | |
allow-prereleases: true | |
check-latest: true | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -e .[test] | |
- name: Test with pytest | |
run: | | |
pytest --cov=devolo_home_control_api | |
- name: Preserve coverage | |
uses: actions/upload-artifact@v4.3.6 | |
if: matrix.python-version == '3.8' | |
with: | |
name: coverage | |
path: .coverage | |
coverage: | |
name: Upload coverage | |
runs-on: ubuntu-latest | |
needs: test | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4.1.7 | |
- name: Set up Python | |
uses: actions/setup-python@v5.2.0 | |
with: | |
python-version: 3.8 | |
- name: Download coverage | |
uses: actions/download-artifact@v4.1.8 | |
with: | |
name: coverage | |
- name: Coveralls | |
run: | | |
python -m pip install --upgrade pip | |
pip install wheel coveralls | |
export COVERALLS_REPO_TOKEN=${{ secrets.COVERALLS_TOKEN }} | |
coveralls | |
- name: Clean up coverage | |
uses: geekyeggo/delete-artifact@v5.0.0 | |
with: | |
name: coverage |