Skip to content

Add GUI and release workflows for v1.0.0#14

Merged
powerje merged 1 commit into
trunkfrom
gui-implementation
Oct 11, 2025
Merged

Add GUI and release workflows for v1.0.0#14
powerje merged 1 commit into
trunkfrom
gui-implementation

Conversation

@powerje

@powerje powerje commented Oct 10, 2025

Copy link
Copy Markdown
Contributor

Summary

  • Add cross-platform GUI with modern styling
  • Add release workflows for automated binary distribution
  • Update to Rust 2024 edition
  • Bump version to 1.0.0

GUI Features

cards-gui - Self-contained native application (7.6 MB binary)

  • Modern UI with rounded panels, color coding, emoji icons
  • Native file dialogs for folder/output selection
  • Adjustable grid size (1-20) with visual slider
  • Real-time card counting and page calculation
  • Duplication warnings when front > back cards
  • Button transforms from "Generate PDF" to "Open PDF" after success
  • Auto-reset to Generate when settings change (folder/grid/output)
  • Fixed 700x780px window with consistent layout
  • No external dependencies - single binary distribution

Release Workflows

CI Workflows (run on every push/PR):

  • Build both CLI and GUI on macOS, Ubuntu, Windows
  • Upload artifacts to verify builds

Release Workflows (trigger on version tags):

  • release-macos.yaml - builds cards-cli-macos and cards-gui-macos
  • release-ubuntu.yaml - builds cards-cli-linux and cards-gui-linux
  • release-windows.yaml - builds cards-cli-windows.exe and cards-gui-windows.exe
  • Automatically creates GitHub releases with all binaries attached

Version Updates

  • All crates updated to v1.0.0
  • Upgraded to Rust 2024 edition (requires rustc 1.85+)
  • All 21 tests passing

Test Plan

  • All unit tests pass (21 tests)
  • CLI builds on all platforms
  • GUI builds on all platforms
  • GUI folder selection works
  • GUI grid size adjustment works
  • GUI PDF generation works
  • GUI opens generated PDF
  • Button transforms after generation
  • Settings changes reset to Generate button
  • Rust 2024 edition compiles without warnings

Release Instructions

To create a release:

git tag v1.0.0
git push origin v1.0.0

This will trigger release workflows and publish binaries to GitHub Releases.

- Add cross-platform GUI with modern styling using eframe/egui
- Implement folder/grid/output selection with native dialogs
- Add card counting, page calculation, and duplication warnings
- Button transforms from Generate to Open PDF on success
- Auto-reset when settings change
- Fixed 700x780px window with consistent layout
- Self-contained 7.6 MB binary with no external dependencies

- Add release workflows for macOS, Linux, and Windows
- Update CI workflows to build both CLI and GUI
- Code Quality and builds now only run on pull requests
- Update to Rust 2024 edition and version 1.0.0
@powerje
powerje force-pushed the gui-implementation branch from d6bf8c6 to 178dfac Compare October 11, 2025 00:21
@powerje
powerje merged commit 3e21c29 into trunk Oct 11, 2025
4 checks passed
@powerje
powerje deleted the gui-implementation branch October 11, 2025 00:27
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