This repository has been archived by the owner on Apr 3, 2024. It is now read-only.
Add work mode select (#449) #594
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
# This workflow will install Python dependencies, run tests and lint with a single version of Python | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | |
name: CI | |
on: | |
push: | |
branches: | |
- dev | |
pull_request: ~ | |
env: | |
DEFAULT_PYTHON: "3.11" | |
jobs: | |
validate-hacs: | |
runs-on: "ubuntu-latest" | |
name: Validate with HACS | |
steps: | |
- uses: "actions/checkout@v4" | |
- name: HACS validation | |
uses: "hacs/action@main" | |
with: | |
category: "integration" | |
validate-hassfest: | |
runs-on: "ubuntu-latest" | |
name: Validate with Hassfest | |
steps: | |
- uses: "actions/checkout@v4" | |
- name: Hassfest validation | |
uses: "home-assistant/actions/hassfest@master" | |
code-quality: | |
runs-on: "ubuntu-latest" | |
name: Check code quality | |
steps: | |
- uses: "actions/checkout@v4" | |
- name: Set up Python ${{ env.DEFAULT_PYTHON }} | |
id: python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ env.DEFAULT_PYTHON }} | |
cache: "pip" | |
- name: Install dependencies | |
run: | | |
pip install -r requirements.txt | |
# Following steps cannot run by pre-commit.ci as repo = local | |
- name: Run mypy | |
run: mypy custom_components/ | |
- name: Pylint review | |
run: pylint custom_components/ | |
create_zip_file: | |
name: Create zip file for testing | |
permissions: | |
# Required to upload/save artifact, otherwise you'll get | |
# "Error: Resource not accessible by integration" | |
contents: write | |
# Required to post comment, otherwise you'll get | |
# "Error: Resource not accessible by integration" | |
pull-requests: write | |
needs: | |
- code-quality | |
runs-on: ubuntu-latest | |
if: github.event_name == 'pull_request' | |
steps: | |
- name: 📥 Checkout the repository | |
uses: actions/checkout@v4 | |
- name: 📦 Create zip file for the integration | |
run: | | |
cd "${{ github.workspace }}/custom_components/deebot" | |
zip deebot.zip -r ./ | |
mv deebot.zip "${{ github.workspace }}/" | |
- name: 📤 Create comment with the artifiactory | |
uses: gavv/pull-request-artifacts@v2 | |
with: | |
# Commit hash that triggered PR | |
commit: ${{ github.event.pull_request.head.sha }} | |
# Token for current repo (used to post PR comment) | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
artifacts-branch: artifacts | |
inter-link: false | |
comment-title: | | |
🤖 Pull request artifactsy | |
For testing please download the zip file below and extract it in `[config folder]/custom_components/deebot`. | |
# Whitespace-separated list of files to upload | |
artifacts: | | |
deebot.zip |