Skip to content

Add gemspec metadata and build the file list without git - #615

Merged
ls-todd-lunter merged 1 commit into
upserve:masterfrom
tas50:update-gemspec-metadata
Oct 27, 2026
Merged

ls-todd-lunter merged 1 commit into
upserve:masterfrom
tas50:update-gemspec-metadata

Conversation

@tas50

@tas50 tas50 commented Oct 24, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add RubyGems metadata. Adds source_code_uri and bug_tracker_uri, so rubygems.org links to the repo and issues. Adds rubygems_mfa_required = 'true', so future releases must be pushed with MFA, which protects against supply-chain attacks.
  • Build gem.files with Dir instead of shelling out to git ls-files. The gem now builds outside a git checkout, for example from a source tarball or in some packaging pipelines. I checked that the packaged file list is identical: every file under lib/ is .rb, plus README.md and LICENSE.
  • Use https:// for the Gemfile source. The http:// source allowed gems to be fetched over plain HTTP.

Authors and emails are unchanged.

Testing

  • gem build docker-api.gemspec succeeds.
  • git ls-files lib README.md LICENSE and the new Dir glob produce the same file list.

- Add source_code_uri, bug_tracker_uri, and rubygems_mfa_required metadata
- Build the file list with Dir instead of shelling out to git, so the gem
  builds outside a git checkout (the packaged files are unchanged)
- Use https for the Gemfile source

Signed-off-by: Tim Smith <tsmith84@proton.me>
@ls-todd-lunter
ls-todd-lunter merged commit 54f7738 into upserve:master Oct 27, 2026
61 of 62 checks passed
ls-todd-lunter added a commit that referenced this pull request Oct 27, 2026
* Declare base64 as a runtime dependency so the gem loads on Ruby 3.4+ (#605)
* Replace multi_json with the json standard library and drop the multi_json dependency (#613)
* Keep the build context inside the build directory: symlinks are archived as symlinks rather than followed, and .dockerignore patterns can no longer reach outside the directory (#611)
* Send platform as a query parameter on Container.create (#607)
* Honor stdout: false and stderr: false in Container#exec (#609)
* Request an HTTP upgrade when attaching to stdin so the attach no longer hangs (#610)
* Memoize Connection#rootless? when the daemon is not rootless (#608)
* Add gemspec metadata (source_code_uri, bug_tracker_uri, rubygems_mfa_required) and build the gem file list without git (#615)
* Fix and update README examples and streaming read_timeout docs (#606, #585, #592)
* Fix CI, test through Ruby 4.0 and Docker 28 and 29, and remove Travis, Code Climate and unmaintained test image leftovers (#604, #605, #614, #616)
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.

2 participants