blob: a231aae9d1ead977238bfe1c7a8cbfa0d3ac3faa [file] [edit]
name: CI - Ruby
on:
workflow_call:
inputs:
smoke:
description: Run smoke tests only (callers pass false to run the full matrix)
required: false
type: boolean
default: true
workflow_dispatch:
inputs:
smoke:
description: Run smoke tests only
required: false
type: boolean
default: false
permissions:
contents: read
jobs:
lint:
name: Lint
uses: ./.github/workflows/bazel.yml
with:
name: Lint
run: ./go rb:lint
# jruby is run on RBE; minimum MRI is run by os-tests. This matrix
# covers truffleruby and the most recent MRI release.
unit-tests:
name: Unit Tests
if: github.event_name == 'schedule' || !inputs.smoke
uses: ./.github/workflows/bazel.yml
strategy:
fail-fast: false
matrix:
include:
- ruby-version: 4.0.4
os: ubuntu
- ruby-version: truffleruby-34.0.1
os: ubuntu
with:
name: Unit Tests (${{ matrix.ruby-version }}, ${{ matrix.os }})
os: ${{ matrix.os }}
ruby-version: ${{ matrix.ruby-version }}
rerun-with-debug: true
run: >
bazel test
--keep_going
--test_size_filters small
//rb/...
smoke:
name: ${{ matrix.os }}-smoke
if: github.event_name != 'schedule' && inputs.smoke
uses: ./.github/workflows/bazel.yml
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu
- os: windows
- os: macos
with:
name: ${{ matrix.os }}
needs-display: true
os: ${{ matrix.os }}
rerun-with-debug: true
download-artifact-name: targets
run: >
[ -s bazel-targets-rb.txt ] || echo //rb/... > bazel-targets-rb.txt;
./scripts/github-actions/bazel-test-if-targets.sh
--keep_going
--flaky_test_attempts 2
--local_test_jobs 1
--skip_incompatible_explicit_targets
--pin_browsers=false
--test_env=SE_FORCE_BROWSER_DOWNLOAD=true
--test_env=SE_SKIP_DRIVER_IN_PATH=true
--test_env=SKIP_PENDING=true
--test_tag_filters=unit,os-sensitive,se-manager,skip-rbe
--target_pattern_file=bazel-targets-rb.txt
os-tests-full:
name: ${{ matrix.os }}-full
if: github.event_name == 'schedule' || !inputs.smoke
uses: ./.github/workflows/bazel.yml
strategy:
fail-fast: false
matrix:
os: [windows]
tag_filters: [chrome-beta, firefox-beta, "edge-local,edge-bidi"]
include:
- os: macos
tag_filters: safari-local,safari-preview-bidi
with:
name: (${{ matrix.tag_filters }})
needs-display: true
safari-preview: ${{ contains(matrix.tag_filters, 'safari-preview') }}
os: ${{ matrix.os }}
rerun-with-debug: true
run: >
bazel test
--keep_going
--flaky_test_attempts 2
--local_test_jobs 1
--pin_browsers=false
--test_env=SE_FORCE_BROWSER_DOWNLOAD=true
--test_env=SE_SKIP_DRIVER_IN_PATH=true
--test_size_filters large
--test_tag_filters=${{ matrix.tag_filters }}
//rb/...