add docker build and compose
This commit is contained in:
1 parent
b958678f11
commit
ebd18dd234
11 files changed
+511
-12
No files matched your search
@@ -0,0 +1,77 @@
|
||||
# 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](.github/workflows/docker-build-release.yml) | Tags: `v1.2.0`, `v1.2.0-alpha1` | `1.2.0`, `1.2`, `latest` |
|
||||
| [docker-build-nightly.yml](.github/workflows/docker-build-nightly.yml) | Push to `main` | `nightly` |
|
||||
| [docker-build-branch.yml](.github/workflows/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 `main` branch
|
||||
|
||||
**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
|
||||
|
||||
```bash
|
||||
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.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`
|
||||
Reference in new issue
Block a user