tests: speed up non-push/merge group cases. #1735
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: master | |
pull_request: | |
jobs: | |
rspec: | |
strategy: | |
matrix: | |
include: | |
- os: macOS | |
runner: macOS-latest | |
- os: Linux | |
runner: ubuntu-latest | |
name: RSpec (${{ matrix.os }}) | |
runs-on: ${{ matrix.runner }} | |
steps: | |
- name: Set up Homebrew | |
id: set-up-homebrew | |
uses: Homebrew/actions/setup-homebrew@master | |
- name: Cache Homebrew Bundler RubyGems | |
id: cache | |
uses: actions/cache@v1 | |
with: | |
path: ${{ steps.set-up-homebrew.outputs.gems-path }} | |
key: ${{ runner.os }}-rubygems-${{ steps.set-up-homebrew.outputs.gems-hash }} | |
restore-keys: ${{ runner.os }}-rubygems- | |
- name: Install Homebrew Bundler RubyGems | |
if: steps.cache.outputs.cache-hit != 'true' | |
run: brew install-bundler-gems | |
- run: brew test-bot --only-cleanup-before | |
- run: brew test-bot --only-setup | |
- name: Set up Ruby | |
if: runner.os == 'Linux' | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "2.6" | |
bundler-cache: true | |
- name: Install Homebrew/homebrew-test-bot RubyGems | |
if: runner.os == 'macOS' | |
run: bundle install --jobs 4 --retry 3 | |
- name: Run Homebrew/homebrew-test-bot RSpec tests | |
run: bundle exec rspec | |
tests: | |
permissions: | |
contents: read | |
strategy: | |
matrix: | |
include: | |
- os: macOS | |
runner: macOS-latest | |
- os: Linux | |
runner: ubuntu-latest | |
workdir: /github/home | |
container: | |
image: ghcr.io/homebrew/ubuntu22.04:master | |
options: --user=linuxbrew | |
name: ${{ matrix.os }} | |
runs-on: ${{ matrix.runner }} | |
container: ${{ matrix.container }} | |
defaults: | |
run: | |
shell: bash | |
working-directory: ${{ matrix.workdir || github.workspace }} | |
steps: | |
- name: Set up Homebrew | |
id: set-up-homebrew | |
uses: Homebrew/actions/setup-homebrew@master | |
- name: Cache Homebrew Bundler RubyGems | |
id: cache | |
uses: actions/cache@v1 | |
with: | |
path: ${{ steps.set-up-homebrew.outputs.gems-path }} | |
key: ${{ runner.os }}-rubygems-${{ steps.set-up-homebrew.outputs.gems-hash }} | |
restore-keys: ${{ runner.os }}-rubygems- | |
- name: Install Homebrew Bundler RubyGems | |
if: steps.cache.outputs.cache-hit != 'true' | |
run: brew install-bundler-gems | |
- run: brew test-bot --only-cleanup-before | |
- run: brew test-bot --only-setup | |
- run: brew test-bot --only-tap-syntax | |
- run: brew test-bot --only-formulae-detect --test-default-formula | |
id: formulae-detect | |
- id: brew-test-bot-formulae | |
run: | | |
brew test-bot \ | |
--only-formulae \ | |
--junit \ | |
--only-json-tab \ | |
--skip-dependents \ | |
--testing-formulae=${{ steps.formulae-detect.outputs.testing_formulae }} | |
env: | |
HOMEBREW_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- run: | | |
brew test-bot --only-formulae-dependents --junit \ | |
--testing-formulae=${{ steps.formulae-detect.outputs.testing_formulae }} \ | |
--skipped-or-failed-formulae=${{ steps.brew-test-bot-formulae.outputs.skipped_or_failed_formulae }} | |
- name: Output brew test-bot failures | |
run: | | |
cat steps_output.txt | |
rm steps_output.txt | |
- name: Output brew bottle output | |
run: | | |
cat bottle_output.txt | |
rm bottle_output.txt | |
- run: brew test-bot --only-cleanup-after | |
- run: rm -rvf *.bottle*.{json,tar.gz} | |
- run: brew test-bot --only-setup --dry-run | |
- run: brew test-bot testbottest --only-formulae --dry-run |