Skip to content

Commit a71b63f

Browse files
Fix/build images (#49)
* build(ci): update image build workflows and imager JSON generation Refactor the GitHub Actions build workflow to include a new LVA build job and update image naming conventions for 2MicHat-v1. Refactor the `generate-imager-json.py` script to improve modularity and support new hardware types, including 2MicHat-v1. * docs(readme): remove deprecated hardware image entries Remove references to Satellite1 and ReSpeaker 2-Mic HAT v1 from the hardware overview table in README.md. * docs(readme): clean up hardware compatibility warning Refine the warning message for ReSpeaker Lite on Raspberry Pi Zero 2W to be more concise. * build(ci): parameterize release version in image workflows Introduce a `releaseversion` input to the image building workflow to allow specifying the OS release (e.g., bookworm, trixie) dynamically. Update the main build workflow to pass `bookworm` for specific hardware targets and update README documentation to reflect the pinned OS version for ReSpeaker 2-Mic HAT v1. * ci(workflows): make releaseversion input optional Update the `build-image-template.yml` workflow to set `releaseversion` as an optional input. This allows the workflow to run with the default value when no specific OS release is provided. * chore(ci): disable legacy 2michat builds and update readme Disable the 2michat and 2michat-lva build jobs in the CI workflow and update the README to reflect the current build version for the ReSpeaker 2-Mic HAT v1 instead of pinning to bookworm. * ci(workflows): ensure rpi-imager json generation runs always Add `if: always()` to the `generate-rpi-imager-json` job to ensure the JSON metadata is generated even if some of the preceding build jobs fail or are skipped.
1 parent d28e123 commit a71b63f

4 files changed

Lines changed: 221 additions & 122 deletions

File tree

.github/workflows/build-all.yml

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,30 @@ jobs:
2222
compression-level: 6
2323
custom-hostname: picompose
2424

25+
build-lva:
26+
uses: ./.github/workflows/build-image-template.yml
27+
with:
28+
image-name: PiCompose_Linux-Voice-Assistant
29+
stage-list: stage0 stage1 stage2 ./01-stage-picompose ./02-stage-audiodriver-other ./03-stage-linux-voice-assistant ./04-stage-finish
30+
compression: zip
31+
compression-level: 6
32+
custom-hostname: picompose
2533
# 2MICHAT-v1
2634
build-2michat:
35+
if: false # disabled
2736
uses: ./.github/workflows/build-image-template.yml
2837
with:
29-
image-name: PiCompose-2MicHat
38+
image-name: PiCompose-2MicHat-v1
3039
stage-list: stage0 stage1 stage2 ./01-stage-picompose ./02-stage-audiodriver-2michat-v1 ./04-stage-finish
3140
compression: xz
3241
compression-level: 6
3342
custom-hostname: picompose
3443

3544
build-2michat-lva:
45+
if: false # disabled
3646
uses: ./.github/workflows/build-image-template.yml
3747
with:
38-
image-name: PiCompose_2MicHat_Linux-Voice-Assistant
48+
image-name: PiCompose_2MicHat-v1_Linux-Voice-Assistant
3949
stage-list: stage0 stage1 stage2 ./01-stage-picompose ./02-stage-audiodriver-2michat-v1 ./03-stage-linux-voice-assistant ./04-stage-finish
4050
compression: xz
4151
compression-level: 6
@@ -54,7 +64,7 @@ jobs:
5464
build-respeaker_lite-lva:
5565
uses: ./.github/workflows/build-image-template.yml
5666
with:
57-
image-name: PiCompose_Respeaker-lite_Linux-Voice-Assistant
67+
image-name: PiCompose_Respeaker_lite_Linux-Voice-Assistant
5868
stage-list: stage0 stage1 stage2 ./01-stage-picompose ./02-stage-audiodriver-respeaker_lite ./03-stage-linux-voice-assistant ./04-stage-finish
5969
compression: xz
6070
compression-level: 6
@@ -63,4 +73,5 @@ jobs:
6373
# RPI IMAGER JSON
6474
generate-rpi-imager-json:
6575
needs: [build, build-2michat, build-respeaker_lite, build-2michat-lva, build-respeaker_lite-lva]
76+
if: always()
6677
uses: ./.github/workflows/create-rpi-image-json.yml

.github/workflows/build-image-template.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ on:
3131
type: boolean
3232
default: false
3333
description: "Enable rpi-imager.json snippet generation"
34+
releaseversion:
35+
required: false
36+
type: string
37+
default: "trixie"
38+
description: "OS Release"
3439

3540
jobs:
3641
build_images:
@@ -84,7 +89,7 @@ jobs:
8489
stage-list: ${{ inputs.stage-list }}
8590

8691
# Build configuration
87-
release: trixie
92+
release: ${{ inputs.releaseversion }}
8893
compression: ${{ inputs.compression }}
8994
compression-level: ${{ inputs.compression-level }}
9095

README.md

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -42,18 +42,12 @@ There is a seperated page for the supported hardware. You can find the link to i
4242

4343
Here is a Overview for the specific images of each hardware:
4444

45-
46-
| Name | Hardware | What's in the Image? |
47-
| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
48-
| **Base Image** | Your own hardware... | • Docker & Docker Compose (piCompose)<br>• Automatic Docker Compose deployment<br>• Pipewire Audio Server<br>• SSH enabled (pi User) |
49-
| **[Sattelite1](docs/hardware_sattelite1.md)** | <img src="docs/sattelite1-hat.jpg" alt="ReSpeaker Lite Board" style="width: 200px; height: auto;"> | • Base Image<br>• Satellite1 Hat Driver<br><br><span style="color: red;">Image is currently work in progress!</span> |
50-
| **[Sattelite1](docs/hardware_sattelite1.md)**<br>**+Linux-Voice-Assistant**<br>**+Snapcast** | <img src="docs/sattelite1-hat.jpg" alt="ReSpeaker Lite Board" style="width: 200px; height: auto;"> | • Satellite1 Hat Image<br>• Linux-Voice-Assistant (OpenHomeFoundation)<br>• Snapcast MultiRoom Audio Client<br>• Pre-configured for Home Assistant<br><br><span style="color: red;">Image is currently work in progress!</span> |
51-
| **[ReSpeaker 2-Mic HAT v1](docs/hardware_2mic_v1.md)** | <img src="docs/respeaker_2michats.webp" alt="ReSpeaker 2-Mics Pi HAT" style="width: 200px; height: auto;"> | • Base Image<br>• Seeed Voicecard Driver |
52-
| **[ReSpeaker 2-Mic HAT v1](docs/hardware_2mic_v1.md)**<br>**+Linux-Voice-Assistant**<br>**+Snapcast** | <img src="docs/respeaker_2michats.webp" alt="ReSpeaker 2-Mics Pi HAT" style="width: 200px; height: auto;"> | • 2-Mic HAT Image<br>• Linux-Voice-Assistant (OpenHomeFoundation)<br>• 2-Mic HAT GPIO LED Control<br>• Snapcast MultiRoom Audio Client<br>• Pre-configured for Home Assistant |
53-
| **[ReSpeaker Lite](docs/hardware_respeaker_lite.md)** | <img src="docs/respeaker_lite.jpg" alt="ReSpeaker Lite Board" style="width: 200px; height: auto;"> | • Base Image<br>• Audio keep-alive service<br>• Workaround for connectivity issues in combination with the Pi Zero 2W.<br><br><span style="color: red;">There is a USB connectivity issue with the Pi Zero 2W. Use this board with at least Raspberry PI 3.</span> |
54-
| **[ReSpeaker Lite](docs/hardware_respeaker_lite.md)**<br>**+Linux-Voice-Assistant**<br>**+Snapcast** | <img src="docs/respeaker_lite.jpg" alt="ReSpeaker Lite Board" style="width: 200px; height: auto;"> | • ReSpeaker Lite Image<br>• Linux-Voice-Assistant (OpenHomeFoundation)<br>• Snapcast MultiRoom Audio Client<br>• Pre-configured for Home Assistant<br>• Workaround for connectivity issues in combination with the Pi Zero 2W.<br><br><span style="color: red;">There is a USB connectivity issue with the Pi Zero 2W. Use this board with at least Raspberry PI 3.</span> |
55-
56-
45+
| Name | Hardware | What's in the Image? |
46+
| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
47+
| **Base Image** | If you use other hardware... | • Docker & Docker Compose (piCompose)<br>• Automatic Docker Compose deployment<br>• Pipewire Audio Server<br>• SSH enabled (pi User) |
48+
| **[Satellite1](docs/hardware_sattelite1.md)** | <img src="docs/sattelite1-hat.jpg" alt="ReSpeaker Lite Board" style="width: 200px; height: auto;"> | • * Everything from Base Image<br>• Satellite1 Hat Driver<br>• Linux-Voice-Assistant (OpenHomeFoundation)<br>• Snapcast MultiRoom Audio Client<br>• Pre-configured for Home Assistant<br><br><span style="color: red;">Image is currently work in progress!</span> |
49+
| **[ReSpeaker 2-Mic HAT v1](docs/hardware_2mic_v1.md)** | <img src="docs/respeaker_2michats.webp" alt="ReSpeaker 2-Mics Pi HAT" style="width: 200px; height: auto;"> | • * Everything from Base Image<br>• Seeed Voicecard Driver<br>• Linux-Voice-Assistant (OpenHomeFoundation)<br>• Snapcast MultiRoom Audio Client<br>• Pre-configured for Home Assistant<br><br><span style="color: yellow;">Current latest available build version is 1.1.1</span> See [#41](https://github.com/HinTak/seeed-voicecard/issues/41) |
50+
| **[ReSpeaker Lite](docs/hardware_respeaker_lite.md)** | <img src="docs/respeaker_lite.jpg" alt="ReSpeaker Lite Board" style="width: 200px; height: auto;"> | • * Everything from Base Image<br>• Audio keep-alive service<br>• Linux-Voice-Assistant (OpenHomeFoundation)<br>• Snapcast MultiRoom Audio Client<br>• Pre-configured for Home Assistant<br>• Workaround for connectivity issues in combination with the Pi Zero 2W.
5751

5852
### Installation
5953

0 commit comments

Comments
 (0)