diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 5561c53215..2ccec5248b 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -11,15 +11,25 @@ jobs: os: [ubuntu-latest, macOS-latest] steps: - name: Set up Git repository - uses: actions/checkout@master + uses: actions/checkout@v1 - name: Set up Homebrew run: | if [ "$RUNNER_OS" = "Linux" ]; then - HOMEBREW_REPOSITORY=/home/linuxbrew/.linuxbrew - sudo mkdir -p /home/linuxbrew - sudo ln -s "$PWD" "$HOMEBREW_REPOSITORY" + HOMEBREW_REPOSITORY=/home/linuxbrew/.linuxbrew/Homebrew + sudo mkdir -p /home/linuxbrew/.linuxbrew + cd .. + sudo mv "brew" "$HOMEBREW_REPOSITORY" + sudo ln -s "$HOMEBREW_REPOSITORY" "brew" + cd /home/linuxbrew/.linuxbrew + sudo mkdir -p bin etc include lib opt sbin share var/homebrew/linked Cellar + sudo ln -s ../Homebrew/bin/brew /home/linuxbrew/.linuxbrew/bin/ sudo chown -R "$USER" /home/linuxbrew + export PATH="/home/linuxbrew/.linuxbrew/bin:/usr/local/bin:/usr/bin:/bin" + + # Install taps needed for 'brew tests' + export HOMEBREW_NO_AUTO_UPDATE=1 + brew tap homebrew/bundle else HOMEBREW_REPOSITORY="$(brew --repo)" mv "$HOMEBREW_REPOSITORY/Library/Taps" "$PWD/Library" @@ -28,11 +38,30 @@ jobs: brew update-reset Library/Taps/homebrew/homebrew-core # Install taps needed for 'brew tests' + export HOMEBREW_NO_AUTO_UPDATE=1 brew tap homebrew/cask brew tap homebrew/bundle brew tap homebrew/services fi + - name: Run brew config + run: | + export PATH="/home/linuxbrew/.linuxbrew/bin:/usr/local/bin:/usr/bin:/bin" + brew config + + - name: Run brew doctor + run: | + if [ "$RUNNER_OS" = "Linux" ]; then + export PATH="/home/linuxbrew/.linuxbrew/bin:/usr/bin:/bin" + + # Cleanup some Linux `brew doctor` failures + sudo rm -rf /usr/local/include/node/ + else + # Allow Xcode to be outdated + export HOMEBREW_GITHUB_ACTIONS=1 + fi + brew doctor + - name: Install Bundler RubyGems run: | export PATH="/home/linuxbrew/.linuxbrew/bin:/usr/local/bin:/usr/bin:/bin" diff --git a/Library/Homebrew/brew.sh b/Library/Homebrew/brew.sh index aaaa934589..cfa77283c0 100644 --- a/Library/Homebrew/brew.sh +++ b/Library/Homebrew/brew.sh @@ -77,8 +77,8 @@ HOMEBREW_VERSION="$(git -C "$HOMEBREW_REPOSITORY" describe --tags --dirty --abbr HOMEBREW_USER_AGENT_VERSION="$HOMEBREW_VERSION" if [[ -z "$HOMEBREW_VERSION" ]] then - HOMEBREW_VERSION=">=1.7.1 (shallow or no git repository)" - HOMEBREW_USER_AGENT_VERSION="1.X.Y" + HOMEBREW_VERSION=">=2.2.0 (shallow or no git repository)" + HOMEBREW_USER_AGENT_VERSION="2.X.Y" fi if [[ "$HOMEBREW_PREFIX" = "/" || "$HOMEBREW_PREFIX" = "/usr" ]] diff --git a/Library/Homebrew/test/dev-cmd/test_spec.rb b/Library/Homebrew/test/dev-cmd/test_spec.rb index 26f45c4218..866230a703 100644 --- a/Library/Homebrew/test/dev-cmd/test_spec.rb +++ b/Library/Homebrew/test/dev-cmd/test_spec.rb @@ -6,7 +6,8 @@ describe "Homebrew.test_args" do it_behaves_like "parseable arguments" end -describe "brew test", :integration_test do +# randomly segfaults on Linux with portable-ruby. +describe "brew test", :integration_test, :needs_macos do it "tests a given Formula" do install_test_formula "testball", <<~'RUBY' test do