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
Don't leave temporary directory around when building extensions to improve build reproducibility #4610
Don't leave temporary directory around when building extensions to improve build reproducibility #4610
Conversation
|
Thanks for opening a pull request and helping make RubyGems and Bundler better! Someone from the RubyGems team will take a look at your pull request shortly and leave any feedback. Please make sure that your pull request has tests for any changes or added functionality. We use GitHub Actions to test and make sure your change works functionally and uses acceptable conventions, you can review the current progress of GitHub Actions in the PR status window below. If you have any questions or concerns that you wish to ask, feel free to leave a comment in this PR or join our #rubygems or #bundler channel on Slack. For more information about contributing to the RubyGems project feel free to review our CONTRIBUTING guide |
|
Thank you! Could you add a test to cover the fix? |
|
I can't run tests easily on my setup, the bundler in rubygems conflicts with bundler on my operating system. Feel free to contribute tests if it works for you. |
|
Sure, I'll leave this PR open for anyone who would like to wrap it up with a test. |
Because the temporary directory used is named like '.gem.YYMMDD-RANDOM' it causes reproduciblity problems. tmp_dest is rewritten which makes it impossible to collect. fixup: b97ec2a use relative path for siteconf in case of space and update relevant tests Signed-off-by: Arthur Gautier <baloo@superbaloo.net>
71057bb
to
2c2ffde
Compare
|
I hacked together a test-runner. |
|
Awesome, thanks for your work! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, thanks!
Don't leave temporary directory around when building extensions to improve build reproducibility (cherry picked from commit 2cbd904)
Don't leave temporary directory around when building extensions to improve build reproducibility (cherry picked from commit 2cbd904)
What was the end-user or developer problem that led to this PR?
rubygems was leaving empty directories like:
Because those files contains the date, this hinders build-reproducibility efforts.
This is related to the issue NixOS/nixpkgs#123718 over at NixOS.
What is your fix for the problem, implemented in this PR?
tmp_dest is rewritten which makes it impossible to collect.
fixup: b97ec2a use relative path for siteconf in case of space and update relevant tests
Make sure the following tasks are checked