Skip to content

Commit c218aab

Browse files
Merge pull request #7962 from rubygems/release/bundler_2.5.18_rubygems_3.5.18
Prepare RubyGems 3.5.18 and Bundler 2.5.18
2 parents 74d92b2 + bd03445 commit c218aab

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+457
-106
lines changed

.github/dependabot.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ updates:
1111
- package-ecosystem: 'cargo'
1212
directories:
1313
- '/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib'
14-
- '/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/'
14+
- '/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example'
1515
schedule:
1616
interval: 'weekly'

.github/workflows/install-rubygems.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ jobs:
111111
ruby-version: ${{ matrix.ruby.value }}
112112
bundler: none
113113
- name: Setup java
114-
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
114+
uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 # v4.2.2
115115
with:
116116
distribution: temurin
117117
java-version: 19.0.2

.github/workflows/jruby-bundler.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
ruby-version: jruby-9.4.8.0
4040
bundler: none
4141
- name: Setup java
42-
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
42+
uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 # v4.2.2
4343
with:
4444
distribution: temurin
4545
java-version: 19.0.2

.github/workflows/realworld-bundler.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ jobs:
5757
- name: Run Test
5858
run: bin/rake spec:realworld
5959
- name: Upload used cassettes as artifact
60-
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
60+
uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029 # v4.3.5
6161
with:
6262
name: cassettes-bundler-${{ matrix.bundler.name }}-${{ matrix.os.value }}-${{ matrix.ruby.name }}
6363
path: ./bundler/spec/support/artifice/used_cassettes.txt
@@ -93,7 +93,7 @@ jobs:
9393
- name: Run Test
9494
run: bin/rake spec:realworld
9595
- name: Upload used cassettes as artifact
96-
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
96+
uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029 # v4.3.5
9797
with:
9898
name: cassettes-system-rubygems-bundler-${{ matrix.bundler.name }}-${{ matrix.ruby.name }}
9999
path: ./bundler/spec/support/artifice/used_cassettes.txt

.github/workflows/scorecards.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,6 @@ jobs:
4949

5050
# Upload the results to GitHub's code scanning dashboard.
5151
- name: "Upload to code-scanning"
52-
uses: github/codeql-action/upload-sarif@afb54ba388a7dca6ecae48f608c4ff05ff4cc77a # v3.25.15
52+
uses: github/codeql-action/upload-sarif@883d8588e56d1753a8a58c1c86e88976f0c23449 # v3.26.3
5353
with:
5454
sarif_file: results.sarif

