diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f17db8b4eeafb7643432580387ea9c86afd83220..0a975b1834e2bbff44ab89b63d12e3785a1a26de 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -6,18 +6,21 @@ on: env: HOMEBREW_DEVELOPER: 1 HOMEBREW_NO_AUTO_UPDATE: 1 + HOMEBREW_GITHUB_ACTIONS_BIG_SUR_TESTING: 1 # TODO: remove when Big Sur is released. jobs: tests: if: github.repository == 'Homebrew/brew' runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, macOS-latest] + os: [ubuntu-latest, macOS-latest, macOS-11.0] include: - os: ubuntu-latest core-tap: 'linuxbrew-core' - os: macOS-latest core-tap: 'homebrew-core' + - os: macOS-11.0 + core-tap: 'homebrew-core' steps: - name: Set up Homebrew id: set-up-homebrew @@ -30,6 +33,10 @@ jobs: - run: brew test-bot --only-cleanup-before + - name: Set up Xcode + if: matrix.os == 'macOS-11.0' + run: sudo xcode-select --switch /Applications/Xcode_12.2.app/Contents/Developer + - run: brew config # Can't cache this because we need to check that it doesn't fail the @@ -60,7 +67,7 @@ jobs: run: brew man --fail-if-changed - name: Install brew tests dependencies - if: matrix.os == 'macOS-latest' + if: matrix.os != 'ubuntu-latest' run: | brew install subversion Library/Homebrew/shims/scm/svn --homebrew=print-path @@ -108,7 +115,7 @@ jobs: run: brew style --display-cop-names homebrew/bundle homebrew/services homebrew/test-bot - name: Run brew cask style on all taps - if: matrix.os == 'macOS-latest' + if: matrix.os != 'ubuntu-latest' run: | brew tap homebrew/cask brew tap homebrew/cask-drivers diff --git a/Library/Homebrew/extend/os/mac/diagnostic.rb b/Library/Homebrew/extend/os/mac/diagnostic.rb index 7b05358af47660bd20414f8c3a10ff14ad3d46a1..46974b7f61d31ab7925decad8e84a584fd81fd17 100644 --- a/Library/Homebrew/extend/os/mac/diagnostic.rb +++ b/Library/Homebrew/extend/os/mac/diagnostic.rb @@ -93,6 +93,9 @@ module Homebrew def check_for_unsupported_macos return if Homebrew::EnvConfig.developer? + # TODO: remove when Big Sur is released. + return if MacOS.version == :big_sur && ENV["HOMEBREW_GITHUB_ACTIONS_BIG_SUR_TESTING"] + who = +"We" if OS::Mac.prerelease? what = "pre-release version" diff --git a/Library/Homebrew/test/os/mac/diagnostic_spec.rb b/Library/Homebrew/test/os/mac/diagnostic_spec.rb index de6ed40659cd57bd752d95453c4baf042cdb8101..3528775e546f1624be0d8e28cc068487d457251a 100644 --- a/Library/Homebrew/test/os/mac/diagnostic_spec.rb +++ b/Library/Homebrew/test/os/mac/diagnostic_spec.rb @@ -6,6 +6,7 @@ require "diagnostic" describe Homebrew::Diagnostic::Checks do specify "#check_for_unsupported_macos" do ENV.delete("HOMEBREW_DEVELOPER") + allow(OS::Mac).to receive(:version).and_return(OS::Mac::Version.new("10.14")) allow(OS::Mac).to receive(:prerelease?).and_return(true) expect(subject.check_for_unsupported_macos) diff --git a/Library/Homebrew/test/spec_helper.rb b/Library/Homebrew/test/spec_helper.rb index 78d0dee36d229a03488a583bfbdad24d57a8a1c6..91697e5218a93811c94fcde8a30c98da8206a28e 100644 --- a/Library/Homebrew/test/spec_helper.rb +++ b/Library/Homebrew/test/spec_helper.rb @@ -109,7 +109,7 @@ RSpec.configure do |config| config.before(:each, :needs_java) do java_installed = if OS.mac? - Utils.popen_read("/usr/libexec/java_home", "--failfast") + Utils.popen_read("/usr/libexec/java_home", "--failfast", "--version", "1.0+") $CHILD_STATUS.success? else which("java")