mirror of
https://github.com/SeleniumHQ/selenium.git
synced 2026-03-29 06:30:33 +00:00
138 lines
3.3 KiB
YAML
138 lines
3.3 KiB
YAML
name: CI - Ruby
|
|
|
|
on:
|
|
workflow_call:
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
build:
|
|
name: Build
|
|
uses: ./.github/workflows/bazel.yml
|
|
with:
|
|
name: Build
|
|
run: bazel build //rb:selenium-devtools //rb:selenium-webdriver
|
|
|
|
docs:
|
|
name: Documentation
|
|
needs: build
|
|
uses: ./.github/workflows/bazel.yml
|
|
with:
|
|
name: Documentation
|
|
run: bazel run //rb:docs
|
|
|
|
steep-check:
|
|
name: Type Check (Steep)
|
|
needs: build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install system dependencies
|
|
run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev
|
|
|
|
- name: Set up Ruby
|
|
uses: ruby/setup-ruby@v1
|
|
with:
|
|
ruby-version: 3.2.8
|
|
bundler-cache: true
|
|
working-directory: rb
|
|
|
|
- name: Install RBS collection
|
|
working-directory: rb
|
|
run: bundle exec rbs collection install
|
|
|
|
- name: Run Steep type check
|
|
working-directory: rb
|
|
run: bundle exec rake steep 2>/dev/null || (bundle exec rake steep && exit 1)
|
|
|
|
unit-tests:
|
|
name: Unit Tests
|
|
needs: build
|
|
uses: ./.github/workflows/bazel.yml
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- ruby-version: 3.2.8
|
|
os: ubuntu
|
|
- ruby-version: 3.2.8
|
|
os: windows
|
|
- ruby-version: 3.2.8
|
|
os: macos
|
|
- ruby-version: 3.4.3
|
|
os: ubuntu
|
|
- ruby-version: jruby-10.0.0.0
|
|
os: ubuntu
|
|
- ruby-version: truffleruby-24.2.1
|
|
os: ubuntu
|
|
with:
|
|
name: Unit Tests (${{ matrix.ruby-version }}, ${{ matrix.os }})
|
|
os: ${{ matrix.os }}
|
|
ruby-version: ${{ matrix.ruby-version }}
|
|
run: >
|
|
bazel test
|
|
--keep_going
|
|
--build_tests_only
|
|
--test_size_filters small
|
|
//rb/spec/...
|
|
|
|
integration-tests-local:
|
|
name: Local Tests
|
|
needs: build
|
|
uses: ./.github/workflows/bazel.yml
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
browser:
|
|
- chrome
|
|
- edge
|
|
- firefox
|
|
os:
|
|
- windows
|
|
- macos
|
|
exclude:
|
|
- browser: edge
|
|
os: macos
|
|
with:
|
|
name: Local Tests (${{ matrix.browser }}, ${{ matrix.os }})
|
|
browser: ${{ matrix.browser }}
|
|
os: ${{ matrix.os }}
|
|
run: >
|
|
bazel test
|
|
--keep_going
|
|
--build_tests_only
|
|
--flaky_test_attempts 3
|
|
--local_test_jobs 1
|
|
--test_size_filters large
|
|
--test_tag_filters ${{ matrix.browser }}
|
|
//rb/spec/...
|
|
|
|
integration-tests-remote:
|
|
name: Remote Tests
|
|
needs: build
|
|
uses: ./.github/workflows/bazel.yml
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- browser: edge
|
|
os: macos
|
|
with:
|
|
name: Remote Tests (${{ matrix.browser }}, ${{ matrix.os }})
|
|
browser: ${{ matrix.browser }}
|
|
os: ${{ matrix.os }}
|
|
java-version: 17
|
|
run: >
|
|
bazel test
|
|
--keep_going
|
|
--build_tests_only
|
|
--flaky_test_attempts 3
|
|
--local_test_jobs 1
|
|
--test_size_filters large
|
|
--test_tag_filters ${{ matrix.browser }}-remote
|
|
//rb/spec/...
|