Agent Skills: Docker Test

Test voxtype in Docker containers. Use for testing builds, verifying packages work on different distros, or isolating test environments.

UncategorizedID: peteonrails/voxtype/docker-test

Install this agent skill to your local

pnpm dlx add-skill https://github.com/peteonrails/voxtype/tree/HEAD/.claude/skills/docker-test

Skill Files

Browse the full folder contents for docker-test.

Download Skill

Loading file tree…

.claude/skills/docker-test/SKILL.md

Skill Metadata

Name
docker-test
Description
Test voxtype in Docker containers. Use for testing builds, verifying packages work on different distros, or isolating test environments.

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:

./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:

./scripts/build-docker-vulkan.sh

Output: releases/${VERSION}/voxtype-${VERSION}-linux-x86_64-vulkan

Full Docker Compose Build

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

# 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

# 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

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

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

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:

# 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:

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.