Auto-generate the configuration options documentation (#498)

* Autogenerate the documentation and strings

* Line limit

* Split

* Happy pre-commit

* Split up workflows

* Generate table function

* raise

* Add gen script

* chore(docs): update TOC

* Add gen script

* path

* Run - name: Install Home Assistant

* chore(docs): update TOC

* add copyright

* Fix branch name

* Run on PRs

* dev

* remove steps

* use matrix

* Run script

* chore(docs): update TOC

* Try fixing CI

* fix

* test

* refactor

* chore(docs): update TOC

* fix

* update

* use v3

* rename

* Fix input

* fix pytest

* fix path

* paths

* Change to github.head_ref

* More backticks

* Add extra text

* chore(docs): update TOC

* backticks

* Update README.md

---------

Co-authored-by: basnijholt <basnijholt@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
Bas Nijholt 2023-04-01 23:43:20 -07:00 committed by GitHub
commit cc8ce29a8a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 486 additions and 52 deletions

View file

@ -9,6 +9,11 @@ on:
jobs:
docker:
runs-on: ubuntu-latest
strategy:
matrix:
platform:
- linux/amd64
- linux/arm64
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
@ -24,6 +29,5 @@ jobs:
with:
# Only push on the master branch
push: ${{ github.ref == 'refs/heads/master' }}
# TODO: fix builds on linux/arm/v7
platforms: linux/amd64,linux/arm64
platforms: ${{ matrix.platform }}
tags: ${{ secrets.DOCKERHUB_USERNAME }}/adaptive-lighting:latest

View file

@ -0,0 +1,36 @@
name: 'Install Dependencies'
description: 'Install Home Assistant and test dependencies'
inputs:
python_version:
description: 'Python version'
required: true
default: '3.10'
runs:
using: "composite"
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3
with:
repository: ${{ github.repository }}
ref: ${{ github.ref }}
persist-credentials: false
fetch-depth: 0
- name: Check out code from GitHub
uses: actions/checkout@v3
with:
repository: home-assistant/core
path: core
- name: Set up Python ${{ inputs.python_version }}
id: python
uses: actions/setup-python@v4.1.0
with:
python-version: ${{ inputs.python_version }}
- name: Install dependencies
shell: bash
run: |
echo "::warning::### WARNING! Deprecation warnings muted with option '--use-pep517' please address this at some point in pytest.yaml. ###"
pip install -r core/requirements.txt --use-pep517
pip install -r core/requirements_test.txt --use-pep517
pip install -e core/ --use-pep517
pip install $(python test_dependencies.py) --use-pep517

View file

@ -6,7 +6,6 @@ on:
pull_request:
jobs:
pytest:
name: Run pytest
runs-on: ubuntu-20.04
@ -16,17 +15,13 @@ jobs:
python-version: ["3.10"]
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.0.2
- name: Check out code from GitHub
uses: actions/checkout@v3.0.2
uses: actions/checkout@v3
- name: Install Home Assistant
uses: ./.github/workflows/install_dependencies
with:
repository: home-assistant/core
path: core
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v4.1.0
with:
python-version: ${{ matrix.python-version }}
python_version: ${{ matrix.python-version }}
- name: Click here for troubleshooting steps if tests break again.
run: |
echo "::notice::### If tests fail, try these debug steps: ###"
@ -36,13 +31,6 @@ jobs:
echo "::notice::### 4. ERROR:homeassistant.setup:Setup failed for 'component': Unable to import component: No module named ''module'' ###"
echo "::notice::### 5. add 'component'.'module' (without the '') from the above log into the 'required' list inside of 'test_dependencies.py' ###"
echo "::notice::### 6. Try again! If more issues persist they should be easily solvable by reading the verbose logs now. ###"
- name: Install dependencies
run: |
echo "::warning::### WARNING! Deprecation warnings muted with option '--use-pep517' please address this at some point in pytest.yaml. ###"
pip install -r core/requirements.txt --use-pep517
pip install -r core/requirements_test.txt --use-pep517
pip install -e core/ --use-pep517
pip install $(python test_dependencies.py) --use-pep517
- name: Run pytest
timeout-minutes: 60
run: |

44
.github/workflows/update-readme.yml vendored Normal file
View file

@ -0,0 +1,44 @@
name: Update README.md
on:
push:
branches:
- master
paths:
- ".github/update-readme.py"
- "README.md"
- ".github/workflows/update-readme.yml"
- "custom_components/adaptive_lighting/const.py"
pull_request:
jobs:
update_readme:
runs-on: ubuntu-latest
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3
- name: Install Home Assistant
uses: ./.github/workflows/install_dependencies
with:
python_version: "3.10"
- name: Install pandas and tabulate
run: |
pip install pandas tabulate
- name: Run update-readme.py
run: python ./.github/update-readme.py
- name: Commit updated README.md
run: |
git add README.md
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git diff --quiet && git diff --staged --quiet || git commit -m "Update README.md"
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: ${{ github.head_ref }}