--- name: Savin's Home Assistant on: - push - pull_request jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install Custom Components (Hass.IO) run: | pwd ls -la # git checkout $(git describe --tags --always $(git rev-list --tags --max-count=1000) | grep -e "[0-9]\+\.[0-9]\+\.[0-9]\+$" | head -n 1) # - name: Install system libs and dependencies # run: | # sudo apt-get -qq update # sudo apt-get -y -qq install libudev-dev ffmpeg # sudo apt-get -y -qq install libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libswresample-dev # sudo apt-get install nodejs # - name: Install Prettier # run: | # sudo npm install --global prettier - name: Set up Python 3.13 uses: actions/setup-python@v5 with: python-version: 3.13 - name: Install Python packages (Lint) run: | python -m pip install --upgrade pip pip install black flake8 pylint yamllint - name: YAML Lint run: | yamllint ./ # # - name: Prettier Check Up # # run: | # # prettier --check --no-bracket-spacing '**/*.{yaml,json}' - name: Install Python packages (Hass.IO) run: | pip install yq jq pip install homeassistant - name: Check HassIO configuration run: | sudo mkdir -p /config/snapshots hass --version mv secrets.yaml.sample secrets.yaml hass -c . --script check_config | tee check.output ! less check.output | grep -q "Failed config" # # - name: Send a telegram message with job status # # if: always() # # uses: appleboy/telegram-action@master # # with: # # to: ${{ secrets.TELEGRAM_TO }} # # token: ${{ secrets.TELEGRAM_TOKEN }} # # args: The last job from repo ({{repo}}) finished with ${{job.status}}.