Skip to content

Conversation

@wilmoore
Copy link
Owner

@wilmoore wilmoore commented Jan 8, 2026

Summary

  • Add GitHub Actions release workflow for automated cross-platform builds
  • Add CI workflow for pull request validation
  • Update README with pre-built binary installation instructions
  • Confirm metadata output meets spec requirements (already implemented)
  • Mark backlog items #5, #6, #13 as resolved

Changes

GitHub Actions Workflows

  • Release workflow (release.yml): Triggered on version tags (v*), builds for macOS ARM64, macOS x64, and Linux x64
  • CI workflow (ci.yml): Runs on PRs with cargo fmt --check, cargo clippy, cargo build, and cargo test

README Updates

  • Added pre-built binary installation section with one-liner commands
  • Updated metadata.json example to match actual output format
  • Fixed repository URLs

Backlog Items Resolved

  • #5 (E-005: Metadata output) - Already implemented in output.rs
  • #13 (US-006: Minimal metadata per image) - Acceptance criteria met
  • #6 (E-006: Packaging and distribution) - CI/CD infrastructure added

ADR

Test plan

  • Verify CI workflow passes on this PR
  • After merge, create tag v1.1.0 to trigger release workflow
  • Verify release artifacts are created on GitHub Releases

wilmoore and others added 11 commits January 7, 2026 19:32
- Add release workflow for macOS (ARM64/x64) and Linux builds
- Add CI workflow for PRs with fmt, clippy, build, and test
- Add pre-built binary installation instructions to README
- Update README metadata.json example to match actual output format
- Mark backlog items #5, #6, #13 as resolved (metadata already implemented)
- Add ADR 004: GitHub Actions for Releases
- Move planning docs to .plan/.done/
- Bump version to 1.1.0
The action dtolnay/rust-action does not exist. The correct action
is dtolnay/rust-toolchain.
Apply rustfmt to resolve CI formatting check failures:
- output.rs: fix closure and function call formatting
- segmentation.rs: fix line length issues
- video.rs: fix imgproc::cvt_color call formatting
Continue applying rustfmt formatting to pass CI checks.
The opencv crate's build script requires libclang for code generation.
Install llvm and set LIBCLANG_PATH environment variable.
- Use #[derive(Default)] with #[default] attribute for DetailLevel and QualityPreset
- Replace iter().cloned().collect() with to_vec() in embeddings.rs
- Use is_multiple_of() instead of manual modulo check in video.rs
- Prefix unused start_idx parameter with underscore in segmentation.rs

Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add #[allow(dead_code)] for intentionally exposed public API items
- Prefix unused loop variables with underscore (batch_idx, end)
- These items are part of the public API and may be used externally

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Remove .enumerate() since batch_idx is unused.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@wilmoore wilmoore merged commit 11636b4 into main Jan 8, 2026
1 check passed
@wilmoore wilmoore deleted the feat/metadata-and-packaging branch January 8, 2026 12:47
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.

2 participants