grape_logging/Rakefile
Sami Samhuri 0d738e4e7e
Prepare for 2.0.0 release (#89)
* Add a changelog

* Add release and contributor docs based on grape-active_model_serializers (needs more work)

* Rename changelog to look like it's the 80s

* Tweak releasing doc

* Automate and document github releases

* RIP hash rocket
2025-07-09 16:54:59 -07:00

35 lines
1.1 KiB
Ruby

require 'bundler/gem_tasks'
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec)
task default: :spec
desc 'Release gem and create GitHub release'
task github_release: :release do
require 'grape_logging/version'
version = "v#{GrapeLogging::VERSION}"
# Check if gh CLI is available
unless system('which gh > /dev/null 2>&1')
puts "\n⚠️ GitHub CLI (gh) not found"
puts "To create a GitHub release with auto-generated changelog, install gh:"
puts " brew install gh # macOS with Homebrew"
puts " # or visit: https://github.com/cli/cli#installation"
puts "\nYou can manually create the release with:"
puts " gh release create v#{GrapeLogging::VERSION} --generate-notes"
next
end
# Create GitHub release
puts "\nCreating GitHub release #{version}..."
if system('gh', 'release', 'create', version, '--generate-notes', '--verify-tag')
puts "✅ GitHub release #{version} created successfully"
else
puts "❌ Failed to create GitHub release"
puts "You can manually create it with:"
puts " gh release create '#{version}' --generate-notes --verify-tag"
end
end