diff --git a/.github/workflows/sorbet.yml b/.github/workflows/sorbet.yml index d87bf16cdc..72902fade0 100644 --- a/.github/workflows/sorbet.yml +++ b/.github/workflows/sorbet.yml @@ -16,7 +16,7 @@ permissions: jobs: tapioca: if: github.repository == 'Homebrew/brew' - runs-on: macos-latest + runs-on: macos-12 steps: - name: Set up Homebrew id: set-up-homebrew diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7e70a50763..e01422163a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -49,7 +49,7 @@ jobs: vale docs/ tap-syntax: - name: tap syntax (Linux) + name: tap syntax needs: syntax if: startsWith(github.repository, 'Homebrew/') runs-on: ubuntu-22.04 @@ -145,7 +145,7 @@ jobs: homebrew/cask-versions vendored-gems: - name: vendored gems (Linux) + name: vendored gems runs-on: ubuntu-22.04 steps: - name: Set up Homebrew @@ -222,16 +222,23 @@ jobs: tests: name: ${{ matrix.name }} needs: syntax - runs-on: ubuntu-22.04 + runs-on: ${{ matrix.runs-on }} strategy: matrix: include: - name: tests (no-compatibility mode) test-flags: --no-compat --online --coverage + runs-on: ubuntu-22.04 - name: tests (generic OS) test-flags: --generic --online --coverage - - name: tests (Linux) + runs-on: ubuntu-22.04 + - name: tests (Ubuntu 22.04) test-flags: --online --coverage + runs-on: ubuntu-22.04 + # Enable later once this can be fixed. + # - name: tests (Ubuntu 18.04) + # test-flags: --online --coverage + # runs-on: ubuntu-18.04 steps: - name: Set up Homebrew id: set-up-homebrew @@ -274,10 +281,19 @@ jobs: files: Library/Homebrew/test/coverage/coverage.xml test-default-formula-linux: - name: test default formula (Linux) - runs-on: ubuntu-22.04 + name: ${{ matrix.name }} + runs-on: ${{ matrix.runs-on }} env: HOMEBREW_BOOTSNAP: 1 + strategy: + matrix: + include: + - name: test default formula (Ubuntu 22.04) + test-flags: --online --coverage + runs-on: ubuntu-22.04 + - name: test default formula (Ubuntu 18.04) + test-flags: --online --coverage + runs-on: ubuntu-18.04 steps: - name: Set up Homebrew id: set-up-homebrew @@ -291,7 +307,7 @@ jobs: name: test everything (macOS) needs: syntax if: startsWith(github.repository, 'Homebrew/') - runs-on: macos-latest + runs-on: macos-12 env: HOMEBREW_BOOTSNAP: 1 steps: diff --git a/.github/workflows/vendor-gems.yml b/.github/workflows/vendor-gems.yml index 00a12b3127..08ec0ded89 100644 --- a/.github/workflows/vendor-gems.yml +++ b/.github/workflows/vendor-gems.yml @@ -21,7 +21,7 @@ jobs: contains(github.event.pull_request.title, '/Library/Homebrew') ) ) - runs-on: macos-latest + runs-on: macos-12 steps: - name: Set up Homebrew id: set-up-homebrew diff --git a/Library/Homebrew/Gemfile.lock b/Library/Homebrew/Gemfile.lock index f10a0c35b1..b591ab4a9b 100644 --- a/Library/Homebrew/Gemfile.lock +++ b/Library/Homebrew/Gemfile.lock @@ -67,7 +67,7 @@ GEM mini_portile2 (~> 2.8.0) racc (~> 1.4) parallel (1.22.1) - parallel_tests (3.12.1) + parallel_tests (3.13.0) parallel parlour (8.0.0) commander (~> 4.5) diff --git a/Library/Homebrew/dev-cmd/dispatch-build-bottle.rb b/Library/Homebrew/dev-cmd/dispatch-build-bottle.rb index 4fd2780245..7385e5a8ba 100644 --- a/Library/Homebrew/dev-cmd/dispatch-build-bottle.rb +++ b/Library/Homebrew/dev-cmd/dispatch-build-bottle.rb @@ -69,7 +69,7 @@ module Homebrew end if args.linux? - runners << "ubuntu-latest" + runners << "ubuntu-22.04" elsif args.linux_self_hosted? runners << "linux-self-hosted-1" end diff --git a/Library/Homebrew/dev-cmd/tap-new.rb b/Library/Homebrew/dev-cmd/tap-new.rb index f09775fd0b..54f9bfad50 100644 --- a/Library/Homebrew/dev-cmd/tap-new.rb +++ b/Library/Homebrew/dev-cmd/tap-new.rb @@ -74,7 +74,7 @@ module Homebrew test-bot: strategy: matrix: - os: [ubuntu-latest, macos-latest] + os: [ubuntu-22.04, macos-12] runs-on: ${{ matrix.os }} steps: - name: Set up Homebrew @@ -119,7 +119,7 @@ module Homebrew jobs: pr-pull: if: contains(github.event.pull_request.labels.*.name, '#{label}') - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - name: Set up Homebrew uses: Homebrew/actions/setup-homebrew@master diff --git a/Library/Homebrew/extend/os/linux/install.rb b/Library/Homebrew/extend/os/linux/install.rb index 6bf944c08e..2202386424 100644 --- a/Library/Homebrew/extend/os/linux/install.rb +++ b/Library/Homebrew/extend/os/linux/install.rb @@ -20,9 +20,6 @@ module Homebrew ].freeze private_constant :DYNAMIC_LINKERS - PREFERRED_GCC_RUNTIME_VERSION = OS::LINUX_PREFERRED_GCC_RUNTIME_FORMULA.split("@").last.freeze - private_constant :PREFERRED_GCC_RUNTIME_VERSION - # We link GCC runtime libraries that are not specificaly used for Fortran, # which are linked by the GCC formula. We only use the versioned shared libraries # as the other shared and static libraries are only used at build time where @@ -97,11 +94,13 @@ module Homebrew # Add gcc to ld search paths ld_gcc_conf = ld_so_conf_d/"50-homebrew-preferred-gcc.conf" - unless ld_gcc_conf.exist? - ld_gcc_conf.atomic_write <<~EOS - # This file is generated by Homebrew. Do not modify. - #{gcc_opt_prefix}/lib/gcc/#{PREFERRED_GCC_RUNTIME_VERSION} - EOS + ld_gcc_conf_content = <<~EOS + # This file is generated by Homebrew. Do not modify. + #{gcc_opt_prefix}/lib/gcc/current + EOS + + if !ld_gcc_conf.exist? || (ld_gcc_conf.read != ld_gcc_conf_content) + ld_gcc_conf.atomic_write ld_gcc_conf_content FileUtils.chmod "u=rw,go-wx", ld_gcc_conf FileUtils.rm_f HOMEBREW_PREFIX/"etc/ld.so.cache" @@ -118,7 +117,7 @@ module Homebrew # Remove legacy symlinks FileUtils.rm gcc_library_symlink if gcc_library_symlink.symlink? else - gcc_library = gcc_opt_prefix/"lib/gcc/#{PREFERRED_GCC_RUNTIME_VERSION}/#{library}" + gcc_library = gcc_opt_prefix/"lib/gcc/current/#{library}" # Skip if the link target doesn't exist. next unless gcc_library.readable? diff --git a/Library/Homebrew/os.rb b/Library/Homebrew/os.rb index a36363695f..13ee649519 100644 --- a/Library/Homebrew/os.rb +++ b/Library/Homebrew/os.rb @@ -51,7 +51,7 @@ module OS LINUX_GLIBC_NEXT_CI_VERSION = "2.35" LINUX_GCC_CI_VERSION = "11.0" LINUX_PREFERRED_GCC_COMPILER_FORMULA = "gcc@11" # https://packages.ubuntu.com/jammy/gcc - LINUX_PREFERRED_GCC_RUNTIME_FORMULA = "gcc@12" # https://packages.ubuntu.com/jammy/libstdc++6 + LINUX_PREFERRED_GCC_RUNTIME_FORMULA = "gcc" if OS.mac? require "os/mac" diff --git a/Library/Homebrew/sorbet/rbi/gems/parallel_tests@3.12.1.rbi b/Library/Homebrew/sorbet/rbi/gems/parallel_tests@3.13.0.rbi similarity index 100% rename from Library/Homebrew/sorbet/rbi/gems/parallel_tests@3.12.1.rbi rename to Library/Homebrew/sorbet/rbi/gems/parallel_tests@3.13.0.rbi diff --git a/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi b/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi index edc5f3f69c..805375a547 100644 --- a/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi +++ b/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi @@ -1598,8 +1598,6 @@ end class Errno::EBADRPC end -Errno::ECAPMODE = Errno::NOERROR - Errno::EDEADLOCK = Errno::NOERROR class Errno::EDEVERR @@ -1620,13 +1618,6 @@ end Errno::EIPSEC = Errno::NOERROR -class Errno::ELAST - Errno = ::T.let(nil, ::T.untyped) -end - -class Errno::ELAST -end - class Errno::ENEEDAUTH Errno = ::T.let(nil, ::T.untyped) end @@ -1648,8 +1639,6 @@ end class Errno::ENOPOLICY end -Errno::ENOTCAPABLE = Errno::NOERROR - class Errno::ENOTSUP Errno = ::T.let(nil, ::T.untyped) end @@ -1692,7 +1681,12 @@ end class Errno::EPWROFF end -Errno::EQFULL = Errno::ELAST +class Errno::EQFULL + Errno = ::T.let(nil, ::T.untyped) +end + +class Errno::EQFULL +end class Errno::ERPCMISMATCH Errno = ::T.let(nil, ::T.untyped) @@ -3028,6 +3022,14 @@ class Integer def to_bn(); end end +class JSON::Ext::Generator::State + def escape_slash(); end + + def escape_slash=(escape_slash); end + + def escape_slash?(); end +end + class JSON::Ext::Generator::State def self.from_state(arg); end end @@ -3534,6 +3536,7 @@ class Object def stub(name, val_or_callable, *block_args, **block_kwargs, &block); end def to_yaml(options=T.unsafe(nil)); end + APPLE_GEM_HOME = ::T.let(nil, ::T.untyped) APPLY_A = ::T.let(nil, ::T.untyped) APPLY_B = ::T.let(nil, ::T.untyped) APPLY_C = ::T.let(nil, ::T.untyped) @@ -3614,6 +3617,8 @@ class Object RUBY_DESCRIPTION = ::T.let(nil, ::T.untyped) RUBY_ENGINE = ::T.let(nil, ::T.untyped) RUBY_ENGINE_VERSION = ::T.let(nil, ::T.untyped) + RUBY_FRAMEWORK = ::T.let(nil, ::T.untyped) + RUBY_FRAMEWORK_VERSION = ::T.let(nil, ::T.untyped) RUBY_PATCHLEVEL = ::T.let(nil, ::T.untyped) RUBY_PATH = ::T.let(nil, ::T.untyped) RUBY_PLATFORM = ::T.let(nil, ::T.untyped) @@ -3665,11 +3670,7 @@ class OpenSSL::KDF::KDFError end module OpenSSL::KDF - def self.hkdf(*arg); end - def self.pbkdf2_hmac(*arg); end - - def self.scrypt(*arg); end end class OpenSSL::OCSP::Request @@ -3678,29 +3679,20 @@ end OpenSSL::PKCS7::Signer = OpenSSL::PKCS7::SignerInfo -class OpenSSL::PKey::EC - EXPLICIT_CURVE = ::T.let(nil, ::T.untyped) -end - class OpenSSL::PKey::EC::Point def to_octet_string(arg); end end module OpenSSL::SSL - OP_ALLOW_NO_DHE_KEX = ::T.let(nil, ::T.untyped) OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION = ::T.let(nil, ::T.untyped) OP_CRYPTOPRO_TLSEXT_BUG = ::T.let(nil, ::T.untyped) OP_LEGACY_SERVER_CONNECT = ::T.let(nil, ::T.untyped) - OP_NO_ENCRYPT_THEN_MAC = ::T.let(nil, ::T.untyped) - OP_NO_RENEGOTIATION = ::T.let(nil, ::T.untyped) - OP_NO_TLSv1_3 = ::T.let(nil, ::T.untyped) OP_SAFARI_ECDHE_ECDSA_BUG = ::T.let(nil, ::T.untyped) OP_TLSEXT_PADDING = ::T.let(nil, ::T.untyped) SSL2_VERSION = ::T.let(nil, ::T.untyped) SSL3_VERSION = ::T.let(nil, ::T.untyped) TLS1_1_VERSION = ::T.let(nil, ::T.untyped) TLS1_2_VERSION = ::T.let(nil, ::T.untyped) - TLS1_3_VERSION = ::T.let(nil, ::T.untyped) TLS1_VERSION = ::T.let(nil, ::T.untyped) end @@ -3713,8 +3705,6 @@ class OpenSSL::SSL::SSLContext def alpn_select_cb=(alpn_select_cb); end - def enable_fallback_scsv(); end - def max_version=(version); end def min_version=(version); end @@ -6272,6 +6262,7 @@ class Socket IPV6_PATHMTU = ::T.let(nil, ::T.untyped) IPV6_RECVPATHMTU = ::T.let(nil, ::T.untyped) IPV6_USE_MIN_MTU = ::T.let(nil, ::T.untyped) + IP_DONTFRAG = ::T.let(nil, ::T.untyped) IP_PORTRANGE = ::T.let(nil, ::T.untyped) IP_RECVDSTADDR = ::T.let(nil, ::T.untyped) IP_RECVIF = ::T.let(nil, ::T.untyped) @@ -6363,6 +6354,7 @@ module Socket::Constants IPV6_PATHMTU = ::T.let(nil, ::T.untyped) IPV6_RECVPATHMTU = ::T.let(nil, ::T.untyped) IPV6_USE_MIN_MTU = ::T.let(nil, ::T.untyped) + IP_DONTFRAG = ::T.let(nil, ::T.untyped) IP_PORTRANGE = ::T.let(nil, ::T.untyped) IP_RECVDSTADDR = ::T.let(nil, ::T.untyped) IP_RECVIF = ::T.let(nil, ::T.untyped) diff --git a/Library/Homebrew/vendor/bundle/bundler/setup.rb b/Library/Homebrew/vendor/bundle/bundler/setup.rb index a9e66b4cfc..bc852753d8 100644 --- a/Library/Homebrew/vendor/bundle/bundler/setup.rb +++ b/Library/Homebrew/vendor/bundle/bundler/setup.rb @@ -57,7 +57,7 @@ $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/mechanize-2.8.5/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/method_source-1.0.0/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/mustache-1.1.1/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/parallel-1.22.1/lib" -$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/parallel_tests-3.12.1/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/parallel_tests-3.13.0/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/parser-3.1.2.1/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rainbow-3.1.1/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/sorbet-runtime-0.5.10175/lib" diff --git a/README.md b/README.md index 2f36008b47..c2298a7cec 100644 --- a/README.md +++ b/README.md @@ -85,6 +85,6 @@ Flaky test detection and tracking is provided by [BuildPulse](https://buildpulse [![DNSimple](https://cdn.dnsimple.com/assets/resolving-with-us/logo-light.png)](https://dnsimple.com/resolving/homebrew#gh-light-mode-only) [![DNSimple](https://cdn.dnsimple.com/assets/resolving-with-us/logo-dark.png)](https://dnsimple.com/resolving/homebrew#gh-dark-mode-only) -Homebrew is generously supported by [GitHub](https://github.com/github), [Custom Ink](https://github.com/customink), [Randy Reddig](https://github.com/ydnar), [Christian (Xian) M. Lilley](https://github.com/xml), [Codecademy](https://github.com/Codecademy), [David Fernandez](https://github.com/lidstromberg), [Appwrite](https://github.com/appwrite), [Mercedes-Benz Group](https://github.com/mercedes-benz), [embark-studios](https://github.com/embark-studios) and many other users and organisations via [GitHub Sponsors](https://github.com/sponsors/Homebrew). +Homebrew is generously supported by [GitHub](https://github.com/github), [Custom Ink](https://github.com/customink), [Randy Reddig](https://github.com/ydnar), [Codecademy](https://github.com/Codecademy), [Appwrite](https://github.com/appwrite), [Mercedes-Benz Group](https://github.com/mercedes-benz), [embark-studios](https://github.com/embark-studios) and many other users and organisations via [GitHub Sponsors](https://github.com/sponsors/Homebrew). [![GitHub](https://github.com/github.png?size=64)](https://github.com/github)