Rebuild isocreate CLI, add CI pipeline, refresh README - #14
Merged
Conversation
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).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
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
isocreateend-to-end: built an image from a directory, verified listing via xorriso