Skip to content

Rebuild isocreate CLI, add CI pipeline, refresh README - #14

Merged
bgrewell merged 4 commits into
mainfrom
feat/p3-tooling
Aug 6, 2026
Merged

Rebuild isocreate CLI, add CI pipeline, refresh README#14
bgrewell merged 4 commits into
mainfrom
feat/p3-tooling

Conversation

@bgrewell

@bgrewell bgrewell commented Aug 6, 2026

Copy link
Copy Markdown
Owner

Summary

P3 tooling: a usable isocreate, CI, and accurate docs.

isocreate

The previous main.go was hardcoded test scaffolding (fixed Ubuntu paths, no arguments). Now a real tool following isoextract's conventions:

isocreate -V MYVOL -o out.iso ./srcdir
isocreate -V BOOTABLE -o boot.iso \
  --bios-boot isolinux/isolinux.bin --efi-boot EFI/BOOT/efiboot.img \
  --isohybrid-mbr isohdpfx.bin --gpt ./srcdir

Flags cover volume/preparer identity, Rock Ridge (default on), Joliet, interchange level enforcement, El Torito BIOS/EFI entries (BIOS gets the 4-sector load + boot info table convention), and hybrid MBR/GPT.

CI (GitHub Actions)

gofmt gate → build → vet → go test -race → coverage summary. Installs xorriso, fdisk, parted, genisoimage so the interop tests actually verify against external tools in CI instead of skipping (locally they skip gracefully when tools are absent).

README

Rewritten to match reality: library examples (create/modify/boot), CLI install/usage, and a format support matrix distinguishing read vs write support. Replaces the "Extract Only" limitations section that predates the write path.

Test plan

  • Smoke-tested isocreate end-to-end: built an image from a directory, verified listing via xorriso
  • Full suite green locally; CI workflow will validate itself on this PR

Replace the hardcoded isocreate scaffolding with a real command line
tool: volume and preparer identity, Rock Ridge / Joliet / interchange
level toggles, BIOS and EFI El Torito boot entries (with boot info
table for the BIOS loader), and isohybrid MBR/GPT flags, following the
same usage-package conventions as isoextract.

Add a GitHub Actions CI workflow: gofmt gate, build, vet, race-enabled
tests, and a coverage summary. The workflow installs xorriso, fdisk,
and parted so the interoperability tests exercise their verification
paths instead of skipping.

Rewrite the README to reflect current functionality: library examples
for create/modify/boot flows, CLI usage, and an honest format support
matrix (reads and writes for ISO 9660, Rock Ridge, Joliet, El Torito,
and hybrid layouts; read-only for multi-extent files and UDF).
@bgrewell
bgrewell merged commit 2a1ef90 into main Aug 6, 2026
1 check passed
@bgrewell
bgrewell deleted the feat/p3-tooling branch August 6, 2026 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant