Home Assistant CI #2225
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.2.2 | |
- name: 🚀 Run yamllint | |
uses: frenck/action-yamllint@v1.5.0 | |
remarklint: | |
runs-on: ubuntu-18.04 | |
steps: | |
- name: ⤵️ Check out configuration from GitHub | |
uses: actions/checkout@v4.2.2 | |
- 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.2.2 | |
- name: 🚀 Run Home Assistant Configuration Check | |
uses: frenck/action-home-assistant@v1.4 | |
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.2.2 | |
- name: Set up Python 3.7 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.7 | |
- 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 ./config/esphome -type f -name "*.yaml" -maxdepth 1 -not -name "secrets.yaml"); do esphome "${file}" config; done |