Home Assistant CI #1114
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Home Assistant CI | |
on: | |
push: | |
pull_request: | |
schedule: | |
- cron: 0 2 * * * | |
jobs: | |
# YAML Lint | |
# yamllint: | |
# name: 🧹 YAML Lint | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: ⤵️ Check out configuration from GitHub | |
# uses: actions/[email protected] | |
# - name: 🚀 Run yamllint | |
# uses: frenck/[email protected] | |
#Remark Lint | |
remarklint: | |
name: 🧹 Remark Lint | |
runs-on: ubuntu-latest | |
steps: | |
- name: ⤵️ Check out configuration from GitHub | |
uses: actions/[email protected] | |
- name: Running Remark lint | |
uses: "docker://pipelinecomponents/remark-lint:latest" | |
continue-on-error: true | |
with: | |
args: "remark --no-stdout --color --frail --use preset-lint-recommended ." | |
#Home Assistant - Config check | |
home_assistant: | |
name: "🏠 Home Assistant Core ${{ matrix.version }} Configuration Check" | |
runs-on: ubuntu-latest | |
#needs: [yamllint, remarklint] | |
strategy: | |
fail-fast: false | |
matrix: | |
version: ["stable", "beta", "dev"] | |
steps: | |
- name: ⤵️ Check out configuration from GitHub | |
uses: actions/[email protected] | |
- name: ➕ Create dummy files | |
run: | | |
touch ./home-assistant.log | |
- name: 🚀 Run Home Assistant Configuration Check | |
uses: frenck/[email protected] | |
with: | |
secrets: ./.stubs/fake_secrets.yaml | |
version: "${{ matrix.version }}" | |
esphome: | |
name: "🛠️ ESPHome check" | |
runs-on: ubuntu-latest | |
#needs: [yamllint] | |
steps: | |
- name: ⤵️ Check out configuration from GitHub | |
uses: actions/[email protected] | |
- name: Set up Python 3.10 | |
uses: actions/[email protected] | |
with: | |
python-version: "3.10" | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip setuptools wheel | |
pip install esphome | |
pip list | |
esphome version | |
- name: Copy stub files into configuration folder | |
run: | | |
cp -R ./.stubs/fake_secrets.yaml ./esphome/secrets.yaml | |
cp -R ./.stubs/fake_secrets.yaml ./esphome/common/secrets.yaml | |
- name: Run esphome on all files | |
# yamllint disable rule:line-length | |
run: | | |
for file in $(find ./esphome -maxdepth 1 -type f -name "*.yaml" -not -name "secrets.yaml"); do esphome config "${file}"; done |