From 756996accb127e56af1924692faafa06278b1492 Mon Sep 17 00:00:00 2001 From: Hunter Paulson Date: Fri, 4 Sep 2026 03:04:10 -0400 Subject: [PATCH 1/2] HACS zip setup --- .github/workflows/publish-app.yml | 15 ++++++++++++++- README.md | 21 ++++++++++++++++----- hacs.json | 5 ++++- 3 files changed, 34 insertions(+), 7 deletions(-) diff --git a/.github/workflows/publish-app.yml b/.github/workflows/publish-app.yml index 191d21e..731b3c5 100644 --- a/.github/workflows/publish-app.yml +++ b/.github/workflows/publish-app.yml @@ -10,7 +10,7 @@ concurrency: cancel-in-progress: false permissions: - contents: read + contents: write packages: write jobs: @@ -63,6 +63,19 @@ jobs: - name: Validate Home Assistant integration syntax run: python3 -m compileall -q homeassistant/integration + - name: Package HACS integration release + run: | + cd homeassistant/integration + zip -r ../../virtual_carillon.zip . -x '__pycache__/*' '*.pyc' + + - name: Publish GitHub release with HACS asset + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: >- + gh release create "${GITHUB_REF_NAME}" virtual_carillon.zip + --title "Virtual Carillon ${GITHUB_REF_NAME}" + --generate-notes + - name: Log in to GHCR uses: docker/login-action@v3 with: diff --git a/README.md b/README.md index 4e2e211..298254d 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Virtual Carillon

- Virtual Carillon + Virtual Carillon

Virtual Carillon turns your speakers into a programmable Church carillon. @@ -20,7 +20,7 @@ You can also run the carillon on its own from the command line or connect to it Most people will use Virtual Carillon with [Home Assistant](https://www.home-assistant.io/getting-started/), a free, self-hosted home-automation system. The included Home Assistant Integration provides a user-friendly GUI to interact with Virtual Carillon. We also provide Virtual Carillon as a standalone app for advanced users who are comfortable working from the command line and don't want to use Home Assistant. -[HACS](https://hacs.xyz/docs/use/) (Home Assistant Community Store) is an optional community store inside Home Assistant. This repository keeps all Home Assistant sources under `homeassistant/`; use the manual installation path below unless a HACS release package is provided. +[HACS](https://hacs.xyz/docs/use/) (Home Assistant Community Store) is the recommended way to install the Home Assistant integration. Releases include the HACS package; the repository keeps its source under `homeassistant/integration` so no HACS-specific top-level source directory is needed. If HACS is unavailable, use the manual installation fallback below. For either Home Assistant path, you must have at least one working Home Assistant `media_player` (speaker) before setting up Virtual Carillon. @@ -40,9 +40,13 @@ Use this path when your Home Assistant installation has **Settings → Apps**. I 2. Search the App store for **Virtual Carillon**, select it, choose **Install**, and then choose **Start**. 3. Open the app’s **Configuration** tab. Set **API token** to a long, unique private value, choose **Save**, and restart the app if Home Assistant asks. -4. Install the integration: +4. Install the integration through HACS: - - **Manual installation:** copy this repository’s `homeassistant/integration` directory to `/config/custom_components/virtual_carillon/`, then restart Home Assistant. + - In HACS, open **Integrations**, choose the three-dot menu, and select **Custom repositories**. + - Add `https://github.com/HPaulson/virtual-carillon` as an **Integration**, then choose **Download** for the latest release. + - Restart Home Assistant when HACS asks. + + If HACS is unavailable, manually copy this repository’s `homeassistant/integration` directory to `/config/custom_components/virtual_carillon/`, then restart Home Assistant. 5. Open **Settings → Devices & services → Add integration**, search for **Virtual Carillon**, and enter: @@ -80,7 +84,14 @@ Use this path when Home Assistant itself runs in a Docker container. Virtual Car The `virtual-carillon_default` network is created by the command in step 3. Once both containers share it, Home Assistant can reach the engine as `http://virtual-carillon:9876`. Keep this connection in your own Compose configuration if you recreate the Home Assistant container. -5. Copy this repository’s `homeassistant/integration` directory to `/config/custom_components/virtual_carillon/`, then restart Home Assistant. HACS custom repositories currently require the integration under a repository-root `custom_components/` directory, so this source layout is intentionally installed manually. +5. Install the integration through HACS: + + - In HACS, open **Integrations**, choose the three-dot menu, and select **Custom repositories**. + - Add `https://github.com/HPaulson/virtual-carillon` as an **Integration**, then choose **Download** for the latest release. + - Restart Home Assistant when HACS asks. + + If HACS is unavailable, manually copy this repository’s `homeassistant/integration` directory to `/config/custom_components/virtual_carillon/`, then restart Home Assistant. + 6. Open **Settings → Devices & services → Add integration**, search for **Virtual Carillon**, and enter: - **Engine URL:** `http://virtual-carillon:9876` diff --git a/hacs.json b/hacs.json index 89f2f06..9f3cae5 100644 --- a/hacs.json +++ b/hacs.json @@ -1,4 +1,7 @@ { "name": "Virtual Carillon", - "homeassistant": "2024.1.0" + "homeassistant": "2024.1.0", + "zip_release": true, + "filename": "virtual_carillon.zip", + "hide_default_branch": true } From 01219a316c060b7a80c513f53bcd8aeac4b22f8c Mon Sep 17 00:00:00 2001 From: Hunter Paulson Date: Fri, 4 Sep 2026 03:05:36 -0400 Subject: [PATCH 2/2] Fix readme logo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 298254d..18ddc16 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Virtual Carillon

- Virtual Carillon + Virtual Carillon

Virtual Carillon turns your speakers into a programmable Church carillon.