chore(release): 1.5.1-beta.1 — thermal disinfect running status #200
Workflow file for this run
This file contains hidden or 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: CI | |
| on: | |
| push: | |
| pull_request: | |
| jobs: | |
| build: | |
| name: Test & Lint | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.13"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: 'pip' | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install ruff | |
| if [ -f requirements.txt ]; then pip install -r requirements.txt; fi | |
| if [ -f unittests/requirements.txt ]; then pip install -r unittests/requirements.txt; fi | |
| # tzdata only — bosch-thermostat-client is pinned in | |
| # unittests/requirements.txt to match manifest.json (==0.28.2). | |
| # Installing it unpinned here would silently upgrade past that pin. | |
| pip install tzdata | |
| - name: Lint with Ruff | |
| run: | | |
| # Check for syntax errors or bad style | |
| ruff check --exclude deric-bosch-client --exclude unittests --exclude test_pointtapi_oauth.py --exclude test_pointtapi_playwright.py . | |
| - name: Run Tests | |
| run: | | |
| # pipefail is NOT on by default in Actions' `bash -e {0}`, and without | |
| # it `tee` would swallow pytest's exit code — including the | |
| # --cov-fail-under gate, which would then never fail the build. | |
| set -o pipefail | |
| python3 -m pytest --tb=short -q unittests --override-ini="asyncio_mode=auto" \ | |
| --cov=custom_components/bosch --cov-report=term --cov-fail-under=70 \ | |
| | tee pytest.log | |
| - name: Coverage summary | |
| if: always() | |
| run: | | |
| { | |
| echo '### Coverage' | |
| echo | |
| echo '```' | |
| sed -n '/^Name /,/^TOTAL/p' pytest.log | |
| echo '```' | |
| } >> "$GITHUB_STEP_SUMMARY" |