RubyGems Package Registry Beta Program: Feedback & Graduation Criteria
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Overview
We are promoting the RubyGems Package Registry from Experiment to Beta in GitLab 19.1 or 19.2. This issue serves as the central hub for the Beta program: collecting customer feedback, tracking known limitations, and defining the signal we need before graduating to GA.
For the full history and context, see &3200 - Make the RubyGems Repository Beta.
What is the RubyGems Package Registry?
The GitLab RubyGems Package Registry allows you to publish and manage Ruby gems directly within your GitLab projects. Key capabilities include:
- Publish gems via
gem pushusing personal access tokens, deploy tokens, or CI/CD job tokens - Download gems from the Package Registry UI or API
- CI/CD integration with native
CI_JOB_TOKENsupport for automated publishing - Metadata extraction for published gems
- Gem size limit of up to 3 GB
How to sign up for the Beta
No formal sign-up is required. To start using the RubyGems Package Registry Beta:
- Ensure the feature is enabled: The RubyGems registry is behind the
rubygem_packagesfeature flag. On GitLab.com, this will be enabled for Beta participants. For Self-Managed instances, an administrator must enable the flag. - Authenticate using one of the supported methods:
- Personal access token (scope:
api) - Deploy token (scope:
read_package_registryand/orwrite_package_registry) - CI/CD job token
- Personal access token (scope:
- Configure your credentials in
~/.gem/credentials:--- https://gitlab.example.com/api/v4/projects/<project_id>/packages/rubygems: '<token>' - Push a gem:
gem push my_gem-0.0.1.gem --host https://gitlab.example.com/api/v4/projects/<project_id>/packages/rubygems
Full documentation: https://docs.gitlab.com/user/packages/rubygems_registry/
How to provide feedback
We want to hear from you! Please comment directly on this issue with:
- Your use case: What are you using the RubyGems registry for? (internal gems, CI/CD publishing, mirroring, etc.)
- Environment details: GitLab.com or Self-Managed? Approximate number of gems and total size?
- What's working well: Features or workflows that meet your expectations
- Issues or bugs: Anything broken or behaving unexpectedly (please also file a separate issue with the
~"Category:Package Registry"label) - Performance observations: Upload/download speeds, latency, any timeouts or failures at scale
- Missing functionality: Features you need before you can adopt this in production
- Scale testing results: If you've tested with a large number of gems or large gem sizes, share your findings
For bugs or feature requests, please create a dedicated issue and link it here.
Known limitations (Beta)
The following are known limitations during the Beta period:
-
No: Spec file generation landed in !235239 (merged) and the spec index download endpoint is pending merge in !238982 (merged). Once merged,gem installsupportgem install/ Bundler integration will be fully supported. (See #299267 (closed)) - Feature flag gated: The feature is behind the
rubygem_packagesfeature flag and must be explicitly enabled -
Spec generation: Spec file generation is implemented and merged (!235239 (merged)). The spec index download endpoint is pending merge in !238982 (merged). (See #299267 (closed)) - Duplicate gem names/versions: Pushing a gem with the same name and version as an existing one creates a duplicate rather than rejecting or replacing it
- Database constraint issues: Some edge cases with metadata may trigger constraint violations (See #333607 (closed))
Graduation criteria: Beta to GA
We will consider the RubyGems Package Registry ready for GA when the following criteria are met:
Functionality
- All blocking child issues in &3200 are resolved
-
gem install/ Bundler integration is supported or a clear workaround is documented - Feature flag is removed and the feature is enabled by default
- Documentation is complete and reflects the production-ready state
Performance & Scale
- Verified performance at scale: publishing and downloading gems performs within acceptable latency thresholds under load
- No known P1/P2 performance-related bugs
- Tested with repositories containing 100+ gems of varying sizes
Quality & Reliability
- No open S1/S2 bugs related to the RubyGems registry
- Error rates on GitLab.com are within acceptable thresholds (aligned with Package Registry SLOs)
- No data integrity issues (metadata, gem files, dependencies)
Customer Signal
- At least 5 distinct customers/users have provided positive feedback on this issue confirming production-readiness
- No unresolved blocking feedback from Beta participants
- Usage metrics show sustained adoption (month-over-month growth in unique users publishing/downloading gems)
Related resources
- &3200 - Make the RubyGems Repository Beta
- RubyGems Package Registry Documentation
- RubyGems API Documentation
- Maven Virtual Registry Beta Program (reference for this issue's structure)
- Product Direction: Package Registry
Timeline
| Milestone | Target |
|---|---|
| Beta launch | 19.1 or 19.2 |
| Feedback collection period | 2-3 milestones post-Beta |
| GA decision | Based on graduation criteria above |