New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Experimental] Add "gem rebuild" command. #4913
Conversation
2a23000
to
6ce49aa
Compare
This comment was marked as outdated.
This comment was marked as outdated.
Does this work with cryptographically signed gems? (see https://guides.rubygems.org/security/) |
@matiaskorhonen I haven't put in work to specifically support that, so I'd be surprised if it worked. I'm not sure what would be needed to support it. |
6ce49aa
to
bde3bc9
Compare
bde3bc9
to
429c961
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
429c961
to
a1499ca
Compare
Sorry for the slow movement on this — I've been struggling with basically-perpetual brain fog the last two months or so, and it's making it really difficult to actually work on the RubyGems codebase. I did finally get this to the point that it has a test which fails when expected to instead of passing unexpectedly, which is nice. At the moment, the test fails because it tries to download something not on RubyGems.org. I tried using the |
a1499ca
to
1cc5593
Compare
1cc5593
to
805905c
Compare
This comment was marked as outdated.
This comment was marked as outdated.
805905c
to
fbe6fcc
Compare
This comment was marked as outdated.
This comment was marked as outdated.
fbe6fcc
to
820f128
Compare
Rebased off master (c44fe8e). |
ea575d9
to
311bc30
Compare
Resolved linter errors. |
e832c13
to
d45e1d0
Compare
I'm having trouble figuring out why the tests are failing, but the
|
d45e1d0
to
166d21a
Compare
a5f3589
to
ae030c7
Compare
Extracting common code from I believe everything else y'all have requested has been addressed. |
a7deaaf
to
056e6a8
Compare
Rebased off master (1aa7252). @segiddins @deivid-rodriguez this is ready for a final review. If y'all are happy with it and CI passes, it's ready to merge. |
Rebased off master (5956bfb). Will merge if CI passes. 👍 |
@duckinator Opinions on releasing this with next patch version as experimental vs waiting to next minor? Normally I'd release it with next patch as experimental but since you've made a plugin version of it, not sure. I tend towards releasing it, just for visibility but I wanted to ask your thoughts. |
@deivid-rodriguez I think we should release it. The plugin is basically a way to "backport" the functionality to old versions, and only gets updated by a script that updates the plugin's files with ones from the RubyGems repo. The sooner the real version is out, the sooner the plugin becomes irrelevant. |
Add "gem rebuild" command. (cherry picked from commit e887efb)
Is it intentional that the downloaded and rebuilt gem files are left under |
mmmm, I think it'd be better to clean after ourselves? Thoughts @duckinator? |
leaving the files after |
What was the end-user or developer problem that led to this PR?
If a gem implements the requirements for reproducible builds, and I have a copy of the source, I want to be able to verify that the released version was built from that source.
What is your fix for the problem, implemented in this PR?
I implemented the
gem rebuild
command. See the discussion in #3118 for details.Failed example:
Make sure the following tasks are checked