Bump actions/setup-python from 5.1.1 to 5.2.0 #945
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/[email protected] | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version: "3.8" | |
- name: Check formatting | |
uses: pre-commit/[email protected] | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/[email protected] | |
- name: Set up Python | |
uses: actions/[email protected] | |
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", "3.13"] | |
steps: | |
- name: Checkout sources | |
uses: actions/[email protected] | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/[email protected] | |
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/[email protected] | |
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/[email protected] | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version: 3.8 | |
- name: Download coverage | |
uses: actions/[email protected] | |
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/[email protected] | |
with: | |
name: coverage |