Bump actions/checkout from 4.2.1 to 4.2.2 #619
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.2.2 | |
- name: Set up Python | |
uses: actions/setup-python@v5.2.0 | |
with: | |
python-version: "3.8" | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install --no-binary=mypy mypy | |
- 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.2.2 | |
- 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_plc_api scripts | |
ruff check --output-format=github --exit-zero tests | |
- name: Lint with mypy | |
run: | | |
python -m pip install . mypy types-protobuf | |
mypy devolo_plc_api | |
mypy tests || true | |
test38: | |
name: Test with Python 3.8 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4.2.2 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v5.2.0 | |
with: | |
python-version: 3.8 | |
check-latest: true | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install -e .[test] | |
- name: Test with pytest | |
run: | | |
pytest --cov=devolo_plc_api -p no:warnings | |
test: | |
name: Test with Python ${{ matrix.python-version }} | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4.2.2 | |
- 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 | |
python -m pip install -e .[test] | |
- name: Test with pytest | |
run: | | |
pytest --cov=devolo_plc_api | |
- name: Preserve coverage | |
uses: actions/upload-artifact@v4.4.3 | |
if: matrix.python-version == '3.9' | |
with: | |
name: coverage | |
path: .coverage | |
coverage: | |
name: Upload coverage | |
runs-on: ubuntu-latest | |
needs: test | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4.2.2 | |
- name: Set up Python | |
uses: actions/setup-python@v5.2.0 | |
with: | |
python-version: "3.9" | |
- name: Download coverage | |
uses: actions/download-artifact@v4.1.8 | |
with: | |
name: coverage | |
- name: Coveralls | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install wheel coveralls | |
export COVERALLS_REPO_TOKEN=${{ secrets.COVERALLS_TOKEN }} | |
coveralls | |
- name: Clean up coverage | |
uses: geekyeggo/delete-artifact@v5.1.0 | |
with: | |
name: coverage |