スキル一覧に戻る
atrawog

build

by atrawog

Claude Code plugins for Bazzite AI

0🍴 0📅 2026年1月24日
GitHubで見るManusで実行

SKILL.md


name: build description: | Development: Unified build system for OS images, pods, VMs, and ISOs. Run from repository root with 'just build '. Includes smart cache strategy that matches GitHub Actions for optimal build times.

Build - Unified Build System

Overview

The build command provides a unified interface for all bazzite-ai build operations:

  • OS container images
  • Pod container variants
  • VM images (QCOW2/RAW)
  • Live ISO installers
  • Push to registry
  • Sign with cosign

Smart Caching: Automatically detects git branch and uses matching cache tag, ensuring local builds are compatible with GitHub Actions builds.

Quick Reference

ActionCommandDescription
Build OSjust build osBuild OS container image
Build podjust build pod nvidiaBuild specific pod variant
Build all podsjust build pod allBuild all pod variants
Build ISOjust build isoBuild live ISO installer
Build QCOW2just build qcow2Build QCOW2 VM image
Build RAWjust build rawBuild RAW VM image
Generate lockjust build pixi pythonGenerate pixi.lock
Push OSjust build push osPush OS image to registry
Push podjust build push pod nvidiaPush pod to registry
Sign OSjust build sign osSign OS image with cosign
Sign podjust build sign pod nvidiaSign pod with cosign
Show statusjust build statusShow cache/build status

Pod Variants

VariantImage NameDescription
basebazzite-ai-podCPU-only development
nvidiabazzite-ai-pod-nvidiaGPU compute with CUDA
nvidia-pythonbazzite-ai-pod-nvidia-pythonNVIDIA + ML packages
jupyterbazzite-ai-pod-jupyterJupyterLab + ML stack
ollamabazzite-ai-pod-ollamaLLM inference
comfyuibazzite-ai-pod-comfyuiStable Diffusion UI
devopsbazzite-ai-pod-devopsAWS/kubectl/Helm tools
githubrunnerbazzite-ai-pod-githubrunnerCI/CD pipeline

Smart Cache Strategy

The build system automatically detects your git branch and uses the appropriate cache tag to maximize cache reuse between local and CI builds:

BranchCache TagBuild Tag
mainstablestable
testingtestingtesting
Other{branch}{branch}

This ensures that when you build locally on the testing branch, you pull cache layers from the :testing images pushed by GitHub Actions.

Environment Variables

For CI integration, the following environment variables are supported:

VariablePurpose
COSIGN_PRIVATE_KEYPrivate key for signing with cosign
BUILD_LABELSSpace-separated OCI labels to apply during build
BUILD_TAGSSpace-separated tags to apply (overrides default)
BASE_IMAGEOverride base image for pod builds (for digest pinning)

Common Workflows

Build OS Image

# Build with branch-appropriate tag
just build os

# Build with custom tag
just build os custom-tag

Build Pods

# Interactive selection
just build pod

# Specific variant
just build pod nvidia

# All variants
just build pod all

Build VM/ISO

# Build QCOW2 VM image
just build qcow2

# Build live ISO
just build iso

# Build RAW image
just build raw

Push to Registry

# Push OS image
just build push os

# Push specific pod
just build push pod nvidia

# Push all pods
just build push pod all

Sign Images

# Sign OS image (requires COSIGN_PRIVATE_KEY env var)
COSIGN_PRIVATE_KEY=$KEY just build sign os

# Sign pod
COSIGN_PRIVATE_KEY=$KEY just build sign pod nvidia

Generate Pixi Locks

# Python variant
just build pixi python

# Jupyter variant
just build pixi jupyter

# All variants
just build pixi all

CI Integration

The build commands are designed for GitHub Actions integration:

# Build, push, and sign in CI
- name: Build and push OS
  env:
    BUILD_LABELS: ${{ steps.metadata.outputs.labels }}
    COSIGN_PRIVATE_KEY: ${{ secrets.SIGNING_SECRET }}
  run: |
    just build os $TAG
    just build push os $TAG
    just build sign os $TAG

# Build pod with base image digest
- name: Build nvidia pod
  env:
    BASE_IMAGE: ghcr.io/owner/bazzite-ai-pod@${{ needs.base.outputs.digest }}
  run: just build pod nvidia $TAG

Output Images

Images are tagged with the registry prefix:

ghcr.io/atrawog/bazzite-ai:{tag}           # OS image
ghcr.io/atrawog/bazzite-ai-pod:{tag}       # Base pod
ghcr.io/atrawog/bazzite-ai-pod-nvidia:{tag} # NVIDIA pod
ghcr.io/atrawog/bazzite-ai-pod-comfyui:{tag} # ComfyUI pod

Requirements

  • Podman installed and configured
  • Git repository cloned
  • Sufficient disk space (~10GB for OS, ~20GB for ISO)
  • Network access (pulls base images)
  • cosign installed (for signing)
  • Registry authentication (for push)

Troubleshooting

Build Fails with Cache Error

Symptom: Cache layer not found

Cause: Remote image not yet pushed for this branch

Fix:

# Build without cache (first build on new branch)
# Or check status to see cache state
just build status

Pod Build Fails with Base Image Missing

Symptom: Cannot find base pod image

Cause: Parent variant not built

Fix:

# Build in order (base -> nvidia -> jupyter)
just build pod base
just build pod nvidia
just build pod jupyter

Push Fails with Authentication Error

Symptom: unauthorized: authentication required

Cause: Not logged into registry

Fix:

# Login to GitHub Container Registry
podman login ghcr.io

Sign Fails

Symptom: cosign not found or key not set

Cause: cosign not installed or COSIGN_PRIVATE_KEY not set

Fix:

# Check cosign is installed
which cosign

# Set signing key
export COSIGN_PRIVATE_KEY="$(cat cosign.key)"

CUDA Test Fails

Symptom: nvidia-smi not found

Cause: No GPU available or CDI not configured

Fix:

# Verify GPU on host
nvidia-smi

# Check CDI configuration
ls /etc/cdi/

Cross-References

  • Related Skills: clean (cleanup build artifacts)
  • System Commands: ujust jupyter, ujust ollama (use built pods)
  • Documentation: See Containerfile for image layers

When to Use This Skill

Use when the user asks about:

  • "build os", "build image", "build container"
  • "build pod", "build nvidia", "build jupyter", "build comfyui"
  • "build iso", "build qcow2", "build vm"
  • "push os", "push pod", "push to registry"
  • "sign image", "cosign", "sign pod"
  • "pixi lock", "generate lock"
  • "just build" (any build command)

スコア

総合スコア

50/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です