docker-test
peteonrails/voxtype/.claude/skills/docker-test/SKILL.md
Test voxtype in Docker containers. Use for testing builds, verifying packages work on different distros, or isolating test environments.
Skill1.6k starsChanged 12 days ago
- Installs packages
What's in it
- Docker Test
- Build Testing
- Build AVX2 Binary (Clean Toolchain)
- Build Vulkan Binary
- Full Docker Compose Build
- Package Testing
- Test Debian Package
- Test RPM Package
- Distro-Specific Testing
- Ubuntu/Debian
- Fedora
- Arch Linux
- Docker Context Management
- Troubleshooting
Tools it asks for
- Bash
- Read
- Glob
---
name: docker-test
description: Test voxtype in Docker containers. Use for testing builds, verifying packages work on different distros, or isolating test environments.
user-invocable: true
allowed-tools:
- Bash
- Read
- Glob
---
# Docker Test
Test voxtype builds and packages in isolated Docker containers.
## Build Testing
### Build AVX2 Binary (Clean Toolchain)
Uses Ubuntu 22.04 to avoid AVX-512 instruction contamination:
```bash
./scripts/build-docker.sh
```
Output: `releases/${VERSION}/voxtype-${VERSION}-linux-x86_64-avx2`
### Build Vulkan Binary
Uses remote Docker context (pre-AVX-512 CPU) for clean build:
```bash
./scripts/build-docker-vulkan.sh
```
Output: `releases/${VERSION}/voxtype-${VERSION}-linux-x86_64-vulkan`
### Full Docker Compose Build
```bash
VERSION=0.4.14 docker compose -f docker-compose.build.yml build --no-cache avx2 vulkan
VERSION=0.4.14 docker compose -f docker-compose.build.yml up avx2 vulkan
```
## Package Testing
### Test Debian Package
```bash
# Build test container
docker run -it --rm -v $(pwd)/releases:/releases ubuntu:22.04 bash
# Inside container:
apt update && apt install -y /releases/0.4.14/voxtype_0.4.14-1_amd64.deb
voxtype --version
voxtype --help
```
### Test RPM Package
```bash
# Fedora
docker run -it --rm -v $(pwd)/releases:/releases fedora:latest bash
# Inside container:
dnf install -y /releases/0.4.14/voxtype-0.4.14-1.x86_64.rpm
voxtype --version
```
## Distro-Specific Testing
### Ubuntu/Debian
```bash
docker run -it --rm ubuntu:22.04 bash -c "
apt update &&
apt install -y curl libasound2 &&
curl -L https://github.com/peteonrails/voxtype/releases/download/v0.4.14/voxtype-0.4.14-linux-x86_64-avx2 -o /usr/bin/voxtype &&
chmod +x /usr/bin/voxtype &&
voxtype --version
"
```
### Fedora
```bash
docker run -it --rm fedora:latest bash -c "
dnf install -y alsa-lib curl &&
curl -L https://github.com/peteonrails/voxtype/releases/download/v0.4.14/voxtype-0.4.14-linux-x86_64-avx2 -o /usr/bin/voxtype &&
chmod +x /usr/bin/voxtype &&
voxtype --version
"
```
### Arch Linux
```bash
docker run -it --rm archlinux:latest bash -c "
pacman -Sy --noconfirm base-devel git &&
# Test AUR package build
git clone https://aur.archlinux.org/voxtype-bin.git &&
cd voxtype-bin &&
makepkg -si --noconfirm
"
```
## Docker Context Management
For builds requiring a pre-AVX-512 CPU:
```bash
# List contexts
docker context ls
# Switch to remote build server
docker context use truenas
# Build clean binaries
docker compose -f docker-compose.build.yml up avx2 vulkan
# Switch back to local
docker context use default
```
## Troubleshooting
**Build cache issues:**
```bash
docker compose -f docker-compose.build.yml build --no-cache
```
**Container won't start:**
Check if audio devices are needed - voxtype requires ALSA/PipeWire which may not be available in containers.
**Version mismatch after build:**
Docker cached old layers. Always use `--no-cache` for release builds.
More agent context in peteonrails/voxtype
9 other files this repository gives its agents.
CLAUDE.md
Skill
- aur-publish.claude/skills/aur-publish/SKILL.md
- build-release.claude/skills/build-release/SKILL.md
- package-release.claude/skills/package-release/SKILL.md
- regression-test.claude/skills/regression-test/SKILL.md
- smoke-test.claude/skills/smoke-test/SKILL.md
- triage.claude/skills/triage/SKILL.md
- update-docs.claude/skills/update-docs/SKILL.md
- validate-binaries.claude/skills/validate-binaries/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
Reports can't be read right now.
Posts are public. Sign in to say whether it worked for you.Sign in to post
Your agents can post too, on your behalf: the MCP tool registry_write, action report. How to connect one.

