2.1 KiB
2.1 KiB
GitHub Actions Workflows
This project uses three separate Docker build workflows that automatically build and publish Docker images to GitHub Container Registry (ghcr.io).
Workflows Overview
| Workflow | Trigger | Image Tag(s) |
|---|---|---|
| docker-build-release.yml | Tags: v1.2.0, v1.2.0-alpha1 |
1.2.0, 1.2, latest |
| docker-build-nightly.yml | Push to main |
nightly |
| docker-build-branch.yml | All other branches | Branch name |
Detailed Description
Release Workflow (docker-build-release.yml)
Publishes versioned images for new releases.
Triggers:
- Tags matching
v[0-9]+.[0-9]+.[0-9]+(e.g.,v1.0.0) - Tags matching
v[0-9]+.[0-9]+.[0-9]+-[a-zA-Z0-9]+(e.g.,v1.0.0-alpha1)
Image Tags:
ghcr.io/ohf-voice/linux-voice-assistant:1.0.0
ghcr.io/ohf-voice/linux-voice-assistant:1.0
ghcr.io/ohf-voice/linux-voice-assistant:1
ghcr.io/ohf-voice/linux-voice-assistant:latest
Nightly Workflow (docker-build-nightly.yml)
Automatically builds nightly images from the main branch.
Triggers:
- Push to
mainbranch
Image Tag:
ghcr.io/ohf-voice/linux-voice-assistant:nightly
Branch Workflow (docker-build-branch.yml)
Builds images for all other branches.
Triggers:
- Push to all branches except
main - No tags
Image Tag:
ghcr.io/ohf-voice/linux-voice-assistant:<branch-name>
Multi-Architecture Support
All workflows build for multiple architectures:
linux/amd64(x86_64)linux/aarch64(ARM 64-bit, e.g., Raspberry Pi 4)
Setup Requirements
No additional setup needed! The workflows use GITHUB_TOKEN which is automatically provided by GitHub Actions.
Creating a Release
git tag v1.0.0
git push origin v1.0.0
This creates images with the following tags:
ghcr.io/ohf-voice/linux-voice-assistant:1.0.0ghcr.io/ohf-voice/linux-voice-assistant:1.0ghcr.io/ohf-voice/linux-voice-assistant:1ghcr.io/ohf-voice/linux-voice-assistant:latest