Merge pull request #9415 from MikeMcQuaid/consolidate_macos_tests

workflows/tests: consolidate macOS tests.
This commit is contained in:
Mike McQuaid 2020-12-07 11:50:10 +00:00 committed by GitHub
commit fa2f991b38
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -43,17 +43,8 @@ jobs:
hadolint Dockerfile hadolint Dockerfile
tap-syntax: tap-syntax:
name: ${{ matrix.name }} name: tap syntax (Linux)
runs-on: ${{ matrix.os }} runs-on: ubuntu-latest
strategy:
matrix:
include:
- name: tap syntax (Linux)
os: ubuntu-latest
core-tap: linuxbrew-core
- name: tap syntax (macOS)
os: macos-latest
core-tap: homebrew-core
steps: steps:
- name: Set up Homebrew - name: Set up Homebrew
id: set-up-homebrew id: set-up-homebrew
@ -61,10 +52,6 @@ jobs:
- run: brew test-bot --only-cleanup-before - 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 - run: brew config
- name: Cache Bundler RubyGems - name: Cache Bundler RubyGems
@ -86,63 +73,23 @@ jobs:
brew update-test --to-tag brew update-test --to-tag
brew update-test --commit=HEAD brew update-test --commit=HEAD
- name: Set up all Homebrew taps
if: runner.os == 'macOS'
run: |
brew tap homebrew/cask
brew tap homebrew/cask-drivers
brew tap homebrew/cask-fonts
brew tap homebrew/cask-versions
brew update-reset Library/Taps/homebrew/homebrew-bundle \
Library/Taps/homebrew/homebrew-cask \
Library/Taps/homebrew/homebrew-cask-versions \
Library/Taps/homebrew/homebrew-services
- name: Run brew readall on all taps - name: Run brew readall on all taps
run: brew readall --aliases run: brew readall --aliases
- name: Run brew style on ${{ matrix.core-tap }} - name: Run brew style on linuxbrew-core
run: brew style --display-cop-names homebrew/core run: brew style --display-cop-names homebrew/core
- name: Run brew style on official taps
if: runner.os == 'macOS'
run: |
brew style --display-cop-names homebrew/bundle \
homebrew/services \
homebrew/test-bot
- name: Run brew style on cask taps
if: runner.os == 'macOS'
run: |
brew style --display-cop-names homebrew/cask \
homebrew/cask-drivers \
homebrew/cask-fonts \
homebrew/cask-versions
- name: Run brew audit --skip-style on all taps - name: Run brew audit --skip-style on all taps
run: brew audit --skip-style run: brew audit --skip-style
vendored-gems: vendored-gems:
name: ${{ matrix.name }} name: vendored gems (Linux)
runs-on: ${{ matrix.os }} runs-on: ubuntu-latest
strategy:
matrix:
include:
- name: vendored gems (Linux)
os: ubuntu-latest
core-tap: linuxbrew-core
- name: vendored gems (macOS)
os: macos-11.0
core-tap: homebrew-core
steps: steps:
- name: Set up Homebrew - name: Set up Homebrew
id: set-up-homebrew id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master uses: Homebrew/actions/setup-homebrew@master
- name: Set up Xcode
if: matrix.os == 'macos-11.0'
run: sudo xcode-select --switch /Applications/Xcode_12.2.app/Contents/Developer
- name: Configure Git user - name: Configure Git user
uses: Homebrew/actions/git-user-config@master uses: Homebrew/actions/git-user-config@master
with: with:
@ -180,39 +127,21 @@ jobs:
tests: tests:
name: ${{ matrix.name }} name: ${{ matrix.name }}
runs-on: ${{ matrix.os }} runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
include: include:
- name: tests (no-compatibility mode) - name: tests (no-compatibility mode)
os: ubuntu-latest
test-flags: --no-compat --online --coverage test-flags: --no-compat --online --coverage
- name: tests (generic OS) - name: tests (generic OS)
os: ubuntu-latest
test-flags: --generic --online --coverage test-flags: --generic --online --coverage
- name: tests (Linux) - name: tests (Linux)
os: ubuntu-latest
test-flags: --online --coverage
- name: tests (macOS)
os: macos-11.0
test-flags: --online --coverage test-flags: --online --coverage
steps: steps:
- name: Set up Homebrew - name: Set up Homebrew
id: set-up-homebrew id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master uses: Homebrew/actions/setup-homebrew@master
- name: Set up Xcode
if: matrix.os == 'macos-11.0'
run: sudo xcode-select --switch /Applications/Xcode_12.2.app/Contents/Developer
- name: Install brew tests dependencies
if: runner.os == 'macOS'
run: |
brew install subversion
Library/Homebrew/shims/scm/svn --homebrew=print-path
which svn
which svnadmin
- name: Cache Bundler RubyGems - name: Cache Bundler RubyGems
uses: actions/cache@v1 uses: actions/cache@v1
with: with:
@ -225,42 +154,105 @@ jobs:
- name: Run brew tests - name: Run brew tests
run: | run: |
if ${{ runner.os == 'Linux' }}; then # brew tests doesn't like world writable directories
# brew tests doesn't like world writable directories sudo chmod -R g-w,o-w /home/linuxbrew/.linuxbrew/Homebrew
sudo chmod -R g-w,o-w /home/linuxbrew/.linuxbrew/Homebrew
elif ${{ runner.os == 'macOS' }}; then
# These cannot be queried at the macOS level on GitHub Actions.
export HOMEBREW_LANGUAGES='en-GB'
fi
if ${{ contains(matrix.test-flags, '--coverage') }}; then
# Set variables for coverage reporting.
export HOMEBREW_CODECOV_TOKEN='3ea0364c-80ce-47a3-9fba-93a940d4b5d7'
fi
brew tests ${{ matrix.test-flags }} brew tests ${{ matrix.test-flags }}
env: env:
HOMEBREW_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} HOMEBREW_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
HOMEBREW_CODECOV_TOKEN: 3ea0364c-80ce-47a3-9fba-93a940d4b5d7
test-default-formula: test-default-formula-linux:
name: ${{ matrix.name }} name: test default formula (Linux)
runs-on: ${{ matrix.os }} runs-on: ubuntu-latest
strategy: steps:
matrix: - name: Set up Homebrew
include: id: set-up-homebrew
- name: test default formula (Linux) uses: Homebrew/actions/setup-homebrew@master
os: ubuntu-latest
- name: test default formula (macOS) - run: brew test-bot --only-cleanup-before
os: macos-latest
- run: brew test-bot --only-formulae --test-default-formula
test-everything:
name: test everything (macOS)
runs-on: macos-11.0
steps: steps:
- name: Set up Homebrew - name: Set up Homebrew
id: set-up-homebrew id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master uses: Homebrew/actions/setup-homebrew@master
- name: Set up Xcode - name: Set up Xcode
if: matrix.os == 'macos-11.0'
run: sudo xcode-select --switch /Applications/Xcode_12.2.app/Contents/Developer run: sudo xcode-select --switch /Applications/Xcode_12.2.app/Contents/Developer
- run: brew test-bot --only-cleanup-before - run: brew test-bot --only-cleanup-before
- run: brew config
# Can't cache this because we need to check that it doesn't fail the
# "uncommitted RubyGems" step with a cold cache.
- name: Install Bundler RubyGems
run: brew install-bundler-gems
- name: Check for uncommitted RubyGems
run: git diff --stat --exit-code Library/Homebrew/vendor/bundle/ruby
- run: brew doctor
- name: Run brew update-tests
if: github.event_name == 'pull_request'
run: |
brew update-test
brew update-test --to-tag
brew update-test --commit=HEAD
- name: Set up all Homebrew taps
run: |
brew tap homebrew/cask
brew tap homebrew/cask-drivers
brew tap homebrew/cask-fonts
brew tap homebrew/cask-versions
brew update-reset Library/Taps/homebrew/homebrew-bundle \
Library/Taps/homebrew/homebrew-cask \
Library/Taps/homebrew/homebrew-cask-versions \
Library/Taps/homebrew/homebrew-services
- name: Run brew readall on all taps
run: brew readall --aliases
- name: Run brew style on homebrew-core
run: brew style --display-cop-names homebrew/core
- name: Run brew style on official taps
run: |
brew style --display-cop-names homebrew/bundle \
homebrew/services \
homebrew/test-bot
- name: Run brew style on cask taps
run: |
brew style --display-cop-names homebrew/cask \
homebrew/cask-drivers \
homebrew/cask-fonts \
homebrew/cask-versions
- name: Run brew audit --skip-style on all taps
run: brew audit --skip-style
- name: Install brew tests dependencies
run: |
brew install subversion
Library/Homebrew/shims/scm/svn --homebrew=print-path
which svn
which svnadmin
- name: Run brew tests
run: brew tests --online --coverage
env:
HOMEBREW_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Set variables for coverage reporting.
HOMEBREW_CODECOV_TOKEN: 3ea0364c-80ce-47a3-9fba-93a940d4b5d7
# These cannot be queried at the macOS level on GitHub Actions.
HOMEBREW_LANGUAGES: en-GB
- run: brew test-bot --only-formulae --test-default-formula - run: brew test-bot --only-formulae --test-default-formula