Skip to content

Workflows for deploying and updating various components of the Home Assistant project using GitHub Actions, Renovate, Tailscale and ha cli to a Home Assistant Yellow.

Notifications You must be signed in to change notification settings

jkpe/homeassistant-update-automation

Repository files navigation

Home Assistant

This repository contains workflows for deploying and updating various components of the Home Assistant project using GitHub Actions, Renovate, Tailscale and ha cli to my Home Assistant Yellow.

Table of Contents

Workflows

Core Workflow

The core workflow is triggered when a new release is published in the Home Assistant Core repository. Here’s how it works:

  1. Release Detection: Renovate detects the new release and automatically creates a pull request with the updated version.
  2. Merge Action: Once the pull request is reviewed and merged, it triggers the GitHub Action.
  3. Deployment: The GitHub Action uses Tailscale connectivity to establish an SSH connection to the Home Assistant Yellow device.
  4. Update Execution: The action utilizes the ha CLI tool to run the update command, e.g., ha core update --version $VERSION.

OS Workflow

The OS workflow is similar to the Core workflow but focuses on the Home Assistant Operating System. It is triggered by new releases published in the Home Assistant OS repository. The process includes:

  1. Release Detection: Renovate detects the new OS release and creates a pull request with the updated version.
  2. Merge Action: Upon merging the pull request, the GitHub Action is triggered.
  3. Deployment: Tailscale is used to SSH into the Home Assistant Yellow device.
  4. Update Execution: The action runs the update command via the ha os update --version $VERSION CLI tool.

Renovate Config Validator

This workflow validates the Renovate configuration file whenever changes are pushed to it. It ensures that the configuration adheres to the required standards, preventing errors in dependency management.

Secrets

The workflows rely on several secrets for authentication and secure operations:

  • TS_OAUTH_CLIENT_ID: OAuth client ID for Tailscale.
  • TS_OAUTH_SECRET: OAuth secret for Tailscale.
  • HASSIOKEY: SSH key for accessing the Home Assistant instance.
  • YELLOW_TS_HOSTNAME IP address of the Home Assistant instance.

About

Workflows for deploying and updating various components of the Home Assistant project using GitHub Actions, Renovate, Tailscale and ha cli to a Home Assistant Yellow.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published