diff --git a/.gitea/workflows/home-assistant-deploy.yml b/.gitea/workflows/home-assistant-deploy.yml index 86380fb..3059517 100644 --- a/.gitea/workflows/home-assistant-deploy.yml +++ b/.gitea/workflows/home-assistant-deploy.yml @@ -67,17 +67,12 @@ jobs: steps: - name: Checkout only configuration.yaml uses: actions/checkout@v4 - - name: Set up Python 3.13.2 - uses: actions/setup-python@v5 + - name: Home Assistant Config Check + uses: ./.gitea/workflows/homeassistant-check.yml with: python-version: '3.13.2' - - name: Install Home Assistant - run: | - python -m pip install --upgrade pip - pip install homeassistant==2025.8.3 - - name: Run Home Assistant config check - run: | - hass --config ansible/configs/homeassistant --script check_config + ha-version: '2025.8.3' + config-path: 'ansible/configs/homeassistant' # generate-service-list: # name: Generate list of added/modified/deleted services # runs-on: ubuntu-latest diff --git a/.gitea/workflows/homeassistant-check.yml b/.gitea/workflows/homeassistant-check.yml new file mode 100644 index 0000000..2628d59 --- /dev/null +++ b/.gitea/workflows/homeassistant-check.yml @@ -0,0 +1,45 @@ +name: Home Assistant Config Check + +on: + workflow_call: + inputs: + python-version: + description: 'Python version to use (default 3.13.2)' + required: false + default: '3.13.2' + ha-version: + description: 'Home Assistant version to install' + required: true + default: '2025.8.3' + config-path: + description: 'Path to the Home Assistant configuration' + required: true + default: '.' + +jobs: + homeassistant-check: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: ${{ inputs.python-version }} + + - name: Install Home Assistant + run: | + python -m pip install --upgrade pip + pip install homeassistant==${{ inputs.ha-version }} + + - name: Run Home Assistant config check + run: | + hass --config ${{ inputs.config-path }} --script check_config | tee ha-check.log + + - name: Upload config check log + if: always() + uses: actions/upload-artifact@v4 + with: + name: homeassistant-check-log + path: ha-check.log