Agent Skills: Package Release

Package voxtype for release. Creates deb and rpm packages from binaries. Use when building distribution packages.

UncategorizedID: peteonrails/voxtype/package-release

Install this agent skill to your local

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

Skill Files

Browse the full folder contents for package-release.

Download Skill

Loading file tree…

.claude/skills/package-release/SKILL.md

Skill Metadata

Name
package-release
Description
Package voxtype for release. Creates deb and rpm packages from binaries. Use when building distribution packages.

Package Release

Build distribution packages (deb, rpm) for voxtype releases.

Prerequisites

  • fpm - Install with gem install fpm
  • rpmbuild - Install with sudo dnf install rpm-build or sudo pacman -S rpm-tools
  • Pre-built binaries in releases/${VERSION}/

Quick Package

If binaries already exist:

./scripts/package.sh --skip-build ${VERSION}

Full Build + Package

Build binaries and create packages:

./scripts/package.sh ${VERSION}

Options

| Flag | Description | |------|-------------| | --skip-build | Use existing binaries, don't rebuild | | --deb-only | Build only Debian package | | --rpm-only | Build only RPM package | | --no-validate | Skip package validation | | --release N | Set package release number (default: 1) | | --arch ARCH | Target architecture: x86_64 or aarch64 |

Output

Packages are created in releases/${VERSION}/:

  • voxtype_${VERSION}-1_amd64.deb
  • voxtype-${VERSION}-1.x86_64.rpm

Validation

The script automatically:

  1. Validates binaries for CPU instruction contamination
  2. Checks deb package structure for duplicate fields
  3. Verifies required control file fields

Workflow

  1. Build binaries (Docker for AVX2/Vulkan, local for AVX-512)
  2. Verify binary versions match expected version
  3. Run ./scripts/package.sh --skip-build ${VERSION}
  4. Test package installation in a VM or container

Common Issues

Binary not found:

Error: Binary not found: releases/0.4.14/voxtype-0.4.14-linux-x86_64-avx2

Build binaries first or check the version number.

fpm not found:

gem install fpm

Validation failed: Check the specific error. Usually means Docker cache is stale.