Skip to content

Test lingering tasks #217

Test lingering tasks

Test lingering tasks #217

Workflow file for this run

name: Linting
on:
push:
branches:
- main
- master
- dev
pull_request:
env:
DEFAULT_PYTHON: "3.11"
jobs:
pre-commit:
runs-on: "ubuntu-latest"
name: Pre-commit
steps:
- name: Check out the repository
uses: actions/checkout@v3.5.3
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.7.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Upgrade pip
run: |
pip install --constraint=.github/workflows/constraints.txt pip
pip --version
- name: Install Python modules
run: |
pip install --constraint=.github/workflows/constraints.txt pre-commit black flake8 reorder-python-imports
- name: Run pre-commit on all files
run: |
pre-commit run --all-files --show-diff-on-failure --color=always
hacs:
runs-on: "ubuntu-latest"
name: HACS
steps:
- name: Check out the repository
uses: "actions/checkout@v3.5.3"
- name: HACS validation
uses: "hacs/action@22.5.0"
with:
category: "integration"
ignore: brands
hassfest:
runs-on: "ubuntu-latest"
name: Hassfest
steps:
- name: Check out the repository
uses: "actions/checkout@v3.5.3"
- name: Hassfest validation
uses: "home-assistant/actions/hassfest@master"
tests:
runs-on: "ubuntu-latest"
name: Run tests
steps:
- name: Check out code from GitHub
uses: "actions/checkout@v3.5.3"
with:
persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal access token.
fetch-depth: 0 # otherwise, there would be errors pushing refs to the destination
- name: Setup Python ${{ env.DEFAULT_PYTHON }}
uses: "actions/setup-python@v4.7.0"
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Install requirements
run: |
pip install --constraint=.github/workflows/constraints.txt pip
pip install -r requirements_test.txt
- name: Tests suite
run: |
pytest \
--timeout=15 \
--durations=10 \
-n auto \
-rA \
-p no:sugar \
tests
- name: coverage.py badge
uses: tj-actions/coverage-badge-py@v1.8
- name: Verify Changed files
uses: tj-actions/verify-changed-files@v13.1
id: changed_files
with:
files: coverage.svg
- name: Commit files
if: steps.changed_files.outputs.files_changed == 'true'
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add coverage.svg
git commit -m "Updated coverage.svg"
- name: Push changes
if: steps.changed_files.outputs.files_changed == 'true'
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: ${{ github.ref }}