Home Assistant CI #638
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 | |
# yamllint disable-line rule:truthy | |
on: | |
push: | |
pull_request: | |
schedule: | |
- cron: 0 12 * * * | |
jobs: | |
yamllint: | |
name: 🧹 yamllint | |
runs-on: ubuntu-latest | |
steps: | |
- name: ⤵️ Check out configuration from GitHub | |
uses: actions/checkout@v4 | |
- name: 🚀 Run yamllint | |
uses: frenck/[email protected] | |
remarklint: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: ⤵️ Check out configuration from GitHub | |
uses: actions/checkout@v4 | |
- 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: | |
name: "Home Assistant Core ${{ matrix.version }} Configuration Check" | |
needs: [yamllint] | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
version: ["stable", "beta", "dev"] | |
steps: | |
- name: ⤵️ Check out configuration from GitHub | |
uses: actions/checkout@v4 | |
- name: 🚀 Run Home Assistant Configuration Check | |
uses: frenck/[email protected] | |
with: | |
path: "." | |
secrets: ./secrets.fake.yaml | |
version: "${{ matrix.version }}" | |
esphome: | |
runs-on: ubuntu-latest | |
needs: [yamllint] | |
steps: | |
- name: ⤵️ Check out configuration from GitHub | |
uses: actions/checkout@v4 | |
- name: Set up Python 3.12 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.12 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip setuptools wheel | |
pip install esphome | |
pip list | |
esphome version | |
- name: Copy secrets stub into configuration folder | |
run: cp ./secrets.fake.yaml ./esphome/secrets.yaml | |
- name: Run esphome on all files | |
# yamllint disable rule:line-length | |
run: | | |
for file in $(find ./esphome -type f -name "*.yaml" -maxdepth 1 -not -name "secrets.yaml"); do esphome config "${file}"; done |