8000 ruby: drop the bundled gems' mkmf.log and gem_make.out (build logs with random temp names) by bryan-minimal · Pull Request #875 · gominimal/pkgs · GitHub
[go: up one dir, main page]

Skip to content

ruby: drop the bundled gems' mkmf.log and gem_make.out (build logs with random temp names) - #875

Merged
bryan-minimal merged 1 commit into
mainfrom
ruby/drop-mkmf-log
Oct 20, 2026
Merged

bryan-minimal merged 1 commit into
mainfrom
ruby/drop-mkmf-log

Conversation

@bryan-minimal
Copy link
Copy Markdown
Member

Diffing the published ruby artifacts of two world rebuilds (build-servers early-cutoff study): 1 of 2926 files differed, usr/lib/ruby/gems/4.0.0/gems/bigdecimal-4.0.1/ext/bigdecimal/mkmf.log, because it records gcc's random /tmp/ccXXXXXX.o names. A same-host double build on the lab box showed the same single file. Everything else in ruby is byte-identical build to build.

Deletes mkmf.log and gem_make.out from the output tree after install, the same cleanup ruby-lsp already does for its gems. Nothing reads these logs at runtime.

🤖 Generated with Claude Code

… names made every build differ)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@bryan-minimal
bryan-minimal requested a review from a team as a code owner October 15, 2026 00:25
@coderabbitai
coderabbitai Bot commented Oct 15, 2026
Copy link
Copy Markdown
Contributor

Warning

Review limit reached

  • Run on-demand review

This review includes 1 billable file and costs up to $0.25.

  • Ask an admin to make reviews automatic

Open in CodeRabbit

Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing.

Or wait 57 minutes for your next included review.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available. Your 73 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: gominimal/pkgs/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: 96734b67-be8a-445f-967d-a0f7158ce7f4
📥 Commits

Reviewing files that changed from the base of the PR and between 55bb002 and bc88ff3.

📒 Files selected for processing: 1
  • packages/ruby/build.sh
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@bryan-minimal
Copy link
Copy Markdown
Member Author

Verified on the lab box: two forced builds of ruby with this recipe laid over pkgs c930e31, in separate fresh caches, produced identical trees (0 of 2919 files differ). Before the change the same double build differed in exactly one file, mkmf.log.

@norrietaylor norrietaylor left a comment
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. It's the same cleanup as packages/ruby-lsp/build.sh:24. RubyGems checks gem.build_complete, not these logs, so nothing breaks. The double build shows 0 of 2919 files differing.


Generated by Claude Code

@bryan-minimal
bryan-minimal added this pull request to the merge queue Oct 20, 2026
Merged via the queue into main with commit 3e6ea43 Oct 20, 2026
11 checks passed
@bryan-minimal
bryan-minimal deleted the ruby/drop-mkmf-log branch October 20, 2026 15:29
bryan-minimal added a commit that referenced this pull request Oct 22, 2026
…in's trust store and build cleanup

- chromedriver-bin: 155.0.8059.39 -> 155.0.8059.84, matching main's
  chromium-headless-shell-bin (#894). The version is no longer a literal:
  it is chromium-headless-shell-bin.attrs.upstream_version, the same shape
  as glibc-locale-c-utf8 and rust-arm-embedded. A browser bump now changes
  the driver's URLs, so the driver's build fails on its sha256s until they
  move in the same change, instead of shipping a driver that refuses the
  browser. matches_browser therefore checks the driver binary, the browser
  binary and the browser package's declared version against each other.
  CfT zips: linux64 4fe24330..., linux-arm64 738853f0...; both downloads'
  MD5s match the GCS object x-goog-hash, and both binaries carry the
  155.0.8059.84 version string and the BSD-3-Clause LICENSE.chromedriver.
- ruby-3.2/3.3/3.4: the drop-in siblings of `ruby` take what main gave it.
  From #957: ca-certificates in runtime_deps (after glibc) plus the
  trust_store test, per AGENTS.md "Declare the store when you read it".
  From #875: delete mkmf.log / gem_make.out after install, since they
  record gcc's random temp names and break reproducibility.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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

0