Merge pull request #9415 from MikeMcQuaid/consolidate_macos_tests
workflows/tests: consolidate macOS tests.
This commit is contained in:
commit
fa2f991b38
188
.github/workflows/tests.yml
vendored
188
.github/workflows/tests.yml
vendored
@ -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
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user