From f29c271cc3c76afeda7571fa210dddd656822ecc Mon Sep 17 00:00:00 2001 From: Matt Perpick Date: Sat, 25 Oct 2025 16:40:42 -0400 Subject: [PATCH 1/3] fix release deps order - changeog was getting deleted --- Rakefile | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/Rakefile b/Rakefile index 5e279eef..ccff9cc4 100644 --- a/Rakefile +++ b/Rakefile @@ -174,17 +174,18 @@ namespace :release do sh "bash scripts/validate-release-tag.sh" end - task :publish do + task publish: ["release:validate", :lint, :build] do gem_files = FileList["braintrust-*.gem"] if gem_files.empty? - puts "Error: No gem file found. Run 'rake build' first." + puts "Error: No gem file found. Build task should have created it." exit 1 elsif gem_files.length > 1 - puts "Error: Multiple gem files found. Run 'rake clean' first." + puts "Error: Multiple gem files found. Clean task should have removed them." puts "Found: #{gem_files.join(", ")}" exit 1 end sh "gem push #{gem_files.first}" + puts "✓ Gem pushed to RubyGems" end task :changelog do @@ -192,12 +193,7 @@ namespace :release do puts "✓ Changelog generated: changelog.md" end - task :github do - unless File.exist?("changelog.md") - puts "Error: changelog.md not found. Run 'rake release:changelog' first." - exit 1 - end - + task github: [:changelog] do require_relative "lib/braintrust/version" tag = "v#{Braintrust::VERSION}" @@ -240,6 +236,6 @@ namespace :release do end end -task release: ["release:validate", :lint, "release:changelog", :build, "release:publish", "release:github"] do +task release: ["release:publish", "release:github"] do puts "✓ Release completed successfully!" end From 391acbbf9e33ec817384014d41c5f3a0188382a0 Mon Sep 17 00:00:00 2001 From: Matt Perpick Date: Sat, 25 Oct 2025 16:43:50 -0400 Subject: [PATCH 2/3] fix release title --- Rakefile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Rakefile b/Rakefile index ccff9cc4..0ad16d65 100644 --- a/Rakefile +++ b/Rakefile @@ -197,8 +197,14 @@ namespace :release do require_relative "lib/braintrust/version" tag = "v#{Braintrust::VERSION}" - sh "gh release create #{tag} --title 'Release #{tag}' --notes-file changelog.md" + sh "gh release create #{tag} --title '#{tag}' --notes-file changelog.md" + + # Get the repository URL + repo = `gh repo view --json nameWithOwner -q .nameWithOwner`.strip + release_url = "https://github.com/#{repo}/releases/tag/#{tag}" + puts "✓ GitHub release created: #{tag}" + puts " #{release_url}" end task :prerelease do From 94ff1fc52f05869b12411b0511eaa737410beb2e Mon Sep 17 00:00:00 2001 From: Matt Perpick Date: Sat, 25 Oct 2025 16:46:06 -0400 Subject: [PATCH 3/3] fix badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5ac5ed0a..0ee1ba8b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Braintrust Ruby SDK -[![Gem Version](https://badge.fury.io/rb/braintrust.svg)](https://badge.fury.io/rb/braintrust) +[![Gem Version](https://img.shields.io/gem/v/braintrust.svg)](https://rubygems.org/gems/braintrust) [![Documentation](https://img.shields.io/badge/docs-rubydoc.info-blue.svg)](https://rubydoc.info/gems/braintrust) ![Beta](https://img.shields.io/badge/status-beta-yellow)