diff --git a/.github/workflows/publish-pypi.yml b/.github/workflows/publish-pypi.yml index 9403ea2..dc31e02 100644 --- a/.github/workflows/publish-pypi.yml +++ b/.github/workflows/publish-pypi.yml @@ -1,4 +1,6 @@ +--- # This workflow will upload a Python Package using Twine when a release is created +# yamllint disable-line rule:line-length # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries # This workflow uses actions that are not certified by GitHub. @@ -8,9 +10,11 @@ name: Upload Python Package incomfort-client +# yamllint disable-line rule:truthy on: release: - types: [published] + types: + - published branches: - master diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 5593cfa..527a4df 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -1,47 +1,50 @@ +--- +name: Python application validation + # This workflow will install Python dependencies, run tests and lint with a single version of Python # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python -name: Python application validation - +# yamllint disable-line rule:truthy on: push: - branches: [ "master" ] + branches: + - master pull_request: - branches: [ "master" ] + branches: + - master permissions: contents: read jobs: build: - runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - name: Set up Python 3.12 - uses: actions/setup-python@v3 - with: - python-version: "3.12" - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install flake8 pytest - if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - if [ -f requirements-dev.txt ]; then pip install -r requirements-dev.txt; fi - - name: Lint with flake8 - run: | - # stop the build if there are Python syntax errors or undefined names - flake8 . --count --select=C,E,F,W,B,B950 --ignore=E203,E501,W503 --show-source --statistics - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=88 --statistics - - name: "Check formatting 1: black" - run: | - black --diff --check *client.py - black --diff --check incomfort* - - name: "Check formatting 2: isort" - run: | - isort --check --diff *client.py - isort --check --diff incomfort* - - name: Test with pytest - run: | - pytest + - uses: actions/checkout@v4 + - name: Set up Python 3.12 + uses: actions/setup-python@v3 + with: + python-version: "3.12" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flake8 pytest + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + if [ -f requirements-dev.txt ]; then pip install -r requirements-dev.txt; fi + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=C,E,F,W,B,B950 --ignore=E203,E501,W503 --show-source --statistics + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=88 --statistics + - name: "Check formatting 1: black" + run: | + black --diff --check *client.py + black --diff --check src/incomfort* + - name: "Check formatting 2: isort" + run: | + isort --check --diff *client.py + isort --check --diff src/incomfort* + - name: Test with pytest + run: | + pytest