Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions .github/workflows/merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
name: Latest release

env:
CACHE_VERSION: 11
CACHE_VERSION: 4
DEFAULT_PYTHON: "3.14"

# Only run on merges
Expand All @@ -26,7 +26,7 @@ jobs:
if: github.event.pull_request.merged == true
steps:
- name: Check out committed code
uses: actions/checkout@v7
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- name: Prepare uv
run: |
pip install uv
Expand Down Expand Up @@ -54,6 +54,9 @@ jobs:
run: |
. venv/bin/activate
uv build
- name: Generate PEP 740 Attestations
if: steps.check_package.outputs.should_publish == 'true'
uses: astral-sh/attest-action@f589a42a7efb6fe400b4f400de60b4bc90390027
- name: Publish distribution 📦 to PyPI
if: steps.check_package.outputs.should_publish == 'true'
run: |
Expand Down
51 changes: 27 additions & 24 deletions .github/workflows/verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
name: Latest commit

env:
CACHE_VERSION: 3
CACHE_VERSION: 4
DEFAULT_PYTHON: "3.14"
VENV: venv

Expand All @@ -25,10 +25,10 @@ jobs:
python-version: ${{ steps.python.outputs.python-version }} # Ensure all runners use THIS minor version
steps:
- name: Check out committed code
uses: actions/checkout@v7
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- name: Set up Python and determine minor version for ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v6
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Fetch HA pyproject
Expand All @@ -46,7 +46,7 @@ jobs:
steps:
- name: Prepare code checkout and python/prek(pre-commit) setup
id: cache-reuse
uses: plugwise/gh-actions/prepare-python-and-code@v2
uses: plugwise/gh-actions/prepare-python-and-code@9054f02b05e53697300c41df27d0307332dc7cd8
with:
cache-key: ${{ needs.cache.outputs.cache-key }}
fail-on-miss: false # First time create cache (if not already exists)
Expand All @@ -62,12 +62,12 @@ jobs:
- prepare
steps:
- name: Check out committed code
uses: actions/checkout@v7
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
with:
persist-credentials: false
- name: Restore cached environment
id: cache-reuse
uses: plugwise/gh-actions/restore-venv@v2
uses: plugwise/gh-actions/restore-venv@9054f02b05e53697300c41df27d0307332dc7cd8
with:
cache-key: ${{ needs.cache.outputs.cache-key }}
python-version: ${{ needs.cache.outputs.python-version }}
Expand Down Expand Up @@ -100,10 +100,10 @@ jobs:
- dependencies_check
steps:
- name: Check out committed code
uses: actions/checkout@v7
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- name: Restore cached environment
id: cache-reuse
uses: plugwise/gh-actions/restore-venv@v2
uses: plugwise/gh-actions/restore-venv@9054f02b05e53697300c41df27d0307332dc7cd8
with:
cache-key: ${{ needs.cache.outputs.cache-key }}
python-version: ${{ needs.cache.outputs.python-version }}
Expand All @@ -130,15 +130,15 @@ jobs:
python-version: ["3.14", "3.13"]
steps:
- name: Check out committed code
uses: actions/checkout@v7
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v6
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1
with:
python-version: ${{ matrix.python-version }}
- name: Restore cached environment
id: cache-reuse
uses: plugwise/gh-actions/restore-venv@v2
uses: plugwise/gh-actions/restore-venv@9054f02b05e53697300c41df27d0307332dc7cd8
with:
fail-on-miss: false # First time create cache (if not already exists)
cache-key: ${{ needs.cache.outputs.cache-key }}
Expand All @@ -150,7 +150,7 @@ jobs:
. venv-${{ steps.python.outputs.python-version }}/bin/activate
pytest --log-level info tests/*.py --cov='.'
- name: Upload coverage artifact
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
with:
name: coverage-${{ steps.python.outputs.python-version }}
path: .coverage
Expand All @@ -166,12 +166,12 @@ jobs:
- pytest
steps:
- name: Check out committed code
uses: actions/checkout@v7
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
with:
persist-credentials: false
- name: Restore cached environment
id: cache-reuse
uses: plugwise/gh-actions/restore-venv@v2
uses: plugwise/gh-actions/restore-venv@9054f02b05e53697300c41df27d0307332dc7cd8
with:
cache-key: ${{ needs.cache.outputs.cache-key }}
python-version: ${{ needs.cache.outputs.python-version }}
Expand All @@ -189,17 +189,17 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out committed code
uses: actions/checkout@v7
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- name: Run ShellCheck
uses: ludeeus/action-shellcheck@master
uses: ludeeus/action-shellcheck@00cae500b08a931fb5698e11e79bfbd38e612a38

# Check for missing python dependencies
dependencies_check:
runs-on: ubuntu-latest
name: Dependency
steps:
- name: Check out committed code
uses: actions/checkout@v7
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- name: Run dependency checker
run: scripts/dependencies_check.sh debug

Expand All @@ -213,17 +213,17 @@ jobs:
- mypy
steps:
- name: Check out committed code
uses: actions/checkout@v7
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- name: Restore cached environment
id: cache-reuse
uses: plugwise/gh-actions/restore-venv@v2
uses: plugwise/gh-actions/restore-venv@9054f02b05e53697300c41df27d0307332dc7cd8
with:
cache-key: ${{ needs.cache.outputs.cache-key }}
python-version: ${{ needs.cache.outputs.python-version }}
venv-dir: ${{ env.VENV }}
prek-home: ${{ env.PREK_HOME }}
- name: Download all coverage artifacts
uses: actions/download-artifact@v8
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c
with:
pattern: coverage-*
merge-multiple: true
Expand All @@ -235,7 +235,7 @@ jobs:
coverage report --fail-under=94
coverage xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v7
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

Expand All @@ -253,7 +253,7 @@ jobs:
- mypy
steps:
- name: Check out committed code
uses: actions/checkout@v7
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- name: Prepare uv
run: |
pip install uv
Expand All @@ -280,6 +280,9 @@ jobs:
run: |
. venv/bin/activate
uv build
- name: Generate PEP 740 Attestations
if: steps.check_package.outputs.should_publish == 'true'
uses: astral-sh/attest-action@f589a42a7efb6fe400b4f400de60b4bc90390027
Comment thread
CoMPaTech marked this conversation as resolved.
- name: Publish distribution 📦 to TestPyPI
if: steps.check_package.outputs.should_publish == 'true'
run: |
Expand All @@ -295,10 +298,10 @@ jobs:
- coverage
steps:
- name: Check out committed code
uses: actions/checkout@v7
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- name: Restore cached environment
id: cache-reuse
uses: plugwise/gh-actions/restore-venv@v2
uses: plugwise/gh-actions/restore-venv@9054f02b05e53697300c41df27d0307332dc7cd8
with:
cache-key: ${{ needs.cache.outputs.cache-key }}
python-version: ${{ needs.cache.outputs.python-version }}
Expand Down
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Changelog

## Ongoing

- Add PEP 740 digital attestations (workaround until included in `uv publish`)
- Pin GitHub acions including our own from gh-actions

## v1.12.0

- Replace the DHW-comfort-mode switch by a DHW mode selector to match the new HA select or water_heater platform updates, via PR [#883](https://github.com/plugwise/python-plugwise/pull/883)
Expand Down
Loading