This document describes the process for releasing a new version of the Volley Ruby SDK.
- Ensure all tests pass:
bundle install
bundle exec rspec-
Update version numbers:
- Update
VERSIONinlib/volley/version.rb - Update version in
volley-ruby.gemspec(if needed)
- Update
-
Update CHANGELOG.md with the new version and changes
-
Ensure code quality:
bundle exec rubocopgem build volley-ruby.gemspecThis creates a .gem file (e.g., volley-ruby-1.0.0.gem).
gem install ./volley-ruby-1.0.0.gemTest in a separate directory:
require 'volley'
client = Volley::VolleyClient.new('test-token')
# Test basic functionalitygit tag -a v1.0.0 -m "Release version 1.0.0"
git push origin v1.0.0- Go to the GitHub repository
- Click "Releases" → "Draft a new release"
- Select the tag you just created
- Add release notes (copy from CHANGELOG.md)
- Publish the release
gem push volley-ruby-1.0.0.gemNote: You need to be logged in to RubyGems. If not already logged in:
gem signinEnter your RubyGems credentials.
-
Verify the gem is available on RubyGems:
gem search volley-ruby
-
Test installation:
gem install volley-ruby
-
Verify the version:
require 'volley' puts Volley::VERSION
Follow Semantic Versioning:
- MAJOR version for incompatible API changes
- MINOR version for new functionality in a backward-compatible manner
- PATCH version for backward-compatible bug fixes
- All tests pass
- Version numbers updated
- CHANGELOG.md updated
- Code quality checks pass (RuboCop)
- Gem built and tested locally
- Git tag created and pushed
- GitHub release created
- Gem published to RubyGems
- Package available on RubyGems.org
- Documentation updated (if needed)
- Announcement posted (if major release)
If gem push fails with authentication errors:
- Check you're logged in:
gem signin - Verify your credentials are correct
- Check if the gem name is already taken (should be
volley-ruby)
If you get an error that the version already exists:
- Check RubyGems.org to see if the version is already published
- If it's a mistake, you'll need to yank the version:
gem yank volley-ruby -v 1.0.0 - Then republish with the correct version