Skip to content

Added missing high values for power sensors, reordered some sensors based on register numbers, removed duplicate gen sensors #58

Added missing high values for power sensors, reordered some sensors based on register numbers, removed duplicate gen sensors

Added missing high values for power sensors, reordered some sensors based on register numbers, removed duplicate gen sensors #58

Workflow file for this run

name: CI
on:
release:
types:
- published
push:
paths:
- "setup.*"
- "src/**"
- "hass-addon-sunsynk-multi/**"
- ".github/workflows/deploy-multi.yml"
- ".github/workflows/ci.yml"
pull_request:
paths:
- "setup.*"
- "src/**"
- "hass-addon-sunsynk-multi/**"
- ".github/workflows/deploy-multi.yml"
- ".github/workflows/ci.yml"
env:
DEFAULT_PYTHON: 3.11
jobs:
ruff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: chartboost/ruff-action@v1
with:
version: 0.6.3
- uses: chartboost/ruff-action@v1
with:
version: 0.6.3
args: "format --check"
lint:
name: Check pylint
needs: [ruff]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Install local sunsynk package
run: pip install -e .[pymodbus,umodbus,solarman,tests]
- name: Run Pylint
run: pylint src
mypy:
name: Check mypy
needs: [ruff]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Install local sunsynk package
run: pip install -e .[pymodbus,umodbus,solarman,tests]
- name: Run mypy
run: mypy src/
pytest:
name: Run tests Python ${{ matrix.python-version }}
needs: [ruff]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12"]
env:
PYTHON: ${{ matrix.python-version }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install local sunsynk package
run: pip install -e .[pymodbus,umodbus,solarman,tests]
- name: Run tests and generate coverage report
run: pytest --cov=./src --cov-report=xml src
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
env_vars: PYTHON
verbose: true
build-n-publish:
name: Build and publish Python 🐍 distributions 📦 to PyPI
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags')
needs:
- pytest
- lint
- mypy
permissions:
id-token: write # used for trusted publishing
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v5
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Install pypa/build
run: python -m pip install build --user
- name: Build a binary wheel and a source tarball
run: python -m build --sdist --wheel --outdir dist/ .
- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@release/v1