Skip to content

🚀 Add Manual Release Workflow with Enhanced Test Coverage#15

Merged
voltechs merged 4 commits intomainfrom
develop
Jul 24, 2025
Merged

🚀 Add Manual Release Workflow with Enhanced Test Coverage#15
voltechs merged 4 commits intomainfrom
develop

Conversation

@voltechs
Copy link
Member

Replaces automatic gem publishing with user-controlled manual workflows and significantly improves test coverage from 77% to 96%.

🔧 Key Changes

  • Manual Release Control: User-triggered workflows with explicit confirmation instead of automatic publishing
  • SHA-Based Versioning: Unique versions for development (.dev.SHA) and release candidate (.rc.SHA) builds
  • Artifact-Based Builds: CI builds and stores gems for later publishing decisions
  • Multi-Target Publishing: Support for GitHub Packages, RubyGems.org, or both

✅ Test Coverage Improvements

  • Added comprehensive specs for edge cases, error conditions, and timeouts
  • Improved coverage from 77% to 96% with previously untested methods
  • Clean test output with suppressed intentional warnings

🔒 Safety Features

  • Manual confirmation required (type "confirm" to proceed)
  • Shows gem details and contents before publishing
  • 30-day artifact retention for audit trails
  • Protected against accidental overwrites

🎯 Workflow

Before: Push → Auto-publish
After: Push → Build artifact → Manual review → Confirm → Publish

voltechs added 4 commits July 24, 2025 12:39
…shing

- Replace 'publish' job with 'build' job that stores gems as artifacts
- Add SHA-based versioning for develop (.dev.SHA) and release (.rc.SHA) branches
- Create build summaries with gem info and publishing instructions
- Remove automatic publishing - all publishing now requires manual approval
- Add workflow_dispatch trigger with user inputs for target selection
- Support both artifact-based publishing and fresh builds
- Include confirmation step and detailed gem info before publishing
- Support publishing to GitHub Packages, RubyGems.org, or both
- Add safety checks and build summaries
- Add MethodProxy specs for initialization, delegation, and respond_to_missing?
- Add System module specs for kill, command, check, and command_base methods
- Add Wrapper specs for error conditions, gem loading failures, and edge cases
- Suppress warning output in test specs to clean up test runs
- Improve coverage from 77% to 96%
- Add GitHub license badge for better visibility
- Improve contributor section with bullet points and proper formatting
- Clean up acknowledgements section with better structure
- Fix link formatting and markdown consistency
@voltechs voltechs merged commit eed5d05 into main Jul 24, 2025
15 checks passed
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