--- 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}}.