.github/workflows/spell.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@ jobs:
1616
runs-on: ubuntu-latest
1717
steps:
1818
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
19-
- uses: codespell-project/actions-codespell@94259cd8be02ad2903ba34a22d9c13de21a74461 # v2.0
19+
- uses: codespell-project/actions-codespell@406322ec52dd7b488e48c1c4b82e2a8b3a1bf630 # v2.1

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
# 3.5.18 / 2024-08-26
2+
3+
## Enhancements:
4+
5+
* Installs bundler 2.5.18 as a default gem.
6+
7+
## Bug fixes:
8+
9+
* Fix `gem uninstall <name>:<version>` failing on shadowed default gems.
10+
Pull request [#7949](https://github.com/rubygems/rubygems/pull/7949) by
11+
deivid-rodriguez
12+
113
# 3.5.17 / 2024-08-01
214

315
## Enhancements:

bundler/CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,21 @@
1+
# 2.5.18 (August 26, 2024)
2+
3+
## Enhancements:
4+
5+
- Don't remove existing platform gems when PLATFORMS section is badly indented [#7916](https://github.com/rubygems/rubygems/pull/7916)
6+
7+
## Bug fixes:
8+
9+
- Fix error message when Bundler refuses to install due to frozen being set without a lockfile [#7955](https://github.com/rubygems/rubygems/pull/7955)
10+
- Fix several issues with the `--prefer-local` flag [#7951](https://github.com/rubygems/rubygems/pull/7951)
11+
- Restore support for passing relative paths to `git:` sources [#7950](https://github.com/rubygems/rubygems/pull/7950)
12+
- Regenerate previous git application caches that didn't include bare repos [#7926](https://github.com/rubygems/rubygems/pull/7926)
13+
- Fix `bundle update <indirect_dep>` failing to upgrade when versions present in two different sources [#7915](https://github.com/rubygems/rubygems/pull/7915)
14+
15+
## Documentation:
16+
17+
- Change new gem README template to have copyable code blocks [#7935](https://github.com/rubygems/rubygems/pull/7935)
18+
119
# 2.5.17 (August 1, 2024)
220

321
## Enhancements:

bundler/lib/bundler/cli/install.rb

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,10 @@ def run
2525

2626
if options[:deployment] || options[:frozen] || Bundler.frozen_bundle?
2727
unless Bundler.default_lockfile.exist?
28-
flag = "--deployment flag" if options[:deployment]
29-
flag ||= "--frozen flag" if options[:frozen]
30-
flag ||= "deployment setting"
28+
flag = "--deployment flag" if options[:deployment]
29+
flag ||= "--frozen flag" if options[:frozen]
30+
flag ||= "deployment setting" if Bundler.settings[:deployment]
31+
flag ||= "frozen setting" if Bundler.settings[:frozen]
3132
raise ProductionError, "The #{flag} requires a lockfile. Please make " \
3233
"sure you have checked your #{SharedHelpers.relative_lockfile_path} into version control " \
3334
"before deploying."

bundler/lib/bundler/definition.rb

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,7 @@ def missing_specs?
214214
@resolve = nil
215215
@resolver = nil
216216
@resolution_packages = nil
217+
@source_requirements = nil
217218
@specs = nil
218219

219220
Bundler.ui.debug "The definition is missing dependencies, failed to resolve & materialize locally (#{e})"
@@ -476,9 +477,6 @@ def most_specific_locked_platform
476477
end
477478
end
478479

479-
attr_reader :sources
480-
private :sources
481-
482480
def nothing_changed?
483481
return false unless lockfile_exists?
484482

@@ -502,8 +500,12 @@ def unlocking?
502500
@unlocking
503501
end
504502

503+
attr_writer :source_requirements
504+
505505
private
506506

507+
attr_reader :sources
508+
507509
def should_add_extra_platforms?
508510
!lockfile_exists? && generic_local_platform_is_ruby? && !Bundler.settings[:force_ruby_platform]
509511
end
@@ -569,7 +571,7 @@ def resolution_packages
569571
@resolution_packages ||= begin
570572
last_resolve = converge_locked_specs
571573
remove_invalid_platforms!
572-
packages = Resolver::Base.new(source_requirements, expanded_dependencies, last_resolve, @platforms, locked_specs: @originally_locked_specs, unlock: @gems_to_unlock, prerelease: gem_version_promoter.pre?)
574+
packages = Resolver::Base.new(source_requirements, expanded_dependencies, last_resolve, @platforms, locked_specs: @originally_locked_specs, unlock: @gems_to_unlock, prerelease: gem_version_promoter.pre?, prefer_local: @prefer_local)
573575
packages = additional_base_requirements_to_prevent_downgrades(packages, last_resolve)
574576
packages = additional_base_requirements_to_force_updates(packages)
575577
packages
@@ -653,19 +655,6 @@ def precompute_source_requirements_for_indirect_dependencies?
653655
sources.non_global_rubygems_sources.all?(&:dependency_api_available?) && !sources.aggregate_global_source?
654656
end
655657

656-
def pin_locally_available_names(source_requirements)
657-
source_requirements.each_with_object({}) do |(name, original_source), new_source_requirements|
658-
local_source = original_source.dup
659-
local_source.local_only!
660-
661-
new_source_requirements[name] = if local_source.specs.search(name).any?
662-
local_source
663-
else
664-
original_source
665-
end
666-
end
667-
end
668-
669658
def current_platform_locked?
670659
@platforms.any? do |bundle_platform|
671660
MatchPlatform.platforms_match?(bundle_platform, local_platform)
@@ -972,12 +961,15 @@ def metadata_dependencies
972961
end
973962

974963
def source_requirements
964+
@source_requirements ||= find_source_requirements
965+
end
966+
967+
def find_source_requirements
975968
# Record the specs available in each gem's source, so that those
976969
# specs will be available later when the resolver knows where to
977970
# look for that gemspec (or its dependencies)
978971
source_requirements = if precompute_source_requirements_for_indirect_dependencies?
979972
all_requirements = source_map.all_requirements
980-
all_requirements = pin_locally_available_names(all_requirements) if @prefer_local
981973
{ default: default_source }.merge(all_requirements)
982974
else
983975
{ default: Source::RubygemsAggregate.new(sources, source_map) }.merge(source_map.direct_requirements)
@@ -1053,6 +1045,7 @@ def additional_base_requirements_to_force_updates(resolution_packages)
10531045

10541046
def dup_for_full_unlock
10551047
unlocked_definition = self.class.new(@lockfile, @dependencies, @sources, true, @ruby_version, @optional_groups, @gemfiles)
1048+
unlocked_definition.source_requirements = source_requirements
10561049
unlocked_definition.gem_version_promoter.tap do |gvp|
10571050
gvp.level = gem_version_promoter.level
10581051
gvp.strict = gem_version_promoter.strict

0 commit comments

Comments
 (0)