[pull] master from ruby:master#1162
Merged
Merged
Conversation
…ling The fake forced the RUBY of mkmf-generated Makefiles to baseruby. When baseruby is an older release than the source tree (e.g. on mswin, where the tree is ahead of the latest release), building the bundler spec's native test gems fails rbconfig's version check against the freshly built standard library. test-bundler[-parallel] only runs on native builds, so the just-built ruby is available there and matches the tree. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
On Windows the freshly built ruby often has no usable default CA bundle because its OpenSSL's OPENSSLDIR does not exist, so HTTPS fails in tests such as test-bundler, which downloads from rubygems.org over TLS. Fall back to the CA bundle of baseruby (the installed ruby the build was bootstrapped with) unless the caller already configured SSL_CERT_FILE/SSL_CERT_DIR. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The make jobserver is a GNU make feature. On Windows extensions are built with nmake, which has no `-j` jobserver, so the per-gem slot count these examples assert never appears in the build output. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…_parser_spec The spec built the expected checksum location with `Bundler.default_lockfile.relative_path_from(Dir.pwd)`, which raises on Windows when the lockfile and the working directory are on different drives. The parser itself uses `SharedHelpers.relative_lockfile_path`, which falls back to the absolute path in that case, so mirror it to stay consistent and drive-safe. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
A few examples set up the temp home, bundled app or caches under the temp dir and then look them up relative to the source tree. On Windows there is no relative path between different drives, so these cannot be set up correctly when the temp dir and the source tree live on different drives. Add a `tmp_and_source_on_different_drives?` helper to support/path.rb and skip those examples in that case. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Different drives only exist on Windows, so short-circuit the predicate there instead of relying on the absence of a drive letter on other platforms. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The make jobserver is a GNU make feature. On Windows extensions are built with nmake, which has no `-j` jobserver, and an inherited `-j` MAKEFLAGS even breaks nmake, so the per-gem slot count these examples assert never appears. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
These exec extensionless commands (`erb`, the source `bin/gem`) the same way the other examples in this file already skipped for rubygems#3351, which Windows cannot run directly. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The example deliberately builds a very long cache path to exercise the path-shortening logic. Windows without long path support cannot create it, so skip it there. Also guard the manual cleanup so the skipped example does not raise in its ensure block. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
On the current mswin platform the gem restricted to legacy windows platforms is not cached, so the expectation cannot hold. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The raygun-apm fixture provides linux, darwin and mingw variants but no x64-mswin64 one, so resolution conflicts on the current platform. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
These assert the GNU make `-L` libpath flag, but on Windows the extension's Makefile is generated for MSVC and uses `-libpath:` instead. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bundler's spec helpers walk up from the working directory looking for a `.bundle` directory, stopping at the first ancestor that contains a `tmp` directory (Bundler::SharedHelpers#search_up). On Windows the test temp dir lives under the user home (%LOCALAPPDATA%\Temp), so the search escaped the sandbox and picked up the real ~/.bundle, breaking config, cache and other specs. Create a `tmp` marker at the temp root so the search stops there. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Native extension builds spawned by the specs can exceed the 60-second command timeout on Windows when the temp dir lives under the user profile, so allow 120 seconds there. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The sandbox marker created at the temp root is ours, so the END block must remove it before Dir.rmdir(tmpdir); otherwise that call always fails with ENOTEMPTY and a clean run looks like it left files behind. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
These specs guard limitations specific to the mswin build: nmake has no make jobserver, the generated Makefile uses MSVC `-libpath:` syntax, extensionless executables cannot be exec'd, and the raygun-apm fixture only ships an x64-mswin64 variant. The mingw build passes them, so match the platform string directly instead of Gem.win_platform?, which is also true on mingw. The MAX_PATH and cross-drive guards stay on Gem.win_platform? since those limitations are not specific to mswin. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…xtures/tapioca Bumps [yard](https://yardoc.org) from 0.9.42 to 0.9.44. --- updated-dependencies: - dependency-name: yard dependency-version: 0.9.44 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> ruby/rubygems@b8e687623c
These specs were authored directly in ruby/ruby, where this rubocop
config does not lint them, so they reached for `/mswin/.match?` and a
`%r{}` literal that Performance/StringInclude and Style/RegexpLiteral
flag here. Align them with the equivalent `include?`/`//` forms.
ruby/rubygems@22ebbb0cc7
The forward-ported specs repeated RUBY_PLATFORM.include?("mswin") to gate
limitations specific to the nmake/MSVC build. Extract it into a
Spec::Platforms predicate so the make jobserver skip and the other Windows
skips share one definition.
ruby/rubygems@b384022119
The platform-conflict lock spec skipped on mswin because the raygun-apm fixture only built linux, darwin, and mingw variants. Add an x64-mswin64 build so the local platform resolves and the example runs there too. ruby/rubygems@ff8601ff12
…tens the path The guard recomputed the basename slice from the trimmed suffix, so when the basename was long enough to be truncated it grew back by exactly the bytes removed from the suffix and the path length never changed. Slice the basename once up front and trim that already-sliced value after the suffix, so the temporary path is brought within MAX_PATH instead of staying put. ruby/rubygems@1fc7ff87ba
Bumps [github.com/microsoft/vcpkg](https://github.com/microsoft/vcpkg) from master to 2026.06.24. This release includes the previously tagged commit. - [Release notes](https://github.com/microsoft/vcpkg/releases) - [Commits](microsoft/vcpkg@f3e1065...cd61e1e) --- updated-dependencies: - dependency-name: github.com/microsoft/vcpkg dependency-version: 2026.06.24 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps the github-actions group with 5 updates in the / directory: | Package | From | To | | --- | --- | --- | | [actions-rust-lang/setup-rust-toolchain](https://github.com/actions-rust-lang/setup-rust-toolchain) | `1.16.1` | `1.17.0` | | [actions/cache](https://github.com/actions/cache) | `5.0.5` | `6.1.0` | | [actions/cache/restore](https://github.com/actions/cache) | `5.0.5` | `6.1.0` | | [actions/cache/save](https://github.com/actions/cache) | `5.0.5` | `6.1.0` | | [taiki-e/install-action](https://github.com/taiki-e/install-action) | `2.82.2` | `2.82.6` | Bumps the github-actions group with 1 update in the /.github/actions/setup/directories directory: [actions/cache](https://github.com/actions/cache). Updates `actions-rust-lang/setup-rust-toolchain` from 1.16.1 to 1.17.0 - [Release notes](https://github.com/actions-rust-lang/setup-rust-toolchain/releases) - [Changelog](https://github.com/actions-rust-lang/setup-rust-toolchain/blob/main/CHANGELOG.md) - [Commits](actions-rust-lang/setup-rust-toolchain@46268bd...166cdcf) Updates `actions/cache` from 5.0.5 to 6.1.0 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@27d5ce7...55cc834) Updates `actions/cache/restore` from 5.0.5 to 6.1.0 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@27d5ce7...55cc834) Updates `actions/cache/save` from 5.0.5 to 6.1.0 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@27d5ce7...55cc834) Updates `taiki-e/install-action` from 2.82.2 to 2.82.6 - [Release notes](https://github.com/taiki-e/install-action/releases) - [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md) - [Commits](taiki-e/install-action@9e1e580...9bcaee1) Updates `actions/cache` from 5.0.5 to 6.1.0 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@27d5ce7...55cc834) --- updated-dependencies: - dependency-name: actions-rust-lang/setup-rust-toolchain dependency-version: 1.17.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: actions/cache dependency-version: 6.1.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/cache/restore dependency-version: 6.1.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/cache/save dependency-version: 6.1.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: taiki-e/install-action dependency-version: 2.82.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: actions/cache dependency-version: 6.1.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Jeremy Evans <code@jeremyevans.net>
Co-authored-by: Jeremy Evans <code@jeremyevans.net>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )